@charset "UTF-8";
.bg-primary {
  background-color: var(--theme-color, #29318a);
}

.btn-primary {
  --bs-btn-bg: var(--theme-color, #29318a);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-secondary {
  background-color: #867439;
}

.btn-secondary {
  --bs-btn-bg: #867439;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-light {
  background-color: #f8f7f3;
}

.btn-light {
  --bs-btn-bg: #f8f7f3;
}

.bg-dark {
  background-color: #000;
}

.btn-dark {
  --bs-btn-bg: #000;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-white {
  background-color: #fff;
}

.btn-white {
  --bs-btn-bg: #fff;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-orange {
  background-color: #dd5e25;
}

.btn-orange {
  --bs-btn-bg: #dd5e25;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-gold {
  background-color: #ad9a5c;
}

.btn-gold {
  --bs-btn-bg: #ad9a5c;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

h1 {
  font-size: 4.8rem;
}

.fs-1 {
  font-size: 4.8rem;
}

h2 {
  font-size: 4.2rem;
}

.fs-2 {
  font-size: 4.2rem;
}

h3 {
  font-size: 3.6rem;
}

.fs-3 {
  font-size: 3.6rem;
}

h4 {
  font-size: 3.2rem;
}

.fs-4 {
  font-size: 3.2rem;
}

h5 {
  font-size: 2.8rem;
}

.fs-5 {
  font-size: 2.8rem;
}

h6 {
  font-size: 2.4rem;
}

.fs-6 {
  font-size: 2.4rem;
}

html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: auto !important;
}

body {
  position: relative;
  overflow-x: hidden;
  background-color: #f7f7f7;
  color: #000;
  letter-spacing: 0;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
}
body.lower {
  background-color: #242424;
}

.dark {
  --btn-border-color: #fff;
  --btn-hover-bg-color: #fff;
  --btn-hover-text-color: #262017;
  --btn-text-color: #fff;
  --link-color: #fff;
  --text-color: #fff;
}
.dark * {
  color: var(--text-color, #262017);
}

@media (max-width: 1300px) {
  html {
    font-size: 0.7692307692vw;
  }
}
* {
  color: var(--text-color, #000);
  letter-spacing: 0.07em;
}

em {
  font-style: normal;
}

p {
  line-height: 1.875;
}
p:last-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}

address {
  font-style: normal;
}

ul, ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

dl, dt, dd {
  margin-bottom: 0;
}

figure {
  margin-bottom: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.img-border {
  border: 1px solid #ccc;
}

.img-fluid {
  width: var(--width-pc) !important;
}

iframe {
  vertical-align: bottom;
}

.hr-01 {
  border-top: 5px solid #707070;
  border-bottom: none;
  opacity: 1;
}

a {
  color: var(--text-color, #000);
  text-decoration: none;
}
a:hover {
  color: inherit;
}

[data-link]:hover {
  text-decoration: none;
}

[data-link=banner] {
  display: block;
  font-size: 1rem;
  line-height: 1;
}

.link-primary {
  display: inline-block;
  --bs-link-color-rgb: 140, 59, 59;
}
.link-underline {
  text-decoration: underline;
}
.link-external {
  gap: 0 0.36em;
  text-decoration: underline;
}
.link-external::before {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><g fill='%236B1B7E'><path d='M19.05 8.53c-.36 0-.65.29-.65.65v11.51H1.31V3.59h11.5c.36 0 .65-.29.65-.65 0-.36-.29-.65-.65-.66H.65c-.36 0-.65.29-.65.65v18.41c0 .36.29.65.65.65h18.4c.36 0 .65-.29.65-.65V9.18c0-.36-.29-.65-.65-.65'/><path d='M21.35 0h-5.98c-.36 0-.65.29-.65.65 0 .36.29.65.65.65h4.4L9.4 11.68c-.26.26-.26.67 0 .93s.67.26.92 0L20.69 2.23v4.4c0 .36.3.65.66.65.36 0 .65-.29.65-.65V.65c0-.36-.29-.66-.65-.66'/></g></svg>");
  background-size: contain;
  background-repeat: no-repeat;
}

.list-dot {
  list-style-type: none;
}
.list-dot li {
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.875;
}
.list-dot li::before {
  content: "・";
}
.list-circle li {
  margin-left: 1em;
  text-indent: -1em;
}
.list-circle li::before {
  content: "●";
}
.list-note {
  list-style-type: none;
}
.list-note li {
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}
.list-note li::before {
  content: "※";
}
.list-note.sm {
  font-size: 1.4rem;
}
.list-note.msm {
  font-size: 1.3rem;
}
.list-note.xsm {
  font-size: 1.2rem;
}
.list-num {
  padding-left: 1.5em;
  list-style-type: decimal;
}
.list-num li {
  line-height: 1.875;
}

.video-wrap {
  width: 100%;
  aspect-ratio: 16/9;
}
.video-wrap video {
  width: 100%;
  height: 100%;
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

#pageTop {
  width: 5.4rem;
  height: 4rem;
  position: fixed;
  right: 2.2rem;
  bottom: 4.8rem;
  z-index: 9;
  display: block;
  visibility: hidden;
  background-color: #29318a;
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
#pageTop::before {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: calc(50% - 0.25rem);
  left: calc(50% - 0.5rem);
  display: block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-45deg);
}
#pageTop.is-active {
  visibility: visible;
  opacity: 1;
}

.bg-primary {
  background-color: var(--theme-color, #29318a) !important;
  --text-color: #fff;
}
.bg-01 {
  background-color: #f7f7f7;
}
.bg-02 {
  background-color: #333;
}
.bg-wh {
  background-color: #fff;
}

.bg-obj > * {
  position: absolute;
  z-index: -1;
  opacity: 0.15;
}

.js-modal__trigger:hover {
  cursor: pointer;
}

.js-bg-layer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
}
.js-bg-layer.is-show {
  visibility: visible;
  opacity: 1;
}

.wp-25 {
  width: 25%;
}
.wp-50 {
  width: 50%;
}

.mw-100 {
  max-width: 100% !important;
}

.container.w-sm {
  max-width: 86.4rem;
}
.container.w-md {
  max-width: 112rem;
}

.link-ext01 {
  display: inline-flex;
  gap: 0.5em;
  align-items: center;
}
.link-ext01::after {
  content: "";
  width: 1em;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 12"><path d="M2 0h12v10H2Zm11 1H3v8h10Z"/><path d="M9.5 12H0V4.5h1V11h8.5Z"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}

.text-serif {
  font-family: "Noto Serif JP", serif;
}
.text-en {
  font-family: "degular", sans-serif;
}
.text-unset {
  font-family: initial;
}
.text-center {
  text-align: center;
}
.text-end {
  text-align: right;
}
.text-bold {
  font-weight: 700;
}
.text-white {
  color: #fff !important;
  --bs-link-color: #fff;
  --bs-link-hover-color: #fff;
  --text-color: #fff;
}
.text-white .fill {
  fill: #fff;
}
.text-secondary {
  color: #8e7244;
}
.text-black {
  color: #000;
}
.text-primary {
  color: #29318a;
}
.text-md {
  font-size: 1.8rem;
}
.text-sm {
  font-size: 1.4rem;
}

.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.fw-700 {
  font-weight: 700;
}

.ls-0 {
  letter-spacing: 0;
}
.ls-lg {
  letter-spacing: 0.2em;
}

.tags {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.tags .date {
  display: block;
  color: var(--theme-color, #29318a);
  font-size: 1.8rem;
}
.tags .tag {
  padding: 0.5rem 2rem;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
}

.d-flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .tabOnly {
    display: none !important;
  }
}
@media screen and (max-width: 575px) {
  .spOnly {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .text-md-center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 2.5641025641vw;
  }
  body {
    font-size: 1.6rem;
  }
  .img-fluid {
    width: var(--width-sp) !important;
  }
  .mt-lg {
    margin-top: 6rem !important;
  }
  .mt-md {
    margin-top: 4rem !important;
  }
  .mt-sm {
    margin-top: 3rem !important;
  }
  .mb-lg {
    margin-bottom: 6rem !important;
  }
  .mb-md {
    margin-bottom: 4rem !important;
  }
  .mb-sm {
    margin-bottom: 3rem !important;
  }
  .mx-sp-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .text-sp-center {
    text-align: center;
  }
  .list-note.msm {
    font-size: 1.2rem;
  }
  .list-note.sm {
    font-size: 1.2rem;
  }
  #pageTop {
    right: 1.2rem;
    bottom: 4rem;
  }
}
.header {
  width: 100%;
  background-color: #000;
}
.header__inner {
  height: 9rem;
  padding: 2rem 4rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__title {
  margin: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1rem;
  line-height: 1;
}
.header__title--logo {
  width: 9.6rem;
  display: block;
}
.header__title--logo img {
  filter: brightness(1) invert(1);
}
.header__title--sub {
  margin-left: 2.4rem;
  color: #fff;
  font-family: "degular", sans-serif;
  font-weight: 600;
  font-size: 2rem;
}
.header__navi .has-child > a {
  display: inline-flex;
  gap: 0.8rem;
  align-items: center;
}
.header__navi .has-child > a::after {
  content: "";
  width: 0.6rem;
  display: inline-block;
  border-right: 2px solid #8f91a2;
  border-bottom: 2px solid #8f91a2;
  transform: rotate(45deg);
  aspect-ratio: 1;
}
.header__buttons {
  margin-left: auto;
  display: flex;
  gap: 1.8rem;
}
.header__button {
  width: 21rem;
  height: 4.5rem;
  position: relative;
  display: flex;
  gap: 0 0.8rem;
  align-items: center;
  justify-content: center;
  border-radius: 2.25rem;
  background-color: #29318a;
  font-weight: 700;
  font-size: 1.4rem;
}
.header__button.download {
  background-color: #eaeaea;
}
.header__button.contact {
  --text-color: #fff;
}
.header__hamburger {
  width: 3.4rem;
  height: 3.4rem;
  padding: 0;
  position: relative;
  z-index: 2;
  display: none;
  gap: 0.6rem 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: none;
}
.header__hamburger .inner {
  width: 100%;
  height: 2.6rem;
  margin: 0 auto;
  position: relative;
  display: block;
}
.header__hamburger .inner > span {
  width: 100%;
  height: 2px;
  position: absolute;
  right: 0;
  background-color: #000;
  transition: all 0.3s;
}
.header__hamburger .inner > span:nth-child(1) {
  top: 0;
}
.header__hamburger .inner > span:nth-child(2) {
  top: calc(50% - 1px);
}
.header__hamburger .inner > span:nth-child(3) {
  top: calc(100% - 2px);
}
.header__hamburger.is-open .inner > span:nth-child(1) {
  width: 100%;
  top: 50%;
  transform: rotate(45deg);
}
.header__hamburger.is-open .inner > span:nth-child(2) {
  width: 0;
  opacity: 0;
}
.header__hamburger.is-open .inner > span:nth-child(3) {
  top: 50%;
  transform: rotate(-45deg);
}

@media screen and (min-width: 769px) {
  .header__navi {
    display: flex;
    gap: 2rem 0;
    flex-direction: column-reverse;
  }
  .header__navi--main {
    display: flex;
    gap: 0 2.4rem;
  }
  .header__navi--main > ul {
    display: flex;
    align-items: center;
  }
  .header__navi--menu01 {
    gap: 0 2.4rem;
  }
  .header__navi--menu02 li {
    position: relative;
  }
  .header__navi--menu02 li + li {
    margin-left: 1rem;
    padding-left: 1rem;
  }
  .header__navi--menu02 li + li::before {
    content: "";
    width: 1px;
    height: 50%;
    position: absolute;
    top: 25%;
    left: 0;
    background-color: #ccc;
  }
  .header__navi--child {
    width: 100%;
    padding-top: 5rem;
    padding-bottom: 5rem;
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    background-color: #fff;
  }
  .header__navi--child.is-show {
    display: block;
  }
  .header__navi--child .inner {
    display: grid;
    gap: 0 5rem;
    grid-template-columns: auto 66rem;
  }
  .header__navi--child .link-hl {
    display: inline-flex;
    gap: 0 5rem;
    align-items: flex-end;
  }
  .header__navi--child .link-list {
    margin-top: 8rem;
  }
  .header__navi--child .link-list li + li {
    margin-top: 1em;
  }
  .header__navi--child .heading__01 {
    margin-bottom: 0;
  }
  .header__navi--child .arrow__01 {
    margin-bottom: 0.3em;
  }
  .header__navi--child .navi-area {
    padding-top: 2rem;
  }
  .header__navi--child .child-navi {
    display: grid;
  }
  .header__navi--child .child-navi.col2 {
    gap: 4.5rem 0;
    grid-template-columns: repeat(2, 1fr);
  }
  .header__navi--child .child-navi.col2 li {
    padding-bottom: 2rem;
    border-bottom: 1px solid #d3d3d3;
  }
  .header__navi--child .child-navi.col3 {
    gap: 4.5rem 6rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .header__navi--child .child-navi.col3 a {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    justify-content: space-between;
  }
  .header__navi--child .child-navi.col3 a::after {
    content: "";
    width: 0.6rem;
    display: inline-block;
    border-right: 2px solid #8f91a2;
    border-bottom: 2px solid #8f91a2;
    transform: rotate(-45deg);
    aspect-ratio: 1;
  }
  .header__navi--child .child-navi-item {
    padding-right: 4rem;
    display: grid;
    gap: 0 2rem;
    grid-template-columns: 13.8rem auto;
  }
  .header__navi--child .child-navi .image {
    overflow: hidden;
    border-radius: 0.5rem;
    aspect-ratio: 1/0.652;
  }
  .header__navi--child .child-navi .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .header__navi--child .child-navi .text {
    margin: auto 0;
  }
  .header__navi--child .child-navi .title {
    font-size: 1.4rem;
  }
  .header__navi--child .child-navi .sentence {
    margin-top: 1em;
    font-size: 1.1rem;
    --text-color: #838383;
  }
}
@media screen and (max-width: 768px) {
  .header__inner {
    height: 7.1rem;
    padding: 1rem 1.6rem;
  }
  .header__title--logo {
    width: 6.4rem;
  }
  .header__title--logo img {
    width: 6.4rem;
  }
  .header__title--sub {
    font-size: 1.4rem;
  }
  .header__navi {
    width: 100%;
    height: 100dvh;
    padding: 7.8rem 1.6rem 4.5rem;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    background-color: #fff;
  }
  .header__navi--main {
    font-size: 1.8rem;
  }
  .header__navi--main ul {
    border-top: 1px solid #ccc;
  }
  .header__navi--main li {
    padding: 1.6rem 0.8rem;
    border-bottom: 1px solid #ccc;
  }
  .header__navi--sub .sub-menu {
    padding: 1.6rem 0.8rem;
    border-bottom: 1px solid #ccc;
    font-size: 1.8rem;
  }
  .header__buttons {
    gap: 2.5rem 0;
    align-items: center;
    flex-direction: column;
  }
  .header__button {
    width: 22rem;
    height: 6.2rem;
    border-radius: 3.1rem;
    font-size: 1.8rem;
  }
  .header__hamburger {
    display: flex;
    flex: none;
  }
}
.footer {
  padding: 3.2rem 0;
  background-color: #f7f7f7;
}
.footer__area01 > div {
  display: flex;
  justify-content: space-between;
}
.footer__navi {
  width: 42.1%;
}
.footer__navi--main {
  display: grid;
  gap: 0 12rem;
  grid-template-columns: repeat(3, 1fr);
}
.footer__navi--main li + li {
  margin-top: 0.5em;
}
.footer__navi--main a {
  white-space: nowrap;
  letter-spacing: 0.04em;
  line-height: 1.75em;
}
.footer__navi--block dt {
  letter-spacing: 0.04em;
  font-family: "degular", sans-serif;
  font-weight: 600;
  line-height: 1;
}
.footer__navi--block dd {
  margin-top: 2.4rem;
}
.footer__navi--sub {
  margin-top: 4rem;
  display: flex;
  gap: 0 1.6rem;
  font-size: 1.2rem;
}
.footer__letter {
  width: 37.5%;
}
.footer__letter dt {
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1;
}
.footer__letter dd {
  margin-top: 1em;
  letter-spacing: 0.04em;
  line-height: 1.75em;
}
.footer__letter--input {
  margin-right: 8rem;
  position: relative;
}
.footer__letter--input input {
  width: 100%;
  margin: 1rem 0 1.6rem;
  padding: 1.2rem 2em 1.2rem 1em;
  display: block;
  border: 1px solid #ddd;
  background-color: #fff;
  line-height: 1;
}
.footer__letter--input button {
  margin-top: -1.2rem;
  position: absolute;
  top: 50%;
  right: 1.6rem;
}
.footer__sns {
  display: flex;
  gap: 0 1.6rem;
}
.footer__copyRight p {
  color: #444;
  text-align: center;
  letter-spacing: 0.04em;
  font-family: "degular", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 3.2rem 0;
  }
  .footer__area01 > div {
    display: block;
  }
  .footer__navi {
    width: 100%;
    font-size: 1.4rem;
  }
  .footer__navi--main {
    gap: 0 2rem;
  }
  .footer__navi--block dd {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
  .footer__navi--sub {
    margin-top: 3.2rem;
    gap: 1em;
    flex-wrap: wrap;
  }
  .footer__letter {
    width: 100%;
    margin-top: 3.2rem;
  }
  .footer__letter dd {
    margin-top: 0.5rem;
  }
  .footer__letter dd p {
    font-size: 1.2rem;
  }
  .footer__letter--input {
    margin-right: 1rem;
  }
  .footer__letter--input input {
    margin: 1rem 0;
  }
  .footer__copyRight p {
    font-size: 1rem;
  }
}
.main {
  padding-top: 2.4rem;
  position: relative;
}
.main__block {
  margin-bottom: 4rem;
}
.main__block[class*=bg-] {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.main__container {
  max-width: 118rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 5rem;
  padding-left: 5rem;
}
.main__container + .main__container {
  margin-top: 6.4rem;
}
.main__container.full {
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
}
.main__inner--container {
  max-width: 118rem;
  margin: 0 auto;
  padding: 8rem 5rem;
}
.main__headline {
  width: 100%;
  height: 30rem;
  display: flex;
}
.main__headline--text {
  width: 56.2rem;
  height: 100%;
  position: relative;
  background-color: var(--theme-color, #29318a);
}
.main__headline--text::after {
  content: "";
  width: 15rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: calc(100% - 0.1rem);
  z-index: 1;
  background-color: #261f88;
  clip-path: polygon(0 0, 100% 0%, 0 100%);
}
.main__headline--title {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 3.4rem;
}
.main__headline--image {
  width: 100%;
  height: 100%;
  position: relative;
  background-color: var(--theme-color, #29318a);
}
.main__headline--image::after {
  content: "";
  width: 15rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: calc(100% - 0.1rem);
  z-index: 1;
  background-color: #261f88;
  clip-path: polygon(0 0, 100% 0%, 0 100%);
}
.main__headline--title {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.4rem;
}
.main__headline--image {
  width: 100%;
  height: 100%;
}
.main__headline--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main__lead {
  text-align: center;
}
.main__lead--title {
  margin-bottom: 1.2em;
  color: #ccbc9d;
  font-size: 3.2rem;
  line-height: 1.875;
}
.main__lead--text p {
  letter-spacing: 0.2em;
  line-height: 2;
}

.common__contact {
  margin-bottom: 16rem;
  padding-top: 20rem;
  position: relative;
  z-index: 1;
  background: url(../../images/common/contact_bg.jpg) no-repeat top center/cover;
}
.common__contact::before {
  content: "";
  width: 100%;
  height: 20rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: linear-gradient(-180deg, #171717 0%, rgba(0, 0, 0, 0) 50%);
}
.common__contact .heading__01 {
  margin-bottom: 7rem;
}
.common__contact .heading__01--label {
  margin-bottom: -0.3em;
  letter-spacing: 0.06em;
  font-size: 19.6rem;
  opacity: 0.1;
}
.common__contact--grid {
  padding-bottom: 7rem;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.common__contact--info {
  text-align: center;
}
.common__contact--info:not(:first-child) {
  margin-top: 6rem;
}
.common__contact--info dt {
  margin-bottom: 2rem;
  letter-spacing: 0.2em;
  font-size: 1.8rem;
}
.common__contact--info dd {
  font-size: 1.4rem;
}
.common__contact--info dd p {
  letter-spacing: 0.2em;
}
.common__contact--info .btn__01 {
  width: 45rem;
  height: 6rem;
  gap: 0 0.6rem;
  font-size: 1.8rem;
}
.common__contact--phone {
  display: inline-flex;
  gap: 1.6rem;
  align-items: center;
  letter-spacing: 0.2em;
  font-weight: 500;
  font-size: 4.8rem;
  line-height: 1;
}
.common__contact--hours {
  margin-top: 2rem;
}
.common__contact--visual {
  width: 80.6rem;
  position: absolute;
  bottom: -8rem;
  left: 50%;
}
.common__navi {
  max-width: 94rem;
  margin: 0 auto;
  display: flex;
  gap: 3.6rem;
  flex-wrap: wrap;
  justify-content: center;
}
.common__navi > li {
  width: 20.8rem;
}
.common__navi--item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.8rem solid rgba(33, 20, 12, 0.16);
  aspect-ratio: 1/0.784;
}
.common__navi--item .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.common__navi--item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.common__navi--item .image::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(33, 20, 12, 0.35);
}
.common__navi--item .text {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
}
.common__navi--item .text dt {
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: 1.4rem;
}
.common__navi--item .text dd {
  font-size: 2rem;
}
.common__navi--note {
  margin-top: 8rem;
}
.common__navi--note p {
  letter-spacing: 0.2em;
  font-size: 1.4rem;
  line-height: 1.4285714286;
}

.lower .common__contact::before {
  background: linear-gradient(-180deg, #242424 0%, rgba(36, 36, 36, 0) 50%);
}

@media screen and (min-width: 769px) {
  .common__navi--item .image img {
    transition: transform 0.3s;
  }
  .common__navi--item:hover .image img {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 768px) {
  .main__block[class*=bg-] {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .main__container {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
  .main__container + .main__container {
    margin-top: 3.2rem;
  }
  .main__inner--container {
    margin-top: 3.2rem;
    padding: 4.8rem 1.6rem;
  }
  .main__headline {
    height: 14rem;
  }
  .main__headline--text {
    width: 50%;
  }
  .main__headline--text::after {
    width: 8rem;
  }
  .main__headline--title .title {
    font-size: 2rem;
  }
  .main__headline--title .label {
    font-size: 1rem;
  }
  .main__pageNavi {
    padding: 0.5rem 0;
  }
  .main__pageNavi .main__container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .main__pageNavi--menu {
    flex-direction: column;
  }
  .main__pageNavi--menu li {
    padding: 1.5rem 1em;
    text-align: center;
  }
  .main__pageNavi--menu li + li {
    border-top: 1px solid #fff;
  }
  .main__pageNavi--menu li + li::before {
    content: none;
  }
  .main__lead {
    font-size: 1.6rem;
  }
  .main__lead.v02 {
    font-size: 1.8rem;
  }
  .common__reservation01 .heading__03 {
    font-size: 2.4rem;
  }
  .common__reservation01--list {
    margin-top: 3.8rem;
    grid-template-columns: 1fr;
  }
  .common__reservation01--list li + li {
    margin-top: 4rem;
    padding-top: 4rem;
    border-top: 1px solid #dec190;
    border-left: none;
  }
  .common__reservation01--list p {
    font-size: 1.6rem;
  }
  .common__reservation01--list .btn__01 {
    margin-top: 2rem;
  }
  .common__reservation01--freeDial dd a {
    font-size: 2rem;
  }
  .common__reservation01--freeDial dd a span {
    font-size: 3.2rem;
  }
  .common__reservation01--freeDial dd a .sm {
    font-size: 1.6rem;
  }
  .common__reservation02 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .common__reservation02--inner {
    display: block;
  }
  .common__reservation02--content {
    display: block;
  }
  .common__reservation02--title {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    font-size: 2.6rem;
  }
  .common__reservation02--tel {
    margin-bottom: 2rem;
    display: inline-block;
    font-size: 2rem;
  }
  .common__reservation02--tel span {
    font-size: 1.3rem;
  }
  .common__reservation02 .btn__01 {
    margin-top: 3rem;
  }
  .common__reservation02 + .breadcrumbs {
    margin-top: -7rem;
  }
  .common__reservation02.v02 .common__reservation02--content {
    width: 100%;
  }
}
.breadcrumbs {
  padding: 1rem 0;
  font-size: 1.4rem;
}
.breadcrumbs__inner {
  display: flex;
  gap: 0.25em 0.5em;
  flex-wrap: wrap;
}

.btn__01 {
  width: 23.4rem;
  min-width: fit-content;
  max-width: 100%;
  height: 6rem;
  margin-top: 3rem;
  padding-right: 1.6rem;
  padding-bottom: 0.25em;
  padding-left: 2.5rem;
  position: relative;
  display: flex;
  gap: 0 1em;
  align-items: center;
  border-radius: 3rem;
  background-color: var(--btn-bg-color, #f5f5f5);
  color: var(--btn-text-color, #0e1346);
}
.btn__01:hover {
  color: var(--btn-text-color, #0e1346);
}
.btn__01.next::after {
  content: "";
  width: 3.2rem;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  flex: none;
  justify-content: center;
  border-radius: 50%;
  background-color: #29318a;
  background-image: url("data: image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.5 7.36'><path fill='%23fff' d='M7.35 3.33h0L4.17.15c-.2-.2-.51-.2-.71 0s-.2.51 0 .71l2.33 2.33H0v1h5.79L3.46 6.52c-.2.2-.2.51 0 .71.2.2.51.2.71 0l3.18-3.18c.2-.2.2-.51 0-.71Z'/></svg>");
  background-position: center;
  background-size: 0.8rem auto;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.btn__02 {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}
.btn__02.under::before {
  content: "";
  width: 1.5rem;
  height: 1.3rem;
  margin-top: 1rem;
  background-image: url("data: image/svg+xml,<svg width='13' height='8' viewBox='0 0 13 8' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M11.6838 -5.75351e-08L13 1.34583L6.5 8L-5.88283e-08 1.34583L1.31625 -5.10713e-07L6.5 5.30417L11.6838 -5.75351e-08Z' fill='%23261F88'/></svg>");
}
.btn__02.prev::before {
  content: "";
  width: 1.5rem;
  height: 1.3rem;
  background-image: url("data: image/svg+xml,<svg width='8' height='13' viewBox='0 0 8 13' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8 1.31625L6.65417 0L0 6.5L6.65417 13L8 11.6838L2.69583 6.5L8 1.31625Z' fill='%23261F88'/></svg>");
  background-size: 0.8rem;
}
.btn__02.next::after {
  content: "";
  width: 1.5rem;
  height: 1.3rem;
  background-image: url("data: image/svg+xml,<svg width='8' height='13' viewBox='0 0 8 13' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 1.31625L1.34583 0L8 6.5L1.34583 13L0 11.6838L5.30417 6.5L0 1.31625Z' fill='%23261F88'/></svg>");
  background-size: 0.8rem;
}
.btn__03 {
  padding: 1.3rem 2.4rem;
  display: inline-block;
  border: 1px solid #000;
  border-radius: 0.6rem;
  background-color: #fff;
  letter-spacing: 0.04em;
  font-weight: 400;
  line-height: 1;
  transition: opacity 0.3s;
}
.btn__03:hover {
  opacity: 0.75;
}
.btn__03.back {
  padding: 1.7rem 1.4rem;
}
.btn__03.back span {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.btn__03.back span::before {
  content: "";
  width: 0.4rem;
  height: 0.8rem;
  background: url(../../images/common/arrow_left.svg) no-repeat center/contain;
}
.btn__grid {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  justify-content: center;
}
.btn__grid.left {
  justify-content: left;
}
.btn__grid.right {
  justify-content: right;
}
.btn__grid.between {
  justify-content: space-between;
}
.btn__selectbox {
  margin-bottom: 5rem;
}
.btn__selectbox--label {
  position: relative;
  display: inline-flex;
  align-items: center;
  border: 1.3px solid #ccc;
}
.btn__selectbox--label select {
  min-width: 23rem;
  height: 4rem;
  padding: 0.4em calc(0.8em + 30px) 0.4em 0.8em;
  border: 1px solid #d0d0d0;
  background-color: #fff;
  color: #333;
  font-size: 1.8rem;
}
.btn__selectbox--label::before {
  content: "";
  width: 3.9rem;
  height: 3.9rem;
  position: absolute;
  right: 0;
  background-color: var(--theme-color, #29318a);
  pointer-events: none;
}
.btn__selectbox--label::after {
  content: "";
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 1rem;
  background-image: url("data:image/svg+xml,<svg width='23' height='14' viewBox='0 0 23 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M20.5446 0.65625L22.75 2.81169L11.8594 13.4687L0.96875 2.81169L3.1741 0.656249L11.8594 9.1512L20.5446 0.65625Z' fill='white'/></svg>");
  pointer-events: none;
}

.link[target=_blank] {
  display: inline-flex;
  gap: 0 0.4rem;
  align-items: center;
}
.link[target=_blank]::after {
  content: "";
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml,<svg viewBox='0 0 15 15' xmlns='http://www.w3.org/2000/svg'><path fill='%23333333' d='M12 6.615C11.8011 6.615 11.6103 6.69402 11.4697 6.83467C11.329 6.97532 11.25 7.16609 11.25 7.365V12.75C11.25 12.9489 11.171 13.1397 11.0303 13.2803C10.8897 13.421 10.6989 13.5 10.5 13.5H2.25C2.05109 13.5 1.86032 13.421 1.71967 13.2803C1.57902 13.1397 1.5 12.9489 1.5 12.75V4.5C1.5 4.30109 1.57902 4.11032 1.71967 3.96967C1.86032 3.82902 2.05109 3.75 2.25 3.75H7.635C7.83391 3.75 8.02468 3.67098 8.16533 3.53033C8.30598 3.38968 8.385 3.19891 8.385 3C8.385 2.80109 8.30598 2.61032 8.16533 2.46967C8.02468 2.32902 7.83391 2.25 7.635 2.25H2.25C1.65326 2.25 1.08097 2.48705 0.65901 2.90901C0.237053 3.33097 0 3.90326 0 4.5V12.75C0 13.3467 0.237053 13.919 0.65901 14.341C1.08097 14.7629 1.65326 15 2.25 15H10.5C11.0967 15 11.669 14.7629 12.091 14.341C12.5129 13.919 12.75 13.3467 12.75 12.75V7.365C12.75 7.16609 12.671 6.97532 12.5303 6.83467C12.3897 6.69402 12.1989 6.615 12 6.615ZM14.94 0.465C14.8639 0.281738 14.7183 0.136106 14.535 0.0599999C14.4448 0.0215692 14.348 0.00118499 14.25 0H9.75C9.55109 0 9.36032 0.0790176 9.21967 0.21967C9.07902 0.360322 9 0.551088 9 0.75C9 0.948912 9.07902 1.13968 9.21967 1.28033C9.36032 1.42098 9.55109 1.5 9.75 1.5H12.4425L4.7175 9.2175C4.6472 9.28722 4.59141 9.37017 4.55333 9.46157C4.51525 9.55296 4.49565 9.65099 4.49565 9.75C4.49565 9.84901 4.51525 9.94704 4.55333 10.0384C4.59141 10.1298 4.6472 10.2128 4.7175 10.2825C4.78722 10.3528 4.87017 10.4086 4.96157 10.4467C5.05296 10.4847 5.15099 10.5043 5.25 10.5043C5.34901 10.5043 5.44704 10.4847 5.53843 10.4467C5.62983 10.4086 5.71278 10.3528 5.7825 10.2825L13.5 2.5575V5.25C13.5 5.44891 13.579 5.63968 13.7197 5.78033C13.8603 5.92098 14.0511 6 14.25 6C14.4489 6 14.6397 5.92098 14.7803 5.78033C14.921 5.63968 15 5.44891 15 5.25V0.75C14.9988 0.651992 14.9784 0.555167 14.94 0.465Z'/></svg>");
}

.arrow__01 {
  width: 3.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #29318a;
  aspect-ratio: 1;
}
.arrow__01 .icon {
  width: 0.8rem;
}

@media screen and (min-width: 769px) {
  .btn__01 {
    transition: opacity 0.3s;
  }
  .btn__01:hover {
    opacity: 0.75;
  }
}
@media screen and (max-width: 768px) {
  .btn__01 {
    margin-top: 3.2rem;
    font-size: 1.6rem;
  }
  .btn__03 {
    padding: 1em 1.5em;
    white-space: nowrap;
    font-size: 1rem;
  }
  .btn__03.back {
    padding: 1.4rem 1.6rem;
  }
  .btn__grid {
    flex-direction: column;
  }
  .btn__grid.left {
    align-items: flex-start;
  }
  .btn__grid.sp-row {
    flex-direction: row;
  }
}
.heading__01 {
  margin-bottom: 6.4rem;
}
.heading__01 > span {
  display: block;
}
.heading__01--label {
  color: #9c9fbe;
  letter-spacing: 0.07em;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.5384615385;
}
.heading__01--main {
  color: var(--text-color, #0e1346);
  letter-spacing: 0.07em;
  font-weight: 500;
  font-size: 3.3rem;
}
.heading__01 + .heading__lead {
  margin-top: -1.6rem;
  margin-bottom: 6rem;
}
.heading__02 {
  margin-bottom: 2.5rem;
  font-weight: 600;
  font-size: 2.6rem;
}
.heading__02.is-border {
  padding-bottom: 1rem;
  border-bottom: 3px solid #29318a;
}
.heading__02.is-column {
  display: flex;
  gap: 1rem;
  flex-direction: column;
}
.heading__02 .note {
  font-size: 1.8rem;
}
.heading__03 {
  margin-bottom: 1rem;
  font-size: 2.2rem;
  line-height: 1;
}
.heading__03--main {
  color: var(--text-color, #29318a);
  font-weight: 600;
}
.heading__lead {
  margin-bottom: 4.8rem;
  text-align: center;
}
.heading__lead p {
  letter-spacing: 0.2em;
  line-height: 2.25;
}

@media screen and (max-width: 768px) {
  .heading__01 {
    margin-bottom: 2.4rem;
  }
  .heading__01--label {
    font-size: 4.6rem;
  }
  .heading__01--main {
    font-size: 1.8rem;
  }
  .heading__02--main {
    font-size: 2rem;
  }
  .heading__02 .note {
    font-size: 1.4rem;
  }
}
.navi__01--list {
  display: flex;
  gap: 3rem;
  align-items: center;
  justify-content: center;
}
.navi__01--item {
  width: 100%;
  min-width: fit-content;
  max-width: 17rem;
}
.navi__01 a {
  width: 100%;
  max-width: 100%;
  height: 6rem;
  padding: 0 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #29318a;
  border-radius: 3rem;
  background-color: #fff;
  font-weight: 700;
}
.navi__01 a.is-active {
  background-color: var(--theme-color, #29318a);
  color: #fff;
  pointer-events: none;
}
.navi__02--list {
  display: flex;
  gap: 5rem;
  justify-content: center;
}
.navi__02--item {
  width: 17rem;
  max-width: 100%;
  padding: 1.5rem 0;
  position: relative;
  background-color: #ccc;
  color: #fff;
  text-align: center;
  font-weight: 600;
}
.navi__02--item + .navi__02--item::before {
  content: "";
  width: 1rem;
  height: 2rem;
  position: absolute;
  top: calc(50% - 0.5rem);
  left: -3rem;
  background-image: url("data: image/svg+xml,<svg width='11' height='18' viewBox='0 0 11 18' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 1.8225L1.85052 0L11 9L1.85052 18L0 16.1775L7.29323 9L0 1.8225Z' fill='%23333333'/></svg>");
  background-size: 1rem;
}
.navi__02--item.is-active {
  background-color: #333;
}
.navi__02--item .title {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-direction: column;
}
.navi__02--item .tag {
  padding: 0.3rem 0.6rem;
  background-color: #29318a;
  color: #fff;
  line-height: 1.5;
}
.navi__03--list {
  display: flex;
  gap: 4rem;
}
.navi__03--item {
  width: 27rem;
  height: 20rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: var(--theme-color, #29318a);
  --text-color: #fff;
}
.navi__03--item::after {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  bottom: 2rem;
  display: inline-block;
  border-bottom: 2px solid;
  border-left: 2px solid;
  transform: rotate(-45deg);
}
.navi__03 .anchor {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.navi__03 .image {
  height: 9.7rem;
}
.navi__03 img {
  width: 100%;
  flex: none;
}
.navi__03 .title {
  font-weight: 700;
  font-size: 2.4rem;
}

.breadcrumbs {
  margin-bottom: 7rem;
}
.breadcrumbs .item + .item::before {
  content: "＞";
}

.pager__archive {
  margin-top: 4rem;
}
.pager__archive--total {
  margin-bottom: 1.5em;
  text-align: center;
  font-weight: 700;
}
.pager__archive--inner {
  display: flex;
  gap: 0 2.5rem;
  align-items: center;
  justify-content: center;
}
.pager__archive .page-numbers {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ccc;
  color: #fff;
  font-family: "Trajan Pro", serif;
  font-size: 1.8rem;
}
.pager__archive .page-numbers.dots {
  margin: 0 -1.5rem;
}
.pager__archive .page-numbers.current {
  background-color: var(--theme-color, #29318a);
  font-weight: 700;
}
.pager__archive .page-numbers.prev, .pager__archive .page-numbers.next {
  width: 1rem;
  height: 2rem;
  background: url("data: image/svg+xml,<svg width='8' height='13' viewBox='0 0 8 13' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 1.31625L1.34583 0L8 6.5L1.34583 13L0 11.6838L5.30417 6.5L0 1.31625Z' fill='%23261F88'/></svg>") no-repeat center/contain;
}
.pager__archive .page-numbers.prev {
  transform: scaleX(-1);
}

@media screen and (max-width: 768px) {
  .navi__01--list {
    display: grid;
    gap: 1rem !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .navi__01--item {
    font-size: 1.4rem;
  }
  .navi__01 a {
    height: 5rem;
    padding: 0 2rem;
  }
  .navi__02--list {
    gap: 3rem;
  }
  .navi__02--item {
    font-size: 1.4rem;
  }
  .navi__02--item + .navi__02--item::before {
    left: -2rem;
  }
  .navi__02.sp-column .navi__02--list {
    gap: 1rem;
    flex-direction: column;
  }
  .navi__02.sp-column .navi__02--item {
    width: 100%;
    display: grid;
    gap: 4rem;
    grid-template-columns: 40% 1fr;
    align-items: left;
  }
  .navi__02.sp-column .navi__02--item .image {
    justify-content: end;
  }
  .navi__02.sp-column .navi__02--item + .navi__02--item::before {
    top: calc(50% - 7.5rem);
    left: calc(50% - 0.5rem);
    transform: rotate(90deg);
  }
  .navi__02.sp-column .title {
    gap: 0;
    align-items: start;
    justify-content: center;
    flex-direction: column-reverse;
  }
  .navi__03--list {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
    flex-direction: column;
  }
  .navi__03--item {
    width: 100%;
    height: 15rem;
  }
  .navi__03--item::after {
    bottom: 1rem;
  }
  .navi__03 .anchor {
    gap: 1rem;
  }
  .navi__03 .title {
    font-size: 1.8rem;
    line-height: 1.2;
  }
  .navi__03 .image {
    height: 5rem;
  }
  .breadcrumbs {
    margin-bottom: 6.4rem;
  }
}
.module__01 {
  display: flex;
  gap: 6rem;
}
.module__01 p + p {
  margin-top: 2rem;
}
.module__01--visual {
  padding: 2rem 1.6rem;
  flex: none;
  background-color: #fff;
  text-align: center;
}
.module__01 .title {
  margin-bottom: 1rem;
  color: var(--theme-color, #29318a);
  font-weight: 600;
  font-size: 2.4rem;
}
.module__01 .note {
  margin-top: 2rem;
}
.module__01 .image {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.module__01.is-reverse {
  flex-direction: row-reverse;
}
.module__02 {
  display: flex;
  gap: 6rem;
}
.module__02 .image {
  margin-top: 2rem;
}

.common__01--grid {
  margin: 0 auto;
  display: flex;
  gap: 7rem;
  align-items: center;
  justify-content: space-between;
}
.common__01--grid.is-reverse {
  flex-direction: row-reverse;
}
.common__01--visual {
  display: flex;
  gap: 5rem;
}
.common__02--content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.common__02--content .title {
  color: #29318a;
  font-weight: 600;
  font-size: 2.2rem;
}
.common__02--content .sentence {
  margin-top: 2.5rem;
}
.common__02--button {
  margin-top: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.common__02--button .title {
  color: #29318a;
  font-weight: 700;
  font-size: 2.4rem;
}
.common__02--button .text {
  margin-top: 1rem;
}
.common__02--button .btn__01 {
  margin-top: 2rem;
}

.grid {
  display: grid;
}
.grid.col2 {
  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}
.grid.col3 {
  gap: 4rem;
  grid-template-columns: repeat(3, 1fr);
}
.grid-card.col2 {
  gap: 4rem 4rem;
}
.grid-card.col3 {
  gap: 4rem 5rem;
}

.banner-item {
  display: block;
}
.banner-item img {
  width: 100%;
}
.banner-item.border {
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--theme-color, #29318a);
}

.card__01 {
  display: block;
  background-color: #fff;
}
.card__01--image {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.681;
}
.card__01--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card__01--body {
  padding: 3rem;
}
.card__01--title {
  margin-bottom: 2rem;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
}
.card__01--title::after {
  content: "";
  width: 5rem;
  height: 3px;
  margin: 1rem auto;
  display: block;
  background-color: var(--theme-color, #29318a);
}
.card__01--title:last-child {
  margin-bottom: 0;
}
.card__01[href] img {
  transition: transform 0.3s;
}
.card__01[href]:hover {
  opacity: 1;
}
.card__01[href]:hover img {
  transform: scale(1.1);
}

.gallery__01 {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
}
.gallery__01--item {
  aspect-ratio: 1/0.668;
}
.gallery__01--item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery__01 .item1 {
  grid-area: 1/1/3/3;
}
.gallery__01 .item2 {
  grid-area: 1/3/2/4;
}
.gallery__01 .item3 {
  grid-area: 1/4/2/5;
}
.gallery__01 .item4 {
  grid-area: 2/3/3/4;
}
.gallery__01 .item5 {
  grid-area: 2/4/3/5;
}
.gallery__01 .item6 {
  grid-area: 3/1/4/2;
}
.gallery__01 .item7 {
  grid-area: 3/2/4/3;
}
.gallery__01 .item8 {
  grid-area: 3/3/4/4;
}
.gallery__01 .item9 {
  grid-area: 3/4/4/5;
}
.gallery__02 {
  display: grid;
  gap: 4rem;
  grid-template-columns: 1fr 1fr;
}
.gallery__02--item {
  aspect-ratio: 1/0.714;
}
.gallery__02--item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery__03--item {
  display: block;
}
.gallery__03--item > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery__03--item.is-map {
  aspect-ratio: 1/0.345;
}
.gallery__03--title {
  margin-top: 4rem;
  color: var(--theme-color, #29318a);
  letter-spacing: 0;
  font-size: 2.4rem;
  line-height: 1.4583333333;
}
.gallery__03--text {
  margin-top: 2rem;
}

.tags__01 {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.tags__01 .tag {
  padding: 0 2rem;
  display: inline-block;
  border-radius: 1.5rem;
  background-color: var(--theme-color, #29318a);
  color: #fff;
  font-size: 1.4rem;
  line-height: 3rem;
}

@media screen and (max-width: 768px) {
  .module__01 {
    gap: 3rem;
    flex-direction: column-reverse;
  }
  .module__01.is-reverse {
    flex-direction: column-reverse;
  }
  .module__02 {
    flex-direction: column;
  }
  .common__01--grid {
    flex-direction: column;
  }
  .common__02 .sentence p + p {
    margin-top: 2rem;
  }
}
.js-slider01-control .swiper-navigation {
  display: flex;
  gap: 0 5rem;
  align-items: center;
  justify-content: center;
}
.js-slider01-control .swiper-button {
  height: auto;
  margin: 0;
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  transform: none;
}
.js-slider01-control .swiper-button::after {
  color: #000;
  font-size: 2rem;
}
.js-slider01-control .swiper-pause {
  width: 2rem;
  height: 2rem;
  position: relative;
  display: flex;
  gap: 0 0.4rem;
  align-items: center;
  justify-content: center;
}
.js-slider01-control .swiper-pause::before, .js-slider01-control .swiper-pause::after {
  content: "";
  width: 0.4rem;
  height: 100%;
  background-color: var(--theme-color, #29318a);
}
.js-slider01-control .swiper-pause.paused::before {
  width: 2rem;
  height: 1rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.js-slider01-control .swiper-pause.paused::after {
  display: none;
}

.slider__01--card .pic {
  margin-bottom: 1.6rem;
  display: block;
  overflow: hidden;
  aspect-ratio: 296/400;
}
.slider__01--card .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider__01--card .pic.asp-auto {
  aspect-ratio: auto;
}
.slider__01--card .tag {
  padding: 0 0.8rem;
  display: inline-block;
  border-radius: 0.3rem;
  background-color: var(--theme-color, #29318a);
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
}
.slider__01--card .tag + .name {
  margin-top: 0.8rem;
}
.slider__01--card .name {
  font-weight: 500;
  line-height: 1.75;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  white-space: wrap;
  -webkit-line-clamp: 2;
}
.slider__01 .swiper {
  overflow: visible !important;
}
.slider__01 .swiper-wrapper {
  height: auto;
}
.slider__01 .swiper-slide {
  width: 29.6rem;
}
.slider__01--control {
  margin-top: 8rem;
  padding: 2rem 0;
}
.slider__02--card .pic {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.5;
}
.slider__02--card .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider__02 .swiper {
  overflow: visible !important;
}
.slider__02 .swiper-wrapper {
  height: auto;
}
.slider__02 .swiper-slide {
  width: 83.2rem;
}
.slider__02--control {
  margin-top: 4rem;
}
.slider__03--card .pic {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.68;
}
.slider__03--card .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider__03--card .pic + p {
  margin-top: 2.4rem;
}
.slider__03 .swiper {
  overflow: visible !important;
}
.slider__03 .swiper-wrapper {
  height: auto;
}
.slider__03 .swiper-slide {
  width: 36rem;
}
.slider__03--control {
  margin-top: 10rem;
}

@media screen and (min-width: 769px) {
  .slider__01 {
    position: relative;
  }
  .slider__01 .btn__01 {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .slider__01--control {
    margin-top: 2.5rem;
    padding: 0;
  }
  .slider__01 .btn__01 {
    margin-top: 4rem;
  }
  .slider__02 .swiper-slide {
    width: 100%;
  }
  .slider__02--control {
    margin-top: 3.5rem;
  }
}
.table__01--content {
  display: grid;
  grid-template-columns: 25rem 1fr;
}
.table__01--head, .table__01--detail {
  padding: 2.5rem;
}
.table__01--head {
  margin-bottom: -0.1rem;
  border-bottom: 2px solid var(--theme-color, #29318a);
  text-align: center;
  font-weight: 600;
}
.table__01--detail {
  border-bottom: 1px solid #ccc;
}
.table__02--content {
  width: 100%;
}
.table__02--head--detail {
  font-weight: 600;
}
.table__02--head th {
  padding: 1.4rem 0;
}
.table__02--head th + th {
  border-left: 1px solid #fff;
}
.table__02--title {
  margin-bottom: -0.1rem;
  border-bottom: 2px solid var(--theme-color, #29318a);
  text-align: center;
}
.table__02--item {
  padding: 2.5rem;
  border-bottom: 1px solid #ccc;
}
.table__03--content {
  width: 100%;
}
.table__03--head--detail {
  font-weight: 600;
}
.table__03--head th {
  padding: 1.4rem 0;
}
.table__03--head th + th {
  border-left: 1px solid #fff;
}
.table__03--title {
  width: 20rem;
  max-width: 100%;
  margin-bottom: -0.1rem;
  padding: 0 1.5rem;
  text-align: center;
}
.table__03--item01, .table__03--item02 {
  background-color: var(--theme-color, #f7f7f7);
}
.table__03--item01 {
  padding: 2.5rem 3rem;
}
.table__03--item02 {
  width: 13rem;
  min-width: 100%;
  text-align: center;
}
.table__03--item02 a {
  color: var(--theme-color, #29318a);
}
.table__03 a {
  text-decoration: underline;
  word-break: break-word;
}

.list__01--list {
  display: grid;
  gap: 0 4.5rem;
  grid-template-columns: repeat(3, 1fr);
}
.list__01--item {
  width: 100%;
  padding: 1.8rem;
  padding-left: 1rem;
  position: relative;
  border-bottom: 1px solid #ccc;
}
.list__01--item::after {
  content: "";
  width: 1rem;
  height: 1.4rem;
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 0;
  background-image: url("data: image/svg+xml,<svg width='8' height='13' viewBox='0 0 8 13' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 1.31625L1.34583 0L8 6.5L1.34583 13L0 11.6838L5.30417 6.5L0 1.31625Z' fill='%23261F88'/></svg>");
}
.list__02--list {
  display: grid;
  gap: 4.5rem;
  grid-template-columns: repeat(3, 1fr);
}
.list__02--item .title {
  margin-top: 0.5rem;
  color: var(--theme-color, #29318a);
  text-align: center;
  font-weight: 600;
  font-size: 2.2rem;
}
.list__02 .note {
  text-align: center;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .table__01--content {
    display: block;
  }
  .table__01--head {
    padding: 2rem 2rem 0 2rem;
    border-bottom: none;
    text-align: left;
  }
  .table__01--head:first-of-type {
    padding-top: 0;
  }
  .table__01--detail {
    padding: 1rem 2rem 2rem 2rem;
    border-bottom: none;
    border-bottom: 1px solid var(--theme-color, #29318a);
  }
  .table__01 .list-note {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
  .table__02 {
    margin-right: -2.5rem;
    padding-right: 2.5rem;
    overflow-x: scroll;
  }
  .table__02 table {
    width: 100rem;
  }
  .table__02.no-sp-scroll table {
    width: 100%;
  }
  .table__02.no-sp-scroll .table__02--body {
    display: flex;
    gap: 2rem;
    flex-direction: column;
  }
  .table__02.no-sp-scroll .table__02--detail {
    display: flex;
    flex-direction: column;
  }
  .table__02.no-sp-scroll .table__02--title, .table__02.no-sp-scroll .table__02--item {
    padding: 1rem;
    padding-left: calc(30% + 2rem);
    position: relative;
    font-size: 1.4rem;
  }
  .table__02.no-sp-scroll .table__02--title::before, .table__02.no-sp-scroll .table__02--item::before {
    content: attr(data-label);
    width: 30%;
    height: 100%;
    padding: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    border-top: 1px solid #fff;
    background-color: #333;
    color: #fff;
    font-weight: 700;
    font-size: 1.4rem;
  }
  .table__02.no-sp-scroll .table__02--title {
    border-bottom: 1px solid #ccc;
    text-align: start;
    font-weight: 500;
  }
  .table__03--detail {
    display: flex;
    flex-direction: column;
  }
  .table__03--detail + .table__03--detail {
    margin-top: 3rem;
  }
  .table__03--detail.space + .table__03--detail.space {
    margin-top: 0;
    border-top: 2px solid #fff;
  }
  .table__03--title {
    width: 100% !important;
    padding: 2rem 1rem;
  }
  .table__03--item02 {
    padding: 2rem 1rem;
    border-top: 2px solid #fff;
  }
  .list__01--list {
    grid-template-columns: 1fr;
  }
  .list__02--list {
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
*:focus {
  outline: none;
}

input::-webkit-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
input:-ms-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
input::-moz-placeholder {
  color: var(--placeholder-color, #ccc);
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

textarea {
  vertical-align: bottom;
}
textarea::-webkit-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea:-ms-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea::-moz-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

.c-form__box {
  margin-bottom: 0;
  display: flex;
  gap: 0 6rem;
  align-items: flex-start;
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Arial, メイリオ, Meiryo, sans-serif;
}
.c-form__box + .c-form__box {
  margin-top: 3.2rem;
}
.c-form__box.contact-item {
  width: 100%;
  padding: 4.4rem 4.2rem;
  gap: 4rem;
  flex-direction: column;
  background-color: #fff;
}
.c-form__box.contact-item .c-form__checkbox {
  padding: 1rem 2rem;
  border: 1px solid #ccc;
}
.c-form__box.contact-item .c-form__checkbox.is-active {
  background-color: #261f88;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  --text-color: #fff;
}
.c-form__box.contact-item .c-form__text {
  margin: 0 auto;
  padding: 1.5rem 2rem;
}
.c-form__box.contact-item .c-form__text.row {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  flex-wrap: wrap;
}
.c-form__box.contact-item .c-form__label {
  width: 100%;
  gap: 3rem;
  align-items: center;
  justify-content: start;
}
.c-form__label {
  width: 26rem;
  padding-top: 1rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  font-weight: 700;
  line-height: 1.5;
}
.c-form__label::after {
  content: "";
  width: 6rem;
  height: 4rem;
  display: inline-block;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  line-height: 4rem;
}
.c-form__label .title span {
  display: block;
}
.c-form__label .title .sub {
  color: var(--theme-color, #29318a);
}
.c-form__required::after {
  content: "必須";
  border: 1px solid #f00;
  color: #f00;
}
.c-form__optional::after {
  content: "任意";
}
.c-form__text {
  margin-bottom: 0;
  flex: 1;
}
.c-form__text .note {
  margin-top: 0.3em;
  letter-spacing: 0;
  font-size: 1.4rem;
}
.c-form__text.row {
  display: flex;
  gap: 1rem 2rem;
  align-items: center;
  flex-wrap: wrap;
}
.c-form__text .btn__01 {
  width: 15rem;
  height: 4rem;
  margin-top: 0;
  padding-bottom: 0;
}
.c-form__control {
  width: 100%;
  padding: 1.125em 1.25em;
  border: 1px solid #ccc;
  background-color: #fff;
  font-size: 1.6rem;
  line-height: 1.5;
}
.c-form__control.w-25 {
  width: 25%;
}
.c-form__select {
  background-image: url(../../images/arrow_bottom.svg);
  background-position: right 2rem center;
  background-size: 1.6rem;
  background-repeat: no-repeat;
  appearance: none;
}
.c-form__select::-ms-expand {
  display: none;
}
.c-form__checkbox {
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Arial, メイリオ, Meiryo, sans-serif;
}
.c-form__checkbox label {
  position: relative;
}
.c-form__checkbox label > span {
  display: inline-flex;
  align-items: center;
}
.c-form__checkbox input[type=checkbox] {
  display: none;
}
.c-form__checkbox input[type=checkbox] + span {
  display: inline-flex;
  text-align: left;
  line-height: 1.75;
}
.c-form__checkbox input[type=checkbox] + span::before {
  content: "";
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  display: inline-block;
  flex: none;
  border: 1px solid #ccc;
  background-color: #fff;
}
.c-form__checkbox input[type=checkbox] + span::after {
  content: "";
  width: 0.7em;
  height: 1em;
  position: absolute;
  top: -1rem;
  left: 0.5rem;
  display: block;
  border-right: 3px solid #29318a;
  border-bottom: 3px solid #29318a;
  opacity: 0;
  transform: rotate(40deg);
}
.c-form__checkbox input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.c-form__radio {
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Arial, メイリオ, Meiryo, sans-serif;
}
.c-form__radio label {
  position: relative;
}
.c-form__radio input[type=radio] {
  display: none;
}
.c-form__radio input[type=radio] + span {
  display: inline-flex;
  text-align: left;
  line-height: 1.75;
}
.c-form__radio input[type=radio] + span::before {
  content: "";
  width: 1.75em;
  height: 1.75em;
  margin-right: 1rem;
  display: inline-block;
  flex: none;
  border: 2px solid var(--primary-color, #000);
  border-radius: 50%;
}
.c-form__radio input[type=radio] + span::after {
  content: "";
  width: 0.75em;
  height: 0.75em;
  position: absolute;
  top: -0.3em;
  left: 0.5em;
  display: block;
  border-radius: 50%;
  background-color: var(--primary-color, #000);
  opacity: 0;
}
.c-form__radio input[type=radio]:checked + span::after {
  opacity: 1;
}
.c-form__textarea {
  height: 24rem;
}
.c-form__policy {
  padding-top: 5rem;
}
.c-form__policy p {
  margin-bottom: 1rem;
}
.c-form__policy .row {
  display: flex;
  gap: 6.5rem;
  align-items: center;
  justify-content: center;
}
.c-form__policy .item {
  position: relative;
}
.c-form__policy .item::after {
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 1px;
  right: -3rem;
  background-image: url("data: image/svg+xml,<svg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M13.3 19.0016H2.85C1.235 19.0016 0 17.7666 0 16.1516V5.70156C0 4.08656 1.235 2.85156 2.85 2.85156H8.55C9.12 2.85156 9.5 3.23156 9.5 3.80156C9.5 4.37156 9.12 4.75156 8.55 4.75156H2.85C2.28 4.75156 1.9 5.13156 1.9 5.70156V16.1516C1.9 16.7216 2.28 17.1016 2.85 17.1016H13.3C13.87 17.1016 14.25 16.7216 14.25 16.1516V10.4516C14.25 9.88156 14.63 9.50156 15.2 9.50156C15.77 9.50156 16.15 9.88156 16.15 10.4516V16.1516C16.15 17.7666 14.915 19.0016 13.3 19.0016Z' fill='%23333333'/><path d='M18.0504 7.6C17.4804 7.6 17.1004 7.22 17.1004 6.65V1.9H12.3504C11.7804 1.9 11.4004 1.52 11.4004 0.95C11.4004 0.38 11.7804 0 12.3504 0H18.0504C18.6204 0 19.0004 0.38 19.0004 0.95V6.65C19.0004 7.22 18.6204 7.6 18.0504 7.6Z' fill='%23333333'/><path d='M7.60039 12.35C7.31539 12.35 7.12539 12.255 6.93539 12.065C6.55539 11.685 6.55539 11.115 6.93539 10.735L17.3854 0.285C17.7654 -0.095 18.3354 -0.095 18.7154 0.285C19.0954 0.665 19.0954 1.235 18.7154 1.615L8.26539 12.065C8.07539 12.255 7.88539 12.35 7.60039 12.35Z' fill='%23333333'/></svg>");
}
.c-form__policy label {
  font-weight: 600;
}
.c-form__policy label a {
  text-decoration: underline;
}
.c-form__button {
  margin-top: 5.5rem;
}
.c-form__button.btn__grid {
  gap: 5rem;
}

@media screen and (max-width: 768px) {
  .c-form__box {
    gap: 1rem;
    flex-direction: column;
  }
  .c-form__box + .c-form__box {
    margin-top: 2.5rem;
  }
  .c-form__box.postal .row {
    align-items: start;
    flex-direction: column-reverse;
  }
  .c-form__box.contact-item {
    padding: 3rem 2rem;
    gap: 2rem;
  }
  .c-form__box.contact-item .c-form__text {
    padding: 0;
  }
  .c-form__box.contact-item .c-form__text.row {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
  .c-form__label {
    width: 100%;
  }
  .c-form__text {
    width: 100%;
  }
  .c-form__control {
    width: 100% !important;
  }
  .c-form__policy {
    padding-top: 3rem;
    text-align: left;
  }
  .c-form__policy .row {
    gap: 0;
    align-items: start;
    flex-direction: column;
  }
  .c-form__button.btn__grid {
    gap: 2rem;
  }
}
.home .main {
  padding-top: 0;
}
.home__hero {
  margin-bottom: 10rem;
  padding-top: 7rem;
  position: relative;
}
.home__hero--catch {
  max-width: 120rem;
  margin-bottom: -6rem;
}
.home__hero--catch .text01 {
  width: fit-content;
  background: url(../../images/home/mv_mask.jpg) no-repeat center/cover;
  -webkit-background-clip: text;
  color: rgba(0, 0, 0, 0);
  font-size: 4rem;
  line-height: 1.6;
}
.home__hero--copy {
  position: absolute;
  bottom: 0.1em;
  left: 50%;
  z-index: 2;
  overflow: hidden;
  font-weight: 300;
  font-size: 12.8rem;
  transform: translate(-50%, 0) rotate(-7.5deg);
  --text-color: #b8b9c4;
}
.home__hero--copy p {
  white-space: nowrap;
  line-height: 1.4;
}
.home__hero--visual {
  position: relative;
}
.home__hero .swiper-wrapper {
  height: 60rem;
  clip-path: polygon(0 30%, 100% 0%, 100% 70%, 0% 100%);
}
.home__hero .swiper-wrapper * {
  height: 100%;
}
.home__hero .slide-image img {
  width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home__hero .swiper-pagination {
  width: fit-content !important;
  position: absolute;
  top: -2rem;
  right: 4rem;
  bottom: auto !important;
  left: auto !important;
  font-size: 1rem;
  line-height: 0;
  transform: rotate(-7.5deg);
  --swiper-pagination-bullet-horizontal-gap: .75rem;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-theme-color: #261f88;
}
.home__hero .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  border: 1px solid #261f88;
}
.home__news--heading {
  margin-bottom: 3.2rem;
  padding-bottom: 2rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  border-bottom: 2px solid #bababa;
  font-size: 2.5rem;
  line-height: 2;
}
.home__news--more {
  display: inline-flex;
  gap: 2rem;
  align-items: center;
}
.home__product--list {
  counter-reset: count;
}
.home__product--list li {
  padding-bottom: 2rem;
  border-bottom: 1px solid #d3d3d3;
}
.home__product--list li .text {
  position: relative;
}
.home__product--item .image {
  overflow: hidden;
  border-radius: 0.5rem;
  aspect-ratio: 1/0.652;
}
.home__product--item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home__product--item .title {
  font-size: 1.4rem;
}
.home__product--item .sentence {
  margin-top: 1em;
  font-size: 1.1rem;
  --text-color: #838383;
}
.home__product--visual {
  height: 54rem;
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  flex: 1;
  border-radius: 1rem 0 0 1rem;
}
.home__product--visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home__download {
  padding-top: 6rem;
  padding-bottom: 6rem;
  position: relative;
  background: url(../../images/home/download_bg.jpg) no-repeat center/cover;
  --text-color: #fff;
}
.home__download::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #29318a;
  opacity: 0.75;
}
.home__download .btn__01 {
  width: 31.8rem;
}
.home__testing .main__container {
  max-width: 120rem;
}
.home__testing--link {
  padding: 2rem 2.8rem;
  position: relative;
  z-index: 2;
  display: block;
  overflow: hidden;
  border-radius: 0.5rem;
  aspect-ratio: 1/0.554;
  --text-color: #fff;
}
.home__testing--link .text {
  padding-bottom: 1rem;
  display: flex;
  border-bottom: 1px solid;
  font-size: 2rem;
  line-height: 1.6;
}
.home__testing--link .text::after {
  content: "";
  width: 3.2rem;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  flex: none;
  justify-content: center;
  border: 1px solid;
  border-radius: 50%;
  background-image: url("data: image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.5 7.36'><path fill='%23fff' d='M7.35 3.33h0L4.17.15c-.2-.2-.51-.2-.71 0s-.2.51 0 .71l2.33 2.33H0v1h5.79L3.46 6.52c-.2.2-.2.51 0 .71.2.2.51.2.71 0l3.18-3.18c.2-.2.2-.51 0-.71Z'/></svg>");
  background-position: center;
  background-size: 0.8rem auto;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.home__testing--link .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.home__testing--link .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home__testing--sentence {
  margin-top: 1em;
}
.home__about {
  position: relative;
  background: linear-gradient(108.08deg, #3c46b1 0.65%, #080c43 100%);
  --text-color: #fff;
}
.home__about::before {
  content: "";
  width: 53.8vw;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../../images/home/about_bg.png) no-repeat center/cover;
  aspect-ratio: 1;
}
.home__about--column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.home__about--text {
  padding: 6rem 0;
}
.home__about--sentence {
  max-width: 46.5rem;
}
.home__about--sentence p {
  line-height: 3;
}
.home__about--links {
  margin-top: 5rem;
  display: grid;
  gap: 3.5rem;
  grid-template-columns: 1fr 1fr;
}
.home__about--links .col1 {
  grid-column: 1/3;
}
.home__about--links a {
  padding-bottom: 2.8rem;
  display: flex;
  border-bottom: 1px solid;
  font-size: 2rem;
  line-height: 1.6;
}
.home__about--links a::after {
  content: "";
  width: 3.2rem;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  flex: none;
  justify-content: center;
  border: 1px solid;
  border-radius: 50%;
  background-image: url("data: image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.5 7.36'><path fill='%23fff' d='M7.35 3.33h0L4.17.15c-.2-.2-.51-.2-.71 0s-.2.51 0 .71l2.33 2.33H0v1h5.79L3.46 6.52c-.2.2-.2.51 0 .71.2.2.51.2.71 0l3.18-3.18c.2-.2.2-.51 0-.71Z'/></svg>");
  background-position: center;
  background-size: 0.8rem auto;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.home__about--visual {
  margin-right: calc(100% - 50vw);
  padding-left: 12rem;
}
.home__about--visual .inner {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
.home__about--visual figure {
  display: block;
  overflow: hidden;
}
.home__about--visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home__about--visual .image01 {
  border-radius: 0 0 0.5rem 0.5rem;
}
.home__about--visual .image02 {
  border-radius: 0 0 0 0.5rem;
}
.home__about--visual .image03 {
  position: relative;
  left: -6.6rem;
  border-radius: 0.5rem;
}
.home__about--visual .image04 {
  margin-left: -6.6rem;
  border-radius: 0.5rem 0 0 0.5rem;
}
.home__about--visual .image05 {
  border-radius: 0.5rem 0.5rem 0 0;
}
.home__about--visual .image06 {
  border-radius: 0.5rem 0 0 0;
}
.home__recruit--slider {
  overflow: visible !important;
}
.home__recruit--slider .swiper-slide {
  width: 42rem;
}
.home__recruit--item {
  display: block;
}
.home__recruit--visual {
  position: relative;
  display: block;
  aspect-ratio: 1/0.68;
}
.home__recruit--visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home__recruit--visual .caption {
  width: 100%;
  padding: 1.2rem 2rem;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  box-sizing: border-box;
  background-color: rgba(25, 30, 87, 0.8);
  font-size: 1.6rem;
  --text-color: #fff;
}
.home__recruit--navi {
  margin-top: 3.2rem;
  display: flex;
  gap: 0 4.2rem;
  align-items: center;
}
.home__recruit .swiper-buttons {
  display: flex;
  gap: 0 1.8rem;
}
.home__recruit .swiper-button {
  width: 3.2rem;
  height: auto;
  margin: 0;
  position: relative;
  top: auto;
  right: auto;
  left: auto;
}
.home__recruit .swiper-button::after {
  content: none;
}
.home__recruit .swiper-button-prev .arrow__01 {
  transform: scaleX(-1);
}
.home__recruit .swiper-pagination {
  width: fit-content !important;
  position: relative;
  bottom: auto !important;
  left: auto !important;
  font-size: 1rem;
  line-height: 0;
  --swiper-pagination-bullet-horizontal-gap: .75rem;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-theme-color: #261f88;
}
.home__recruit .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  border: 1px solid #261f88;
}
.home__activity--list {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(4, 1fr);
}
.home__activity--item {
  height: 8rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  border: 2px solid #29318a;
  border-radius: 0.5rem;
  font-size: 1.3rem;
}

@media screen and (min-width: 769px) {
  .home__news--column {
    display: grid;
    gap: 4.6rem;
    grid-template-columns: 1fr 1fr;
  }
  .home__news--box {
    position: relative;
  }
  .home__news--more {
    position: absolute;
    top: 0.9rem;
    right: 0;
  }
  .home__product--grid {
    display: flex;
    gap: 3rem;
    align-items: center;
  }
  .home__product--list {
    width: 66rem;
    display: grid;
    gap: 4.5rem 0;
    grid-template-columns: repeat(2, 1fr);
  }
  .home__product--item {
    padding-right: 4rem;
    display: grid;
    gap: 0 2rem;
    grid-template-columns: 13.8rem auto;
  }
  .home__download--grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
  .home__download--visual {
    margin-left: -5rem;
  }
  .home__download--text p {
    font-size: 1.6rem;
  }
  .home__testing--column {
    max-width: 104.8rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .home__testing--item {
    width: calc((100% - 8rem) / 2);
  }
  .home__testing--link .text {
    transition: opacity 0.3s;
  }
  .home__testing--link .image img {
    transition: transform 0.3s;
  }
  .home__testing--link:hover .text {
    opacity: 0.75;
  }
  .home__testing--link:hover .image img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 768px) {
  .home__hero--catch {
    width: 100%;
  }
  .home__hero--catch .text01 {
    font-size: 2rem;
  }
  .home__hero--catch .text02 {
    font-size: 2rem;
  }
  .home__product--list {
    grid-template-columns: 1fr 1fr;
  }
  .home__product--text {
    font-size: 1.6rem;
  }
  .home__service--visual {
    height: 22.6rem;
    margin-right: -2rem;
    margin-bottom: 2.8rem;
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 11.4rem 100%);
  }
  .home__service--text .title {
    margin-bottom: 0.5em;
    font-size: 2.4rem;
  }
  .home__service .btn__01 {
    margin-right: auto;
    margin-left: auto;
  }
  .home__download--text {
    margin-top: -2.4rem;
    padding-top: 4.8rem;
    padding-bottom: 6rem;
  }
  .home__download--text::before {
    right: -2rem;
    left: -2rem;
    clip-path: none;
  }
  .home__download .btn__01 {
    width: 31.2rem;
    margin-right: auto;
    margin-left: auto;
  }
  .home__download--visual {
    height: 19.6rem;
    margin-left: -2rem;
    position: relative;
    z-index: 3;
    clip-path: polygon(0 0, 100% 0%, calc(100% - 11.4rem) 100%, 0 100%);
  }
  .home__download--visual .catalog {
    width: 19.6rem;
    height: 15.4rem;
    top: calc(50% - 7.7rem);
    right: auto;
    left: 2.8rem;
  }
  .home__strength--title {
    font-size: 2.4rem;
  }
  .home__company--text .title {
    margin-bottom: 0.5em;
    font-size: 2.4rem;
  }
  .home__company--visual {
    height: 18.4rem;
    margin-right: -2rem;
    margin-bottom: 3.2rem;
    clip-path: polygon(9.4rem 0, 100% 0%, 100% 100%, 0 100%);
  }
  .home__recruit {
    margin-bottom: 0;
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
  }
  .home__recruit--visual {
    height: 18rem;
    margin-bottom: 3.2rem;
    margin-left: -2rem;
    clip-path: polygon(0 0, 100% 0%, calc(100% - 9.4rem) 100%, 0 100%);
  }
}
.marker-info {
  max-width: 25rem;
  padding: 1.5rem;
}
.marker-info h4 {
  margin-bottom: 0.8rem;
  color: #000;
  font-weight: 600;
  font-size: 1.4rem;
}
.marker-info p {
  margin-bottom: 1rem;
  color: #666;
  font-size: 1.2rem;
  line-height: 1.4;
}
.marker-info .marker-link {
  padding: 0.8rem 1.6rem;
  display: inline-block;
  border-radius: 0.4rem;
  background-color: #000;
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  transition: background-color 0.3s ease;
}
.marker-info .marker-link:hover {
  background-color: #333;
}

.sort__area {
  width: 23rem;
  padding: 1.7rem 3.4rem 1.7rem 1em;
  border: 1px solid #000;
  border-radius: 0.6rem;
  background-color: #fff;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1;
}
.sort__area--wrapper {
  margin-bottom: 2.4rem;
  position: relative;
  display: inline-block;
}
.sort__area--wrapper::after {
  content: "";
  width: 0.8rem;
  height: 0.4rem;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  background: url(../../images/common/arrow_down.svg) no-repeat center/contain;
  transform: translateY(-50%);
  pointer-events: none;
}
.sort__wrapper {
  margin-top: 4rem;
}
.sort__cat {
  margin-bottom: 2.4rem;
  display: flex;
}
.sort__cat li:hover {
  border-bottom: 1px solid #000;
}
.sort__cat li.active {
  border-bottom: 1px solid #000;
  font-weight: 600;
}
.sort__cat a {
  padding: 0 2.4rem 1.6rem;
  display: block;
  letter-spacing: 0.04em;
  line-height: 1;
}

.store__headline {
  margin-bottom: 6.4rem;
}
.store__headline--title {
  display: flex;
  gap: 0 3.2rem;
  align-items: center;
}
.store__headline--title > * {
  letter-spacing: 0.04em;
  line-height: 1;
}
.store__headline--title .text-en {
  font-weight: 600;
  font-size: 4.8rem;
}
.store__headline--title .text-ja {
  color: #444;
  font-size: 1.2rem;
}
.store__bland {
  margin-bottom: 2.4rem;
  padding-bottom: 1.6rem;
  display: flex;
  justify-content: center;
}
.store__bland + .sort__cat {
  margin-top: 6.4rem;
}
.store__bland--list {
  display: flex;
  flex-wrap: wrap;
}
.store__bland--list li {
  display: inline;
}
.store__bland--list a {
  width: 19.4rem;
  height: 5.6rem;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
}
.store__bland--list a.active {
  border-bottom: 1px solid #000;
}
.store__bland--list a:hover {
  opacity: 0.75;
}
.store__bland--text {
  font-size: 2rem;
}
.store__map {
  height: 46.5rem;
  margin-right: calc(-50vw + 50%);
  margin-bottom: 2.4rem;
  margin-left: calc(-50vw + 50%);
}
.store__archive--box {
  padding: 4rem 2.4rem 2.4rem;
  border-radius: 0.8rem;
  background-color: #fff;
  box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.2);
}
.store__archive--box + .store__archive--box {
  margin-top: 1.6rem;
}
.store__archive--boxinner {
  display: grid;
  gap: 0 3.2rem;
  grid-template-columns: 16rem auto;
  align-items: center;
}
.store__archive--image {
  width: 16rem;
  height: 16.1rem;
}
.store__archive--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.store__archive--title {
  margin-bottom: 2.4rem;
  font-weight: 600;
  font-size: 2.4rem;
}
.store__archive--lead {
  margin-bottom: 2.4rem;
  letter-spacing: 0.04em;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.4;
}
.store__archive--detail {
  display: flex;
  justify-content: space-between;
}
.store__archive--addgroup {
  width: 100%;
}
.store__archive--add {
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.store__archive--add + * {
  margin-top: 2.4rem;
}
.store__archive--products {
  width: 42.8%;
}
.store__archive--products dt {
  margin-bottom: 1.6rem;
  text-align: center;
  letter-spacing: 0.04em;
  font-weight: 600;
  line-height: 1.75;
}
.store__archive--cat {
  display: grid;
  gap: 1.6rem 0.4rem;
  grid-template-columns: repeat(3, 1fr);
}
.store__archive--item {
  transition: opacity 0.3s;
}
.store__archive--item:hover {
  opacity: 0.75;
}
.store__archive--item a > * {
  display: block;
  text-align: center;
}
.store__archive--item img {
  max-width: 9.6rem;
  margin: 0 auto 0.5rem;
}
.store__archive--item span {
  letter-spacing: 0.04em;
  font-size: 1.2rem;
  line-height: 1;
}
.store__link--btngroup {
  display: flex;
  gap: 0.8rem;
}
.store__link--btngroup li {
  display: inline;
  border: 1px solid #ddd;
  border-radius: 0.6rem;
  background-color: #fff;
}
.store__link--btngroup a {
  padding: 0.8rem 1.6rem;
  display: block;
  display: flex;
  align-items: center;
  white-space: nowrap;
  letter-spacing: 0.04em;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  transition: opacity 0.3s;
}
.store__link--btngroup a:hover {
  opacity: 0.75;
}
.store__link--btngroup img {
  max-width: 2.4rem;
}
.store__single--detail {
  margin-top: 2.4rem;
  display: flex;
  gap: 0 5.6%;
  justify-content: space-between;
}
.store__single--leftarea {
  width: 57.4%;
  flex: 1;
}
.store__single--area01 {
  display: flex;
  gap: 1.6rem;
  align-items: center;
}
.store__single--img {
  width: 20rem;
  max-width: 100%;
}
.store__single--name {
  margin-bottom: 2.4rem;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1;
}
.store__single--add {
  margin-bottom: 2.4rem;
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.store__single--bland {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.store__single--bland dt {
  margin-right: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.store__single--bland dd {
  display: flex;
  gap: 0.8rem;
}
.store__single--bland dd figure {
  width: 9.6rem;
  height: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.store__single--slider {
  width: 37%;
}
.store__single--thumbnail {
  margin-top: 1rem;
}
.store__single--text {
  margin-top: 4.8rem;
}
.store__single--text h3 {
  margin-bottom: 2.4rem;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1;
}
.store__single--text h3:not(:first-child) {
  margin-top: 4rem;
}
.store__single--text dl + dl {
  margin-top: 4rem;
}
.store__single--text dl dd {
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.store__single--sectitle {
  margin-bottom: 3.2rem;
  text-align: center;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1;
}
.store__single--sectitle + .store__bland {
  margin-top: 3.2rem;
  margin-bottom: 6.4rem;
}
.store__single--acc li {
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.store__single--linkgroup {
  margin-top: 6.4rem;
  text-align: center;
}
.store__single--linkgroup > * {
  justify-content: center;
}
.store__single--linkgroup ul + ul {
  margin-top: 4rem;
}
.store__single--linkgroup .btn__03 {
  margin-top: 6.4rem;
}
.store__single--btngroup {
  justify-content: center;
}
.store__products--archive {
  margin-top: 4rem;
}
.store__products--result {
  margin-bottom: 2.4rem;
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.store__products--list {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(4, 1fr);
}
.store__products--img {
  margin-bottom: 2.4rem;
  aspect-ratio: 240/184;
}
.store__products--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.store__products--bland {
  margin-bottom: 1em;
  color: #444;
  letter-spacing: 0.04em;
  font-family: "degular", sans-serif;
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1;
}
.store__products--name {
  padding-bottom: 1em;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .sort__area {
    width: 100%;
    text-align: left;
    font-size: 1.2rem;
  }
  .sort__area--wrapper {
    width: 100%;
  }
  .sort__wrapper {
    width: 100%;
    margin-top: 2rem;
    overflow-y: scroll;
  }
  .sort__cat {
    width: 70rem;
  }
  .sort__cat a {
    padding: 1em;
    font-size: 1.2rem;
  }
  .store__headline {
    margin-bottom: 3.2rem;
  }
  .store__headline--title {
    gap: 0 1.2rem;
  }
  .store__headline--title .text-en {
    font-size: 4.2rem;
  }
  .store__bland + .sort__cat {
    margin-top: 0;
  }
  .store__bland--list a {
    width: 15.2rem;
    height: 5.6rem;
    padding: 2rem 1rem;
  }
  .store__map {
    height: 59.3rem;
    margin-bottom: 2.4rem;
  }
  .store__map.sm {
    height: 33.4rem;
    margin-bottom: 2rem;
  }
  .store__archive--box {
    padding: 0.8rem 2.4rem 2.4rem;
  }
  .store__archive--boxinner {
    display: grid;
    gap: 1.6rem 0;
    grid-template-columns: 1fr;
  }
  .store__archive--image {
    max-height: 9.6rem;
    margin: auto;
  }
  .store__archive--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .store__archive--title {
    text-align: center;
    font-size: 1.8rem;
  }
  .store__archive--lead {
    font-size: 1.3rem;
  }
  .store__archive--detail {
    display: block;
  }
  .store__archive--addgroup {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3.2rem;
    font-size: 1.2rem;
  }
  .store__archive--addgroup p {
    letter-spacing: 0.04em;
    line-height: 1.4;
  }
  .store__archive--add + * {
    margin-top: 2.4rem;
  }
  .store__archive--products {
    width: 100%;
  }
  .store__archive--products dt {
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
  .store__archive--item span {
    font-size: 1.1rem;
  }
  .store__link--btngroup {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .store__link--btngroup a {
    padding: 1rem 1em;
    display: grid;
    gap: 0.8rem;
    align-items: center;
    font-size: 1.2rem;
    justify-items: center;
  }
  .store__single--detail {
    display: block;
  }
  .store__single--detail > * {
    width: 100%;
  }
  .store__single--detail > * + * {
    margin-top: 4rem;
  }
  .store__single--area01 {
    display: block;
  }
  .store__single--img {
    max-height: 12rem;
    margin: 0 auto 1.6rem;
  }
  .store__single--img img {
    width: 100%;
    height: 100%;
    max-height: 12rem;
    object-fit: cover;
  }
  .store__single--name {
    font-size: 2rem;
  }
  .store__single--info {
    font-size: 1.4rem;
  }
  .store__single--info > * {
    margin-bottom: 2.4rem;
  }
  .store__single--add {
    font-size: 1.2rem;
  }
  .store__single--bland dt {
    margin-right: 0;
    font-size: 1.2rem;
  }
  .store__single--text {
    margin-top: 3.2rem;
  }
  .store__single--text h3 {
    margin-bottom: 2rem;
    font-size: 1.5rem;
  }
  .store__single--text h3:not(:first-child) {
    margin-top: 3.2rem;
  }
  .store__single--text p {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .store__single--text dl + dl {
    margin-top: 2rem;
  }
  .store__single--text dd {
    font-size: 1.4rem;
  }
  .store__single--sectitle {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .store__single--sectitle + .store__bland {
    margin: 2rem 0;
  }
  .store__single--acc {
    font-size: 1.2rem;
  }
  .store__single--linkgroup .store__link--btngroup {
    display: flex;
  }
  .store__single--linkgroup .store__link--btngroup li {
    width: 49%;
  }
  .store__single--linkgroup .store__link--btngroup a {
    display: flex;
    justify-content: center;
  }
  .store__single--slider {
    width: 100vw;
    margin-right: calc(-50vw + 50%);
    margin-left: calc(-50vw + 50%);
  }
  .store__single--thumbnail {
    display: none;
  }
  .store__single--btngroup {
    grid-template-columns: repeat(2, 1fr);
  }
  .store__single--btngroup a {
    display: flex;
    justify-content: center;
  }
  .store__products--archive {
    margin-top: 0;
  }
  .store__products--result {
    font-size: 1.2rem;
  }
  .store__products--list {
    gap: 0.7rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .store__products--img {
    margin-bottom: 1.2rem;
  }
  .store__products--bland {
    font-size: 1rem;
  }
  .store__products--name {
    font-size: 1.3rem;
    line-height: 1.4;
  }
}
.store-loading {
  padding: 40px 20px;
  color: #666;
  text-align: center;
  font-size: 1.4rem;
}
.store-loading::before {
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 10px;
  display: inline-block;
  border: 2px solid #ddd;
  border-top: 2px solid #333;
  border-radius: 50%;
  vertical-align: middle;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.product__filter--wrapper {
  margin-bottom: 2.4rem;
}
.product__filter--cat {
  display: flex;
}
.product__filter--cat li:hover {
  border-bottom: 1px solid #000;
}
.product__filter--cat li.active {
  border-bottom: 1px solid #000;
  font-weight: 600;
}
.product__filter--cat a {
  padding: 0 2.4rem 1.6rem;
  display: block;
  letter-spacing: 0.04em;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .product__filter--cat {
    width: 70rem;
  }
  .product__filter--cat a {
    padding: 1em;
    font-size: 1.2rem;
  }
}
.contact__lead {
  margin-bottom: 5.5rem;
}
.contact__form.main__block {
  padding-top: 0;
}
.contact__form .main__container {
  padding: 7.5rem 10rem;
}
.contact__messages--sentence {
  margin-top: 3rem;
}
.contact__messages .btn__01 {
  margin-top: 0;
}
.contact__messages .navi__02 {
  margin-top: 4.5rem;
}
.contact__complete .title {
  color: var(--theme-color, #29318a);
  font-weight: 600;
  font-size: 2.4rem;
}
.contact__complete .text {
  margin-top: 1.5rem;
}

@media screen and (max-width: 768px) {
  .contact__form {
    margin-bottom: 0;
  }
  .contact__form .main__container {
    padding: 4.5rem 2rem;
    padding-bottom: 0;
  }
  .contact__complete .text {
    text-align: left;
  }
}
.p-catalog {
  padding-top: 4rem;
  padding-bottom: 6.4rem;
}
.p-catalog .main__container {
  max-width: 138rem;
}
.p-catalog__title {
  margin-bottom: 4rem;
  text-align: center;
  letter-spacing: 0.04em;
  font-weight: 600;
  font-size: 3.2rem;
}
.p-catalog__list {
  display: grid;
  gap: 4.8rem 2.4rem;
  grid-template-columns: repeat(4, 1fr);
}
.p-catalog__card--image {
  margin-bottom: 1em;
  overflow: hidden;
  background-color: #fff;
  aspect-ratio: 300/212;
}
.p-catalog__card--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-catalog__card--brand {
  letter-spacing: 0.04em;
  font-size: 1.2rem;
}
.p-catalog__card--title {
  letter-spacing: 0.04em;
  font-weight: 600;
  font-size: 2rem;
}
.p-catalog__card--download {
  margin-top: 0.75em;
  display: inline-flex;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1;
  column-gap: 0.4rem;
}
.p-catalog__logout {
  margin-top: 4rem;
  text-align: center;
}

.p-catalog-login {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.p-catalog-login__form {
  max-width: 40rem;
  margin: 0 auto;
}
.p-catalog-login__error {
  margin-bottom: 2rem;
  padding: 1.2rem;
  border-radius: 0.4rem;
  background-color: #fee;
  color: #c33;
  text-align: center;
  font-size: 1.4rem;
}
.p-catalog-login__field {
  margin-bottom: 2.4rem;
}
.p-catalog-login__field label {
  margin-bottom: 0.5em;
  display: block;
  letter-spacing: 0.04em;
}
.p-catalog-login__field input {
  width: 100%;
  padding: 1.2rem 1.6rem;
  border: 1px solid #999;
  background-color: #fff;
}
.p-catalog-login__field input:focus {
  outline: none;
  border-color: var(--primary-color);
}
.p-catalog-login__submit {
  margin-top: 3.2rem;
  text-align: center;
}
.p-catalog-login__submit .btn__03 {
  border-radius: 0;
  background-color: #000;
  color: #fff;
  font-weight: 600;
}

@media screen and (min-width: 769px) {
  .p-catalog__list a .p-catalog__card--image img {
    transition: transform 0.3s;
  }
  .p-catalog__list a:hover .p-catalog__card--image img {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 768px) {
  .p-catalog__title {
    margin-bottom: 3.2rem;
    font-size: 2.4rem;
  }
  .p-catalog__list {
    grid-template-columns: 1fr;
  }
  .p-catalog-login {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
  }
  .p-catalog-login__submit .btn__03 {
    font-size: 1.4rem;
  }
}/*# sourceMappingURL=style.css.map */