  @charset "UTF-8";
/* ------------------------
  reset
------------------------ */
:where(main) *,
:where(main) *::after,
:where(main) *::before {
  box-sizing: border-box;
}
:where(main) * {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}
:where(main) pre,
:where(main) textarea {
  overflow: auto;
}
:where(main) template {
  display: none;
}
:where(main) details,
:where(main) main,
:where(main) summary {
  display: block;
}
:where(main) input[type=number] {
  width: auto;
}
:where(main) input[type=search] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}
:where(main) input[type=search]::-webkit-search-cancel-button,
:where(main) input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
          appearance: none;
}
:where(main) progress {
  display: inline-block;
}
:where(main) small {
  font-size: 75%;
}
:where(main) sub,
:where(main) sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}
:where(main) sup {
  top: -0.5em;
}
:where(main) sub {
  bottom: -0.25em;
}
:where(main) textarea {
  resize: vertical;
}
:where(main) audio,
:where(main) canvas,
:where(main) iframe,
:where(main) img,
:where(main) svg,
:where(main) video {
  vertical-align: middle;
}
:where(main) audio:not([controls]) {
  display: none;
}
:where(main) img {
  border: 0;
  max-width: 100%;
  height: auto;
}
:where(main) button,
:where(main) input,
:where(main) select,
:where(main) textarea {
  min-height: 1.5em;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-style: inherit;
}
:where(main) button {
  overflow: visible;
}
:where(main) button,
:where(main) select {
  text-transform: none;
}
:where(main) input {
  line-height: normal;
}
:where(main) button,
:where(main) html input[type=button],
:where(main) input[type=reset],
:where(main) input[type=submit] {
  border-style: none;
  cursor: pointer;
  background-color: transparent;

  -webkit-appearance: button;

     -moz-appearance: button;

          appearance: button;
}
:where(main) button[disabled],
:where(main) html input[disabled] {
  cursor: default;
}
:where(main) button::-moz-focus-inner,
:where(main) input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
:where(main) code,
:where(main) kbd,
:where(main) pre,
:where(main) samp {
  font-family: monospace;
}
:where(main) ol,
:where(main) ul {
  list-style: none;
}
:where(main) select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
:where(main) table {
  border-spacing: 0;
  border-collapse: collapse;
}
:where(main) fieldset {
  border: 0;
}

body {
  margin: 0;
}

/* ------------------------
  Base Settings
------------------------ */
html {
  scroll-behavior: smooth;
}

main {
  background-color: #fff;
  word-wrap: break-word;
  color: #000;
  font-family: "Noto Serif JP", serif;
  font-size: calc(14 * var(--base-font, 1) / 10);
  line-height: 1.6875;

  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  /* NOTE: 10px * 100vw / 375px */
  --base-font: 2.6667vw;
}
@media (min-width: 769px) {
  main {
    font-size: calc(15 * var(--base-font, 1) / 10);
    /* NOTE: 10 / 16px */

    --base-font: 0.625rem;
  }
}

a {
  text-decoration: none;
  color: #fff;
}
a:hover {
  text-decoration: none;
  color: #fff;
}
a[href^="tel:"]:hover {
  color: #fff;
}
@media (min-width: 769px) {
  a[href^="tel:"] {
    cursor: text;
    text-decoration: none;
  }
}

/* ------------------------
  layout
------------------------ */
.l-contents {
  position: relative;
}
@media (max-width: 768.98px) {
  .l-contents {
    padding: 0 calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .l-contents {
    margin: 0 auto;
    padding: 0 calc(50 * var(--base-font, 1) / 10);
    max-width: calc(900 * var(--base-font, 1) / 10);
  }
}

.l-section-inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 768.98px) {
  .l-section-inner {
    padding-top: calc(75 * var(--base-font, 1) / 10);
    padding-bottom: calc(75 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .l-section-inner {
    padding-top: calc(120 * var(--base-font, 1) / 10);
    padding-bottom: calc(120 * var(--base-font, 1) / 10);
  }
}

.l-color-container {
  position: relative;
}
.l-color-container.-black {
  background: #000;
}
.l-color-container.-white {
  background: #fff;
}
.l-color-container.-gray-gradient {
  background: linear-gradient(180deg, #fff 0%, #dcdcdc 100%);
}

.l-bg-image {
  position: absolute;
  z-index: 1;
  top: 0;
  width: 100%;
}
@media (max-width: 768.98px) {
  .l-bg-image > picture > img {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .l-bg-image > picture > img {
    width: 55vw;
    max-width: calc(700 * var(--base-font, 1) / 10);
  }
}
.l-bg-image.-left > picture > img {
  position: absolute;
  left: 0;
}
.l-bg-image.-right > picture > img {
  position: absolute;
  right: 0;
}

/* ------------------------
  Components
------------------------ */
.c-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media (max-width: 768.98px) {
  .c-text {
    font-size: calc(14 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .c-text {
    font-size: calc(18 * var(--base-font, 1) / 10);
  }
}
.c-text.-white {
  color: #fff;
}
.c-text.-black {
  color: #000;
}
.c-text.-bold {
  font-weight: 700;
}

/* ------------------------
  utilities Classes
------------------------ */
.u-hidden {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 768.98px) {
  .u-hidden-sm {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-up-sm {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 768.98px) {
  .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 769px) and (max-width: 1023.98px) {
  .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 769px) {
  .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (max-width: 1023.98px) {
  .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1024px) and (max-width: 1279.98px) {
  .u-hidden-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1024px) {
  .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (max-width: 1279.98px) {
  .u-hidden-down-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-xl {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-up-xl {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-down-xl {
  display: none !important;
  visibility: hidden;
}

.u-visuallyhidden {
  overflow: hidden;
  clip: rect(0 0 0 0);
  position: absolute;
  margin: -1px;
  padding: 0;
  border: 0;
  width: 1px;
  height: 1px;
}

.u-visuallyhidden.focusable:active,
.u-visuallyhidden.focusable:focus {
  overflow: visible;
  clip: auto;
  position: static;
  margin: 0;
  width: auto;
  height: auto;
}

.u-invisible {
  visibility: hidden;
}

@media (min-width: 769px) {
  .u-text-center-md {
    text-align: center;
  }
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.u-copyguard {
  pointer-events: none;
}
@media print {
  .u-copyguard {
    visibility: hidden;
  }
}

.u-text-uppercase {
  text-transform: uppercase !important;
}

/* ------------------------
  Print Styles
------------------------ */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
/* --------------------------------
common
-------------------------------- */
.section_title-container {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 10;
}

.section_title {
  text-align: center;
  font-weight: 500;
}
@media (max-width: 768.98px) {
  .section_title {
    font-size: calc(32 * var(--base-font, 1) / 10);
    line-height: 1.2;
  }
}
@media (min-width: 769px) {
  .section_title {
    font-size: calc(48 * var(--base-font, 1) / 10);
  }
}
.section_title.-extend-width {
  margin-right: calc(-20 * var(--base-font, 1) / 10);
  margin-left: calc(-20 * var(--base-font, 1) / 10);
}
.section_title.-white {
  color: #fff;
}
.section_title.-black {
  color: #000;
}

@media (max-width: 768.98px) {
  .section_title-line {
    margin-top: calc(10 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 768.98px) {
  .section_content-title-container {
    margin-top: calc(50 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .section_content-title-container {
    margin-top: calc(50 * var(--base-font, 1) / 10);
  }
}

.section_content-title {
  background-image: linear-gradient(to right, #bc8a5c 0%, #733c30 100%);
  text-align: center;
  color: #fff;
  font-weight: 400;
}
@media (max-width: 768.98px) {
  .section_content-title {
    padding-top: calc(8 * var(--base-font, 1) / 10);
    padding-bottom: calc(8 * var(--base-font, 1) / 10);
    font-size: calc(22 * var(--base-font, 1) / 10);
    line-height: 1.35;
  }
}
@media (min-width: 769px) {
  .section_content-title {
    font-size: calc(38 * var(--base-font, 1) / 10);
  }
}

.common-movie-container {
  position: relative;
}
@media (max-width: 768.98px) {
  .common-movie-container {
    margin-top: calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .common-movie-container {
    margin-top: calc(45 * var(--base-font, 1) / 10);
  }
}

.common-movie-attention {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 768.98px) {
  .common-movie-attention {
    width: calc(80 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .common-movie-attention {
    width: calc(120 * var(--base-font, 1) / 10);
  }
}

.common-movie {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  background-color: #fff;
}
@media (max-width: 768.98px) {
  .common-movie {
    padding: calc(20 * var(--base-font, 1) / 10) calc(10 * var(--base-font, 1) / 10) calc(10 * var(--base-font, 1) / 10) calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .common-movie {
    padding: calc(40 * var(--base-font, 1) / 10) calc(20 * var(--base-font, 1) / 10) calc(20 * var(--base-font, 1) / 10) calc(20 * var(--base-font, 1) / 10);
  }
}

.common-movie-title {
  text-align: center;
  font-weight: 400;
}
@media (max-width: 768.98px) {
  .common-movie-title {
    font-size: calc(19 * var(--base-font, 1) / 10);
    line-height: 1.35;
  }
}
@media (min-width: 769px) {
  .common-movie-title {
    font-size: 3.7109375vw;
  }
}
@media (min-width: 1024px) {
  .common-movie-title {
    font-size: calc(38 * var(--base-font, 1) / 10);
  }
}

.common-movie-item-container {
  position: relative;
  margin-top: calc(15 * var(--base-font, 1) / 10);
  width: 100%;
}

.common-movie-item {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}
.common-movie-item > iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------
mainvisual
-------------------------------- */
.mainvisual {
  background-color: #000;
}

.mainvisual-inner {
  position: relative;
  margin: 0 auto;
  width: 100%;
}

.mainvisual-content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}

.mainvisual-background {
  display: flex;
  justify-content: center;
}

.mainvisual-content-logo {
  display: flex;
  justify-content: center;
}
.mainvisual-content-logo > img {
  height: auto;

  -o-object-fit: cover;

     object-fit: cover;
}
@media (max-width: 768.98px) {
  .mainvisual-content-logo > img {
    width: 48%;
  }
}
@media (min-width: 769px) {
  .mainvisual-content-logo > img {
    width: 21%;
    max-width: 330px;
  }
}

@media (max-width: 768.98px) {
  .mainvisual-content-title-container {
    margin-top: calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .mainvisual-content-title-container {
    margin-top: calc(35 * var(--base-font, 1) / 10);
  }
}

.mainvisual-content-title {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;

  gap: calc(4 * var(--base-font, 1) / 10);
}

.mainvisual-content-title_text {
  text-align: center;
  letter-spacing: 0.05em;
  color: #fff;
  font-weight: 400;
  line-height: 1.4;
}
@media (max-width: 768.98px) {
  .mainvisual-content-title_text {
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .mainvisual-content-title_text {
    font-size: 3.7109375vw;
  }
}
@media (min-width: 1024px) {
  .mainvisual-content-title_text {
    font-size: calc(38 * var(--base-font, 1) / 10);
  }
}

/* --------------------------------
about
-------------------------------- */
.about-content {
  position: relative;
  z-index: 10;
}
@media (max-width: 768.98px) {
  .about-content + .about-content {
    margin-top: calc(55 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .about-content + .about-content {
    margin-top: calc(90 * var(--base-font, 1) / 10);
  }
}

.about-content-item {
  margin-top: calc(30 * var(--base-font, 1) / 10);
}

.about-content-item-description {
  display: flex;
  justify-content: center;
}
@media (max-width: 768.98px) {
  .about-content-item-description {
    gap: calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .about-content-item-description {
    gap: calc(30 * var(--base-font, 1) / 10);
  }
}

.about-content-item-description_text {
  text-align: center;
}

.about-content-item-finish-container {
  display: flex;
  padding-bottom: calc(10 * var(--base-font, 1) / 10);
}
@media (max-width: 768.98px) {
  .about-content-item-finish-container {
    flex-direction: column;
    margin-top: calc(30 * var(--base-font, 1) / 10);

    gap: calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .about-content-item-finish-container {
    margin-top: calc(40 * var(--base-font, 1) / 10);

    gap: calc(45 * var(--base-font, 1) / 10);
  }
}

.about-content-item-finish {
  display: flex;
  flex-direction: column;

  gap: calc(10 * var(--base-font, 1) / 10);
}

.about-content-item-finish_text {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768.98px) {
  .about-content-item-finish_text {
    font-size: calc(19 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .about-content-item-finish_text {
    font-size: calc(24 * var(--base-font, 1) / 10);
  }
}

/* --------------------------------
points
-------------------------------- */
.points-anchor-container {
  position: relative;
  z-index: 10;
}
@media (max-width: 768.98px) {
  .points-anchor-container {
    margin-top: calc(60 * var(--base-font, 1) / 10);
    margin-right: calc(-5 * var(--base-font, 1) / 10);
    margin-left: calc(-5 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-anchor-container {
    margin-top: calc(70 * var(--base-font, 1) / 10);
  }
}

.points-anchor {
  display: flex;
  justify-content: center;

  gap: calc(10 * var(--base-font, 1) / 10);
}

.points-anchor-item-container {
  flex-basis: 0;
  flex-grow: 1;
  position: relative;
}

.points-anchor-item_attention-container {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 768.98px) {
  .points-anchor-item_attention-container {
    width: 80%;
  }
}
@media (min-width: 769px) {
  .points-anchor-item_attention-container {
    width: 40%;
  }
}

.points-anchor-item {
  display: flex;
  opacity: 1;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  transition: 0.25s;
  background-color: #000;
  color: #fff;
}
@media (max-width: 768.98px) {
  .points-anchor-item {
    padding: calc(20 * var(--base-font, 1) / 10) calc(5 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-anchor-item {
    padding: calc(35 * var(--base-font, 1) / 10) calc(10 * var(--base-font, 1) / 10);
  }
}

.points-anchor-item_text {
  text-align: center;
}
@media (max-width: 768.98px) {
  .points-anchor-item_text {
    line-height: 1.45;
  }
}
@media (min-width: 769px) {
  .points-anchor-item_text {
    font-size: calc(26 * var(--base-font, 1) / 10);
  }
}

.points-anchor-item_arrow {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 768.98px) {
  .points-anchor-item_arrow {
    bottom: calc(20 * var(--base-font, 1) / 10);
    width: calc(9 * var(--base-font, 1) / 10);
    height: calc(5.5 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-anchor-item_arrow {
    bottom: calc(20 * var(--base-font, 1) / 10);
    width: calc(14 * var(--base-font, 1) / 10);
    height: calc(8 * var(--base-font, 1) / 10);
    transition: bottom 0.1s cubic-bezier(0.42, 0, 1, 1);
  }
}
@media (min-width: 769px) {
  .points-anchor-item:hover .points-anchor-item_arrow {
    bottom: calc(16 * var(--base-font, 1) / 10);
    transition: bottom 0.3s s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}

.points-content-container {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 10;
}
@media (max-width: 768.98px) {
  .points-content-container {
    gap: calc(75 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-container {
    gap: calc(130 * var(--base-font, 1) / 10);
  }
}
@media (max-width: 768.98px) {
  .points-content-container.-anchor-bottom {
    margin-top: calc(60 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-container.-anchor-bottom {
    margin-top: calc(80 * var(--base-font, 1) / 10);
  }
}

.points-content {
  position: relative;
}

.points-content_anchor-target {
  position: absolute;
}
@media (max-width: 768.98px) {
  .points-content_anchor-target {
    top: calc(-30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content_anchor-target {
    top: calc(-50 * var(--base-font, 1) / 10);
  }
}

.points-content-visual {
  display: grid;
}
@media (max-width: 768.98px) {
  .points-content-visual {
    margin-top: calc(35 * var(--base-font, 1) / 10);

    grid-template: "image" auto "text" auto/1fr;
  }
}
@media (min-width: 769px) {
  .points-content-visual {
    margin-top: calc(25 * var(--base-font, 1) / 10);

    grid-template: "text" auto "image" auto/1fr;
  }
}

.points-content-text-container {
  display: block;

  grid-area: text;
}
@media (max-width: 768.98px) {
  .points-content-text-container {
    margin-top: calc(15 * var(--base-font, 1) / 10);
    padding-right: calc(30 * var(--base-font, 1) / 10);
    padding-left: calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-text-container {
    padding-right: calc(50 * var(--base-font, 1) / 10);
    padding-left: calc(50 * var(--base-font, 1) / 10);
    text-align: center;
  }
}

@media (max-width: 768.98px) {
  .points-content-figure-container {
    margin-top: calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-figure-container {
    margin-top: calc(40 * var(--base-font, 1) / 10);
  }
}

.points-content-figure {
  background-color: #fff;
}
@media (max-width: 768.98px) {
  .points-content-figure {
    padding: calc(22.5 * var(--base-font, 1) / 10) calc(10 * var(--base-font, 1) / 10) calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-figure {
    padding: calc(22.5 * var(--base-font, 1) / 10) calc(45 * var(--base-font, 1) / 10) calc(30 * var(--base-font, 1) / 10);
  }
}

.points-content-figure-title {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768.98px) {
  .points-content-figure-title {
    font-size: calc(17 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-figure-title {
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}

.points-content-figure-item-container {
  display: flex;
}
@media (max-width: 768.98px) {
  .points-content-figure-item-container {
    margin-top: calc(12 * var(--base-font, 1) / 10);

    gap: calc(5 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-figure-item-container {
    margin-top: calc(14 * var(--base-font, 1) / 10);

    gap: calc(24 * var(--base-font, 1) / 10);
  }
}

.points-content-figure-item {
  display: flex;
  flex-basis: 0;
  flex-grow: 1;
  position: relative;
  width: 100%;
}
@media (max-width: 768.98px) {
  .points-content-figure-item {
    flex-direction: column;

    gap: calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-figure-item {
    flex-direction: row;

    gap: calc(20 * var(--base-font, 1) / 10);
  }
}

@media (min-width: 769px) {
  .points-content-figure-item_img {
    width: 50%;
  }
}
.points-content-figure-item_img > picture > img {
  width: 100%;
  height: auto;
}
@media (min-width: 769px) {
  .points-content-figure-item_img > picture > img {
    max-width: calc(160 * var(--base-font, 1) / 10);
    height: 100%;
  }
}

@media (max-width: 768.98px) {
  .points-content-figure-item_arrow {
    margin-top: calc(30 * var(--base-font, 1) / 10);
  }
  .points-content-figure-item_arrow > picture > img {
    width: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-figure-item_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .points-content-figure-item_arrow > picture > img {
    width: calc(32 * var(--base-font, 1) / 10);
  }
}

.points-content-figure-item_text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media (max-width: 768.98px) {
  .points-content-figure-item_text {
    font-size: calc(12 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-figure-item_text {
    flex-basis: 0;
    flex-grow: 1;
    max-width: calc(160 * var(--base-font, 1) / 10);
    font-size: 1.46484375vw;
  }
}
@media (min-width: 1024px) {
  .points-content-figure-item_text {
    font-size: calc(15 * var(--base-font, 1) / 10);
  }
}

.points-content-point2 {
  display: grid;
  width: 100%;
}
@media (max-width: 768.98px) {
  .points-content-point2 {
    margin-top: calc(32.5 * var(--base-font, 1) / 10);

    gap: calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-point2 {
    margin-top: calc(40 * var(--base-font, 1) / 10);

    grid-template-columns: 50% 50%;
  }
}
@media (min-width: 1024px) {
  .points-content-point2 {
    grid-template-columns: 60% 40%;
  }
}

@media (min-width: 769px) {
  .points-content-point2-figure {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.points-figure-description-list {
  list-style: none;
}
.points-figure-description-list > li {
  position: relative;
  padding-left: 1.2em;
}
.points-figure-description-list > li:before {
  content: "";
  position: absolute;
  left: 0;
  border-radius: 50%;
  width: 1em;
  height: 1em;
  transform: translateY(-50%);
  background-color: #000;
}
@media (max-width: 768.98px) {
  .points-figure-description-list > li:before {
    top: 0.9em;
  }
}
@media (min-width: 769px) {
  .points-figure-description-list > li:before {
    top: 1.1em;
  }
}
@media (min-width: 769px) {
  .points-figure-description-list {
    margin-left: calc(30 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 768.98px) {
  .points-figure-description-bottom {
    margin-top: calc(25 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-figure-description-bottom {
    margin-top: calc(30 * var(--base-font, 1) / 10);
    text-align: center;
  }
}

.points-content-title {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 768.98px) {
  .points-content-title {
    gap: calc(5 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 768.98px) {
  .points-content-title_point {
    width: calc(125 * var(--base-font, 1) / 10);
    height: calc(40 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-title_point {
    width: calc(130 * var(--base-font, 1) / 10);
    height: calc(50 * var(--base-font, 1) / 10);
  }
}

.points-content-title_text {
  font-weight: 500;
}
@media (max-width: 768.98px) {
  .points-content-title_text {
    font-size: calc(29 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-title_text {
    font-size: calc(42 * var(--base-font, 1) / 10);
  }
}

.points-content-title-description {
  text-align: center;
  font-weight: 500;
}
@media (max-width: 768.98px) {
  .points-content-title-description {
    font-size: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .points-content-title-description {
    margin-right: calc(-30 * var(--base-font, 1) / 10);
    margin-left: calc(-30 * var(--base-font, 1) / 10);
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}

.points-content-image-container {
  display: flex;
  justify-content: center;
}
@media (min-width: 769px) {
  .points-content-image-container {
    margin-top: calc(50 * var(--base-font, 1) / 10);
    width: 100%;
  }
}
@media (min-width: 769px) {
  .points-content-image-container.-bottom {
    margin-bottom: calc(-120 * var(--base-font, 1) / 10);
  }
}

/* --------------------------------
processing
-------------------------------- */
@media (max-width: 768.98px) {
  .processing-title-description-container {
    margin-top: calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-title-description-container {
    margin-top: calc(50 * var(--base-font, 1) / 10);
  }
}

.processing-title-description {
  text-align: center;
  color: #fff;
}
@media (max-width: 768.98px) {
  .processing-title-description {
    font-size: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-title-description {
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}

.processing-color-container {
  background-color: #000;
}

.processing-card-container {
  margin-top: calc(25 * var(--base-font, 1) / 10);
}

.processing-card-list {
  display: grid;
}
@media (max-width: 768.98px) {
  .processing-card-list {
    grid-template-rows: repeat(1, 1fr);
    grid-template-columns: repeat(2, 1fr);
    gap: calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-card-list {
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20 * var(--base-font, 1) / 10);
  }
}

.processing-card {
  opacity: 1;
  position: relative;
  transition: 0.25s;
  background-color: #dcdcdc;
}
@media (max-width: 768.98px) {
  .processing-card {
    padding: calc(15 * var(--base-font, 1) / 10) calc(15 * var(--base-font, 1) / 10) calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-card {
    padding: 1.953125vw 1.953125vw 1.46484375vw;
  }
}
@media (min-width: 1024px) {
  .processing-card {
    padding: calc(20 * var(--base-font, 1) / 10) calc(20 * var(--base-font, 1) / 10) calc(15 * var(--base-font, 1) / 10);
  }
}
.processing-card:hover {
  opacity: 0.8;
}

.processing-card_inner {
  display: grid;
}
@media (max-width: 768.98px) {
  .processing-card_inner {
    grid-template: "image" auto "title" auto "description" auto/1fr;
  }
}
@media (min-width: 769px) {
  .processing-card_inner {
    gap: calc(10 * var(--base-font, 1) / 10);
    grid-template: "title title" auto "image description" auto/55% 45%;
  }
}

.processing-card-image {
  grid-area: image;
}

.processing-card-title-container {
  width: 100%;

  grid-area: title;
}
@media (max-width: 768.98px) {
  .processing-card-title-container {
    margin-top: calc(10 * var(--base-font, 1) / 10);
  }
}

.processiong-card-title {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768.98px) {
  .processiong-card-title {
    font-size: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processiong-card-title {
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}
@media (max-width: 768.98px) {
  .processiong-card-title > ruby > rt {
    font-size: calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processiong-card-title > ruby > rt {
    font-size: calc(12 * var(--base-font, 1) / 10);
  }
}

.processing-card-description-container {
  grid-area: description;
}
@media (max-width: 768.98px) {
  .processing-card-description-container {
    margin-top: calc(2.5 * var(--base-font, 1) / 10);
  }
}

.processiong-card-description {
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768.98px) {
  .processiong-card-description {
    font-size: calc(12 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processiong-card-description {
    font-size: calc(15 * var(--base-font, 1) / 10);
  }
}

.processing-card_button {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.processing-card_button-image {
  position: absolute;
}
@media (max-width: 768.98px) {
  .processing-card_button-image {
    right: calc(10 * var(--base-font, 1) / 10);
    bottom: calc(15 * var(--base-font, 1) / 10);
    width: calc(20 * var(--base-font, 1) / 10);
    height: calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-card_button-image {
    right: calc(15 * var(--base-font, 1) / 10);
    bottom: calc(20 * var(--base-font, 1) / 10);
    width: calc(25 * var(--base-font, 1) / 10);
    height: calc(25 * var(--base-font, 1) / 10);
  }
}

.processing-content-container {
  position: relative;
  z-index: 10;
}

@media (max-width: 768.98px) {
  .processing-content + .processing-content {
    margin-top: calc(75 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-content + .processing-content {
    margin-top: calc(100 * var(--base-font, 1) / 10);
  }
}

.processing-content-item-container {
  display: flex;

  gap: calc(20 * var(--base-font, 1) / 10);
}
@media (max-width: 768.98px) {
  .processing-content-item-container {
    flex-direction: column;
    margin-top: calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-content-item-container {
    margin-top: calc(50 * var(--base-font, 1) / 10);
  }
}

.processing-content-item {
  width: 100%;
}

@media (min-width: 769px) {
  .processing-content-item_img > picture > img {
    max-height: calc(245 * var(--base-font, 1) / 10);
  }
}

.processing-content-description {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768.98px) {
  .processing-content-description {
    margin-top: calc(12 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-content-description {
    margin-top: calc(15 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 768.98px) {
  .processing-content-description_title {
    font-size: calc(19 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-content-description_title {
    font-size: calc(24 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 768.98px) {
  .processing-content-description_text {
    margin-top: calc(6 * var(--base-font, 1) / 10);
    font-size: calc(14 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-content-description_text {
    font-size: calc(17 * var(--base-font, 1) / 10);
  }
}

.processing-image-container {
  position: relative;
}
@media (min-width: 769px) {
  .processing-image-container {
    margin-top: calc(50 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .processing-image-container.-bottom {
    margin-bottom: calc(-50 * var(--base-font, 1) / 10);
  }
}

/* --------------------------------
modal
-------------------------------- */
.modal-close-button {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  z-index: 101;
  font-size: 0;
}
@media (max-width: 768.98px) {
  .modal-close-button {
    top: calc(-22.5 * var(--base-font, 1) / 10);
    right: 0;
    width: calc(45 * var(--base-font, 1) / 10);
    height: calc(45 * var(--base-font, 1) / 10);
    background-color: #000;
  }
}
@media (min-width: 769px) {
  .modal-close-button {
    top: calc(-75 * var(--base-font, 1) / 10);
    right: 0;
    width: calc(70 * var(--base-font, 1) / 10);
    height: calc(70 * var(--base-font, 1) / 10);
  }
  .modal-close-button:hover span:before {
    -webkit-animation: moveLineLeftRight 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
            animation: moveLineLeftRight 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .modal-close-button:hover span:nth-child(2):before {
    -webkit-animation-delay: 0.14s;
            animation-delay: 0.14s;
  }
}
@media (min-width: 1280px) {
  .modal-close-button {
    top: calc(-75 * var(--base-font, 1) / 10);
    right: calc(-115 * var(--base-font, 1) / 10);
    width: calc(70 * var(--base-font, 1) / 10);
    height: calc(70 * var(--base-font, 1) / 10);
  }
}
.modal-close-button span {
  position: relative;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (max-width: 768.98px) {
  .modal-close-button span {
    width: calc(23 * var(--base-font, 1) / 10);
    height: 1px;
  }
}
@media (min-width: 769px) {
  .modal-close-button span {
    width: calc(60 * var(--base-font, 1) / 10);
    height: 1px;
  }
}
.modal-close-button span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.modal-close-button span:nth-child(1) {
  transform: rotate(45deg);
}
.modal-close-button span:nth-child(2) {
  transform: rotate(-45deg);
}

.modal-layout {
  position: relative;
}

.modal-layout-inner {
  opacity: 0;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.8s cubic-bezier(0.39, 0.575, 0.565, 1);
  transform: translateY(calc(50 * var(--base-font, 1) / 10));
  background-color: #fff;
}
@media (max-width: 768.98px) {
  .modal-layout-inner {
    margin: calc(22.5 * var(--base-font, 1) / 10);
    padding: calc(25 * var(--base-font, 1) / 10) calc(30 * var(--base-font, 1) / 10) calc(35 * var(--base-font, 1) / 10) calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-layout-inner {
    padding: calc(40 * var(--base-font, 1) / 10) calc(45 * var(--base-font, 1) / 10) calc(50 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 1024px) {
  .modal-layout-inner {
    padding: calc(40 * var(--base-font, 1) / 10) calc(60 * var(--base-font, 1) / 10) calc(50 * var(--base-font, 1) / 10);
  }
}

.modal.is-open .modal-layout-inner {
  opacity: 1;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  transform: translateY(0);
}

.modal-title-container {
  display: flex;
  justify-content: center;
}

@media (max-width: 768.98px) {
  .modal-title {
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-title {
    font-size: 3.7109375vw;
  }
}
@media (min-width: 1024px) {
  .modal-title {
    font-size: calc(38 * var(--base-font, 1) / 10);
  }
}
.modal-title > ruby > rt {
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768.98px) {
  .modal-title > ruby > rt {
    font-size: calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-title > ruby > rt {
    font-size: 1.171875vw;
  }
}
@media (min-width: 1024px) {
  .modal-title > ruby > rt {
    font-size: calc(12 * var(--base-font, 1) / 10);
  }
}

.modal-item-container {
  display: flex;
}
@media (max-width: 768.98px) {
  .modal-item-container {
    align-items: center;
    flex-direction: column;
    margin-top: calc(25 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-item-container {
    margin-top: calc(10 * var(--base-font, 1) / 10);

    gap: calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 1024px) {
  .modal-item-container {
    gap: calc(40 * var(--base-font, 1) / 10);
  }
}

.modal-item {
  display: flex;
}
@media (max-width: 768.98px) {
  .modal-item {
    overflow: hidden;
    justify-content: space-between;
    width: 100%;

    gap: calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-item {
    flex-basis: 0;
    flex-direction: column;
    flex-grow: 1;

    gap: calc(15 * var(--base-font, 1) / 10);
  }
}

.modal-item_title-container {
  display: flex;
  justify-content: center;
}

.modal-item_title-border {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #000;
  border-radius: 50%;
  background-color: #fff;
}
@media (max-width: 768.98px) {
  .modal-item_title-border {
    width: calc(85 * var(--base-font, 1) / 10);
    height: calc(85 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-item_title-border {
    width: calc(100 * var(--base-font, 1) / 10);
    height: calc(100 * var(--base-font, 1) / 10);
  }
}

.modal-item_title-border_line {
  content: "";
  position: absolute;
  background-color: #000;
}
@media (max-width: 768.98px) {
  .modal-item_title-border_line {
    bottom: -200%;
    left: 50%;
    width: 1px;
    height: 200%;
  }
}
@media (min-width: 769px) {
  .modal-item_title-border_line {
    right: calc(-132.5 * var(--base-font, 1) / 10);
    width: calc(132.5 * var(--base-font, 1) / 10);
    height: 1px;
  }
}

.modal-item_title {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  line-height: 1.3;
}
@media (max-width: 768.98px) {
  .modal-item_title {
    font-size: calc(15 * var(--base-font, 1) / 10);
  }
}

.modal-item_description {
  display: flex;
  flex-direction: column;
}
@media (max-width: 768.98px) {
  .modal-item_description {
    width: 63%;
    min-height: calc(100 * var(--base-font, 1) / 10);

    gap: calc(5 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-item_description {
    gap: calc(15 * var(--base-font, 1) / 10);
  }
}
@media (max-width: 768.98px) {
  .modal-item_description.-sm-border {
    margin-bottom: calc(20 * var(--base-font, 1) / 10);
    padding-bottom: calc(15 * var(--base-font, 1) / 10);
    border-bottom: 1px solid #dcdcdc;
  }
}

.modal-item_description-image > picture > img {
  width: 100%;
}

@media (min-width: 769px) {
  .modal-item_description_text-container.-extend-width-md {
    margin-right: -0.5em;
    margin-left: -0.5em;
  }
}
@media (min-width: 1024px) {
  .modal-item_description_text-container.-extend-width-md {
    margin-right: -0.75em;
    margin-left: -0.75em;
  }
}

.modal-item_description_text {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768.98px) {
  .modal-item_description_text {
    font-size: calc(12 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-item_description_text {
    letter-spacing: -0.05em;
    font-size: calc(14 * var(--base-font, 1) / 10);
  }
}

.modal-item_description_list.-circle {
  list-style: none;
}
.modal-item_description_list.-circle > li {
  position: relative;
  padding-left: 1.1em;
}
.modal-item_description_list.-circle > li:before {
  content: "";
  position: absolute;
  top: 0.9em;
  left: 0;
  border-radius: 50%;
  width: 1em;
  height: 1em;
  transform: translateY(-50%);
  background-color: #000;
}
.modal-item_description_list.-triangle {
  list-style: none;
}
.modal-item_description_list.-triangle > li {
  position: relative;
  padding-left: 1.1em;
}
.modal-item_description_list.-triangle > li:before {
  content: "";
  position: absolute;
  top: 0.9em;
  left: 0;
  border-right: 0.5em solid transparent;
  border-bottom: 0.9em solid #000;
  border-left: 0.5em solid transparent;
  width: 0;
  height: 0;
  transform: translateY(-50%);
}

.modal-item_description_label-container {
  display: flex;
}
.modal-item_description_label-container.-add-margin {
  margin-top: calc(5 * var(--base-font, 1) / 10);
  margin-bottom: calc(5 * var(--base-font, 1) / 10);
}

.modal-item_description_label {
  display: block;
  padding-right: calc(8 * var(--base-font, 1) / 10);
  padding-left: calc(8 * var(--base-font, 1) / 10);
  background-color: #000;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}
@media (max-width: 768.98px) {
  .modal-item_description_label {
    font-size: calc(12 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .modal-item_description_label {
    font-size: calc(16 * var(--base-font, 1) / 10);
  }
}

@-webkit-keyframes moveLineLeftRight {
  0% {
    transform: scale(1, 1);
    transform-origin: right bottom;
  }
  50% {
    transform: scale(0, 1);
    transform-origin: right bottom;
  }
  50.0001% {
    transform: scale(0, 1);
    transform-origin: left bottom;
  }
  100% {
    transform: scale(1, 1);
    transform-origin: left bottom;
  }
}

@keyframes moveLineLeftRight {
  0% {
    transform: scale(1, 1);
    transform-origin: right bottom;
  }
  50% {
    transform: scale(0, 1);
    transform-origin: right bottom;
  }
  50.0001% {
    transform: scale(0, 1);
    transform-origin: left bottom;
  }
  100% {
    transform: scale(1, 1);
    transform-origin: left bottom;
  }
}
/* --------------------------------
footer
NOTE: FХȤֲҎtʤΤ뤳Ȥ
-------------------------------- */
.footer {
  position: relative;
}

.footer-color-container {
  background-color: #000;
}

.footer-banner-container {
  display: flex;
}
@media (max-width: 768.98px) {
  .footer-banner-container {
    flex-direction: column;
    margin-bottom: calc(50 * var(--base-font, 1) / 10);

    gap: calc(25 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .footer-banner-container {
    gap: calc(36 * var(--base-font, 1) / 10);
  }
}

.footer-banner {
  position: relative;
}
@media (min-width: 769px) {
  .footer-banner {
    overflow: hidden;
    border: calc(1 * var(--base-font, 1) / 10) solid #fff;
  }
}

@media (min-width: 769px) {
  .footer-banner-bg {
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1);
  }
}
@media (min-width: 769px) {
  .footer-banner:hover .footer-banner-bg {
    transition: transform 0.95s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: scale(1.15);
  }
}

@media (max-width: 768.98px) {
  .footer-banner-label {
    display: none;
  }
}
@media (min-width: 769px) {
  .footer-banner-label {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.footer-banner_more > img {
  position: absolute;
  z-index: 2;
}
@media (max-width: 768.98px) {
  .footer-banner_more > img {
    right: calc(8 * var(--base-font, 1) / 10);
    bottom: calc(8 * var(--base-font, 1) / 10);
    width: calc(49 * var(--base-font, 1) / 10);
    height: calc(11 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .footer-banner_more > img {
    right: calc(12 * var(--base-font, 1) / 10);
    bottom: calc(18 * var(--base-font, 1) / 10);
    width: calc(73 * var(--base-font, 1) / 10);
    height: calc(16 * var(--base-font, 1) / 10);
  }
}

.bl-footer {
  padding-top: 100px;
  padding-bottom: 20px;
}
@media (max-width: 768.98px) {
  .bl-footer {
    padding-top: calc(20 * var(--base-font, 1) / 10);
  }
}

.bl-footer_logo {
  display: block;
  margin: 80px auto 0;
  width: 180px;
}
@media (max-width: 768.98px) {
  .bl-footer_logo {
    margin-top: calc(40 * var(--base-font, 1) / 10);
    width: calc(175 * var(--base-font, 1) / 10);
  }
}

.bl-footer_copyright {
  display: block;
  margin-top: 80px;
  text-align: center;
  letter-spacing: 0.08em;
  color: #fff;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 0.75rem;
  font-weight: 500;
}
@media (max-width: 768.98px) {
  .bl-footer_copyright {
    margin-top: calc(20 * var(--base-font, 1) / 10);
    font-size: calc(10 * var(--base-font, 1) / 10);
  }
}

.bl-footer_pagetop {
  font-size: 0;
}
@media (min-width: 769px) {
  .bl-footer_pagetop {
    position: absolute;
    right: 40px;
    bottom: 20px;
  }
}
@media (max-width: 768.98px) {
  .bl-footer_pagetop {
    margin-top: calc(60 * var(--base-font, 1) / 10);
    text-align: center;
  }
}
.bl-footer_pagetop a {
  display: inline-block;
  position: relative;
  border: 1px solid #939393;
  border-radius: 50%;
  width: 66px;
  height: 66px;
}
@media (max-width: 768.98px) {
  .bl-footer_pagetop a {
    width: calc(45 * var(--base-font, 1) / 10);
    height: calc(45 * var(--base-font, 1) / 10);
  }
}
.bl-footer_pagetop a:before {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}
.bl-footer_pagetop a:after {
  content: "";
  position: absolute;
  top: 6px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 13px;
  height: 13px;
  transition: 0.25s;
  transform: rotate(-45deg);
}
@media (max-width: 768.98px) {
  .bl-footer_pagetop a:after {
    top: calc(2 * var(--base-font, 1) / 10);
    width: calc(9 * var(--base-font, 1) / 10);
    height: calc(9 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 769px) {
  .bl-footer_pagetop a:focus:after,
  .bl-footer_pagetop a:hover:after {
    top: -2px;
  }
}

/*
* main.css
*
*/
/*
 * page styles
 */