@charset "UTF-8";
/*
 * 参考
 * https://github.com/Andy-set-studio/modern-css-reset/blob/master/src/reset.css
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

/* Make images easier to work with */
img {
  display: block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* form */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

table td, table th {
  padding: 0;
}

/*****************************************
 * 数値から単位を取り除く
 * 参考
 * https://css-tricks.com/snippets/sass/
******************************************/
/*****************************************
 * px→remの計算
 * 参考
 * https://webdou.net/sass-rem/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
/*****************************************
 * vwの計算
 * 参考
 * https://webdou.net/sass-vw/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
html {
  font-size: 16px;
}
@media (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: black;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  a:hover {
    opacity: 1;
  }
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

a {
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.5;
}

.p-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
}

.layout-header {
  position: fixed;
  z-index: 3000;
  top: 0;
  left: 0;
}

.inner {
  width: min(100%, 77.5rem);
  margin-inline: auto;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .inner {
    width: min(100%, 39.5rem);
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.section-title {
  font-family: "Alegreya", serif;
  font-size: 4rem;
  font-weight: 500;
  color: #BE8A3A;
  letter-spacing: 0.1em;
  overflow: hidden;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 768px) {
  .section-title {
    font-size: 2.25rem;
  }
}

.section-title span {
  margin-top: 0.1875rem;
  display: block;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #4C4639;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  .section-title span {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
  }
}

.section-title--dark.section-title {
  background: linear-gradient(to right, #DD9C3F 0%, #F5D36D 50%, #F8DF83 71%, #F8F1AF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.section-title--dark.section-title span {
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  color: #fff;
  letter-spacing: 0;
}

.qa-archive-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  color: #4C4639;
}

.qa-archive-subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0em;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .qa-archive-subtitle {
    font-size: 1.75rem;
    line-height: 1.2857142857;
  }
}

.white-box-page-title {
  padding-top: 5.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  color: #2F4672;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .white-box-page-title {
    padding-top: 7.8125rem;
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

.white-box-page-title::after {
  content: "";
  display: inline-block;
  width: 6.25rem;
  height: 0.1875rem;
  text-align: center;
  background-color: #2F4672;
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
}

.subsc-section-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0em;
  color: #4C4639;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .subsc-section-title {
    font-size: 1.5rem;
    line-height: 2.2857142857;
  }
}

.white-box-heading {
  padding-left: 0.5rem;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #2F4672;
}

.white-box-heading--legal.white-box-heading {
  padding-left: 2.125rem;
}

.white-box-heading::before {
  margin-right: 0.5rem;
  content: "";
  display: inline-block;
  width: 0.25rem;
  height: 1.25rem;
  background-color: #2F4672;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(-50%, -50%);
}

.mv {
  width: 100%;
  height: 100vh;
  min-height: 45rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .mv {
    height: auto;
    min-height: 26.25rem;
  }
}

.mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background-image: url("../images/main.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: rgba(0, 0, 0, 0.12);
  background-blend-mode: overlay;
}
@media screen and (max-width: 768px) {
  .mv::before {
    top: 3.6875rem;
    height: 22.5rem;
    background-size: cover;
    background-position: 50% top;
  }
}

@media screen and (max-width: 768px) {
  .mv::after {
    content: "";
    position: absolute;
    z-index: 2800;
    width: 100%;
    top: 17.75rem;
    height: 8.4375rem;
    background-image: url("../images/mv-navy.png");
    background-repeat: no-repeat;
    background-size: cover;
  }
}

.mv__inner {
  margin-inline: auto;
  height: inherit;
  min-height: inherit;
  width: min(100%, 79.75rem);
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .mv__inner {
    width: min(100%, 39.5rem);
    height: auto;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.mv__container {
  height: inherit;
  min-height: inherit;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .mv__container {
    height: 26.1875rem;
    min-height: 21.375rem;
    align-items: flex-end;
    justify-content: end;
    flex-direction: column;
    justify-content: start;
    gap: 1.25rem;
  }
}

.mv__content {
  z-index: 3000;
  width: min(100%, 22.625rem);
  padding: 2.5rem 2rem 2.5rem 2.125rem;
  height: auto;
  background-color: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .mv__content {
    width: min(100%, 37.5rem);
    margin-inline: auto;
    text-align: center;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: 15rem;
  }
}

@media screen and (max-width: 768px) {
  .mv__box {
    padding-top: 1.5625rem;
    width: min(100%, 23.4375rem);
    margin-inline: auto;
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
    display: grid;
    grid-template-columns: 44% auto;
  }
}

@media screen and (max-width: 768px) {
  .mv__box-new-img {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.mv__box-new-img img {
  aspect-ratio: 290/129;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .mv__box-new-img img {
    aspect-ratio: 164/73;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.mv__box-title {
  margin-top: 1.4375rem;
  z-index: 2800;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.5625rem;
  font-weight: 700;
  color: #4C4639;
  line-height: 1;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .mv__box-title {
    margin-top: 0rem;
    letter-spacing: 0.065em;
    display: inline-block;
    text-align: right;
    font-size: 2.75rem;
    line-height: 1;
  }
}

.mv__box-title span {
  margin-top: 0.8125rem;
  display: inline-block;
  text-align: center;
  font-size: 2.3125rem;
  letter-spacing: 0;
  line-height: 1;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .mv__box-title span {
    margin-top: 0.5625rem;
    line-height: 1;
    letter-spacing: 0.06em;
    font-size: 1.375rem;
    text-align: left;
    vertical-align: top;
  }
}

.mv__title-wrap {
  height: inherit;
  min-height: inherit;
  width: min(100%, 30.9375rem);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .mv__title-wrap {
    margin-top: 5rem;
    width: 70%;
    z-index: 2800;
    align-items: center;
    justify-content: end;
    height: calc(100svh - 18.75rem);
  }
}

.mv__body {
  height: 81.1274509804%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .mv__body {
    height: 84.857143%;
  }
}

.mv__title {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "Times New Roman", serif;
  font-size: 4rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.4375;
  overflow-wrap: break-word;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .mv__title {
    z-index: 3000;
    font-size: 1.375rem;
    line-height: 2;
  }
}

.mv__modal-qr-open {
  display: inline-block;
  width: min(100%, 18rem);
  padding: 0.75rem 0.75rem 0.75rem 1.0625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #3C2F00;
  letter-spacing: 0.01em;
  line-height: 1.4285714286;
  background: rgb(221, 156, 63);
  background: linear-gradient(90deg, rgb(221, 156, 63) 0%, rgb(245, 211, 109) 50%, rgb(248, 223, 131) 71%, rgb(248, 241, 175) 100%);
  border-radius: 3rem;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .mv__modal-qr-open {
    margin-top: 1.1875rem;
    margin-inline: auto;
  }
}

.mv__modal-qr-open:hover {
  opacity: 0.5;
}

.mv__content-notice {
  margin-top: 1.25rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #3C2F00;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
}

.modal-qr__store-button-list {
  margin-top: 2.625rem;
  width: 100%;
}

.header {
  width: 100%;
  height: 3.75rem;
  background-color: #F9FEFF;
  transition: background-color 0.7s;
}

body.home .header {
  background-color: rgba(47, 70, 114, 0.36);
  transition: background-color 0.7s;
}
@media screen and (max-width: 768px) {
  body.home .header {
    background-color: #fff;
  }
}

.header__inner {
  width: min(100%, 79.375rem);
  padding: 0 1.5625rem;
  margin-inline: auto;
  height: inherit;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 768px) {
  .header__inner {
    padding-right: 1rem;
    width: 100%;
  }
}

.header__logo {
  width: min(100%, 4.3125rem);
  z-index: 4000;
}
@media screen and (max-width: 768px) {
  .header__logo {
    margin-left: calc(50% - 0.0625rem - 2.15625rem);
  }
}

.header__logo a {
  height: 100%;
  display: flex;
  align-items: center;
  transition: opacity 0.5s;
}

.header__logo a:hover {
  cursor: pointer;
  opacity: 0.5;
}

.header__logo img {
  aspect-ratio: 69/40;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  display: block;
}

.header__nav {
  display: block;
  height: inherit;
}
@media screen and (max-width: 768px) {
  .header__nav {
    margin-right: 0;
  }
}

.header__nav-list {
  height: inherit;
  display: flex;
}

.header__nav-item {
  height: inherit;
  width: 100%;
}

.header__nav-item a {
  padding: 0 0.75rem;
  width: -moz-max-content;
  width: max-content;
  height: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 0.714rem + 0.18vw, 0.875rem);
  color: #49454F;
  letter-spacing: 0.15em;
  transition: opacity 0.7s;
}

body.home .header__nav-item a {
  color: #EAE2D4;
}

.header__nav-item--btn_start.header__nav-item {
  width: auto;
  height: auto;
  margin-left: 0.75rem;
  padding: 0.75rem 0rem;
}

.header__modal-qr-open {
  width: -moz-max-content;
  width: max-content;
  border-radius: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1.4285714286;
  font-size: 0.875rem;
  color: #3C2F00;
  background-color: #F5D36D;
  padding: 0.5rem 1.5rem;
  transition: opacity 0.7s;
}

.header__modal-qr-open:hover {
  opacity: 0.5;
}

.header__hamburger {
  display: none;
  z-index: 6000;
  padding: 1.0625rem 0.8125rem;
  width: min(100%, 1.5rem);
  height: inherit;
  transition: opacity 0.7s;
  position: relative;
}
@media screen and (max-width: 768px) {
  .header__hamburger {
    z-index: 8000;
  }
}

.header__hamburger span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 6000;
  width: min(100%, 1.125rem);
  height: 0.125rem;
  background-color: #4C4639;
  transition: transform 0.7s, background-color 1.2s;
}

.header__hamburger span:nth-of-type(1) {
  top: calc(50% - 0.25rem);
}

.header__hamburger span:nth-of-type(3) {
  top: calc(50% + 0.25rem);
}

.header__hamburger.is-open span {
  background-color: #fff;
  top: 50%;
  width: min(100%, 1.25rem);
  left: 50%;
  transform: translate(-50%, -50%);
}

.header__hamburger.is-open span:nth-of-type(1) {
  top: calc(50% + 0.25rem);
  left: 0.625rem;
  transform: rotate(45deg) translate(-50%, -50%);
  width: 1.125rem;
}

.header__hamburger.is-open span:nth-of-type(2) {
  opacity: 0;
}

.header__hamburger.is-open span:nth-of-type(3) {
  top: calc(25% + 0.375rem);
  left: 0.6875rem;
  transform: rotate(-45deg) translate(-50%, -50%);
  width: 1.125rem;
}

.header__hamburger:hover {
  cursor: pointer;
  opacity: 1;
}

.header__drawer {
  padding-top: 9.375rem;
  padding-bottom: 9.625rem;
  display: none;
  position: absolute;
  z-index: 7500;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  overflow-y: scroll;
  scrollbar-width: none;
  background-color: #2F4672;
}

.header__drawer-nav {
  width: min(51.2820512821%, 23rem);
  margin-inline: auto;
}

.header__drawer-nav-list:not(:first-child) {
  margin-top: 0.625rem;
  padding-top: 0.3125rem;
  border-top: solid 0.0625rem #fff;
}

.header__drawer-nav-item {
  width: 100%;
  margin-inline: auto;
}

.header__drawer-nav-item > a {
  padding: 0.9375rem 0 0.875rem;
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  color: #fff;
  overflow-wrap: break-word;
  word-break: keep-all;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .header__drawer-nav-item > a {
    letter-spacing: 0em;
  }
}

.header__drawer-nav-list:not(:first-child) a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  padding: 1rem 0;
}

.footer {
  padding: 8.5rem 0 22.0625rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-top: 6.875rem;
  }
}

.footer__inner.inner {
  width: min(100%, 61.875rem);
  display: flex;
  justify-content: space-between;
  align-items: start;
  -moz-column-gap: 14.6875rem;
       column-gap: 14.6875rem;
}
@media screen and (max-width: 768px) {
  .footer__inner.inner {
    width: min(100%, 24.375rem);
    flex-direction: column;
    row-gap: 2rem;
  }
}

.footer__content {
  width: min(100%, 11.8125rem);
}
@media screen and (max-width: 768px) {
  .footer__content {
    margin-inline: auto;
    text-align: center;
  }
}

.footer__logo {
  aspect-ratio: 189/102;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 11.8125rem);
}

.footer__info {
  margin-top: 1.625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.01em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .footer__info {
    margin-top: 1.5rem;
  }
}

.footer__wrap {
  width: min(100%, 32.25rem);
  padding-right: 3.125rem;
}
@media screen and (max-width: 768px) {
  .footer__wrap {
    padding-right: 0;
  }
}

.footer__nav {
  width: 100%;
}

.footer__nav-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 7.3125rem;
       column-gap: 7.3125rem;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .footer__nav-list {
    grid-template-columns: 1fr;
  }
}

.footer__nav-item {
  align-self: start;
}

.footer__nav-item a {
  vertical-align: top;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #1E1B13;
  padding: 0.90625rem 0;
  width: 100%;
  display: inline-block;
}

.footer__nav-item:nth-child(1) a,
.footer__nav-item:nth-child(2) a {
  padding-top: 0rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-item:nth-child(1) a,
  .footer__nav-item:nth-child(2) a {
    padding-top: 0.90625rem;
  }
}

.footer__nav-item:first-child a {
  padding-top: 0rem;
}

.footer__copyright {
  margin-top: 10.5rem;
  margin-top: 9.6875rem;
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.4545454545;
  letter-spacing: 0.01em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    margin-top: 4.3125rem;
    width: 100%;
    text-align: center;
  }
}

.error-404 {
  overflow: hidden;
  padding: 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .error-404 {
    padding-top: 2.625rem;
  }
}

.error-404__inner {
  margin-inline: auto;
  width: min(100%, 68.75rem);
}
@media screen and (max-width: 768px) {
  .error-404__inner {
    width: min(100%, 38.75rem);
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
}

.error-404__container {
  text-align: center;
}

.error-404__content {
  position: relative;
}

.error-404__img {
  border-radius: 1rem;
}

.error-404__img img {
  max-height: 37.5rem;
  aspect-ratio: 1900/1400;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  border-radius: 1rem;
  filter: brightness(180%) grayscale(100%);
}
.error-404__body {
  position: absolute;
  z-index: 200;
  bottom: 3%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  width: min(100%, 68.75rem);
  padding-left: 2.25rem;
  padding-right: 2.25rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .error-404__body {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }
}

.error-404__group {
  display: inline-block;
  width: min(100%, 31.8125rem);
}
@media screen and (max-width: 768px) {
  .error-404__group {
    width: 100%;
    text-align: center;
  }
}

.error-404__title {
  margin-top: 4.5rem;
  font-family: "Roboto", sans-serif;
  font-size: 3.5rem;
  font-weight: 700;
  color: #2F4672;
}
@media screen and (max-width: 768px) {
  .error-404__title {
    font-size: 2.1875rem;
  }
}

.error-404__text {
  margin-top: 4.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 2.375;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .error-404__text {
    margin-top: 0rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 2.2857142857;
    color: #1E1B13;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

.error-404__btn-wrap {
  margin-top: 1.25rem;
  justify-content: left;
}
@media screen and (max-width: 768px) {
  .error-404__btn-wrap {
    margin-top: 2.5rem;
    justify-content: center;
  }
}

.error-404__btn-to-top {
  border: 0.0625rem solid #fff;
  border-radius: 0.3125rem;
  position: relative;
  display: inline-block;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  background-color: transparent;
  padding: 0.6875rem 1.875rem 0.6875rem 2.8125rem;
}
@media screen and (max-width: 768px) {
  .error-404__btn-to-top {
    font-size: 0.875rem;
    padding: 0.6875rem 1.75rem 0.6875rem 2.875rem;
    border: 0.0625rem solid #1E1B13;
    color: #1E1B13;
  }
}

.error-404__btn-to-top:hover {
  opacity: 1;
}

.error-404__btn-to-top::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2.125rem;
  width: 0.4375rem;
  height: 0.4375rem;
  border-top: 0.0625rem solid #fff;
  border-right: 0.0625rem solid #fff;
  transform: translate(-50%, -50%) rotate(-135deg);
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .error-404__btn-to-top::before {
    left: 2.25rem;
    border-top: 0.0625rem solid #1E1B13;
    border-right: 0.0625rem solid #1E1B13;
  }
}

.error-404__btn-to-top:hover::before {
  left: 1.625rem;
}

@media screen and (max-width: 768px) {
  .error-404__box {
    margin-top: 2.5rem;
    margin-inline: auto;
    width: min(100%, 40rem);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    text-align: center;
  }
}

.prologue {
  padding: 4rem 0rem 8.6875rem;
  background-image: url(../images/prologue-bg-img.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .prologue {
    padding: 4rem 0 4.625rem;
  }
}

.prologue__inner {
  text-align: center;
  position: relative;
}

.prologue__content {
  margin-top: 4.9375rem;
}
@media screen and (max-width: 768px) {
  .prologue__content {
    margin-top: 3.125rem;
  }
}

.prologue__text {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "Times New Roman", serif;
  font-size: 1.4375rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.7826086957;
  color: #725C0C;
}
@media screen and (max-width: 768px) {
  .prologue__text {
    font-size: 1.125rem;
    line-height: 3.5555555556;
  }
}

.prologue__text--last.prologue__text {
  text-transform: uppercase;
}

.prologue__text:not(:first-child) {
  margin-top: 3.9375rem;
}
@media screen and (max-width: 768px) {
  .prologue__text:not(:first-child) {
    margin-top: 4.125rem;
  }
}

.prologue__bird-img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.prologue__bird-img img {
  max-width: 100%;
}

.prologue__bird-img--left {
  width: min(100%, 10.4375rem);
  aspect-ratio: 167/133;
  transform: rotate(8.56deg);
}

.prologue__bird-img--right {
  width: min(100%, 12.125rem);
  aspect-ratio: 194/90;
  transform: rotate(30deg);
}

.prologue__bird-img.prologue__bird-img--left {
  position: absolute;
  top: 68%;
  left: 11%;
  transform: translate(-50%, -50%);
  width: min(100%, 9.8125rem);
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .prologue__bird-img.prologue__bird-img--left {
    top: 95%;
    left: 15%;
    width: min(100%, 4rem);
  }
}

.prologue__bird-img.prologue__bird-img--right {
  position: absolute;
  top: 32%;
  right: -3%;
  transform: translate(-50%, -50%);
  width: min(100%, 11.4375rem);
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .prologue__bird-img.prologue__bird-img--right {
    top: 12%;
    right: -2%;
    width: min(100%, 4rem);
  }
}

.progression {
  padding: 5rem 0rem 0.9375rem;
  background-color: #2F4672;
}
@media screen and (max-width: 768px) {
  .progression {
    padding: 5.375rem 0 7.375rem;
  }
}

.progression__inner.inner {
  text-align: center;
}

.progression__text {
  margin-top: 7.5rem;
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.0555555556;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .progression__text {
    margin-top: 3.125rem;
    font-size: 0.875rem;
    line-height: 2.6428571429;
  }
}

.progression__img {
  margin-inline: auto;
  margin-top: 7.5rem;
  aspect-ratio: 937/261;
  width: min(100%, 58.5625rem);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .progression__img {
    margin-top: 3.4375rem;
    margin-left: auto;
    aspect-ratio: 273/161;
    width: min(100%, 17.0625rem);
  }
}

.progression__img img,
.progression__img picture {
  display: inline-block;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .progression__img img,
  .progression__img picture {
    margin-left: 1.6875rem;
    -o-object-fit: cover;
       object-fit: cover;
    width: min(100%, 17.0625rem);
  }
}

.features {
  padding: 5rem 0rem;
  background-image: url(../images/features-bg-img.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .features {
    padding: 5.5rem 0 5rem;
  }
}

.features__inner.inner {
  width: min(100%, 61.875rem);
  text-align: center;
}

.features__list {
  margin-top: 7.375rem;
  display: grid;
  grid-template-columns: repeat(3, 17.875rem);
  justify-content: center;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  row-gap: 4.5rem;
}
@media screen and (max-width: 768px) {
  .features__list {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    row-gap: 3.125rem;
  }
}

.features__item {
  display: flex;
  flex-direction: column;
  background-image: url(../images/features-item-img.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: min(100%, 17.875rem);
  border-radius: 17.875rem 17.875rem 1rem 1rem;
  box-shadow: 0 0.25rem 1.75rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .features__item {
    justify-self: center;
    background-image: url(../images/features-item-img-sp.png);
    width: min(97.4%, 24.5625rem);
    aspect-ratio: 358/519;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.features__item-title {
  padding: 6.25rem 1.5rem 0rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0em;
  color: #1E1B13;
  border-radius: 17.875rem 17.875rem 0 0;
}

.features__item-img {
  margin-top: 1.5rem;
  aspect-ratio: 286/183;
  -o-object-fit: cover;
     object-fit: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .features__item-img {
    aspect-ratio: 385/182;
  }
}

.features__item-img img,
.features__item-img picture {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .features__item-img img,
  .features__item-img picture {
    height: 100%;
  }
}

.features__item-description {
  margin-top: 1.25rem;
  padding: 0rem 1.5rem 2.375rem;
  flex-grow: 1;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #1E1B13;
  background-color: #fff;
  border-radius: 0rem 0rem 1rem 1rem;
}
@media screen and (max-width: 768px) {
  .features__item-description {
    margin-top: 2.0625rem;
    padding-bottom: 3.8125rem;
  }
}

.store-button-list {
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  justify-content: center;
  align-items: center;
}

.store-button-list__item {
  display: inline-block;
}

.store-button-list__item a {
  padding: 0;
}

.store-button-list__item--apple.store-button-list__item img {
  border-radius: 0.25rem;
  width: 6.9375rem;
  aspect-ratio: 108.85157/40;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .store-button-list__item--apple.store-button-list__item img {
    width: 6.9375rem;
  }
}

.store-button-list__item--google.store-button-list__item img {
  border-radius: 0.375rem;
  width: 8.625rem;
  aspect-ratio: 646/250;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .store-button-list__item--google.store-button-list__item img {
    width: 8.625rem;
  }
}

.modal-qr {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex;
  width: 100%;
  visibility: hidden;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 4rem 3.5625rem;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.58);
}

.modal-qr.is-open {
  visibility: visible;
  opacity: 1;
}

.modal-qr__body {
  position: relative;
  display: inline-block;
  width: min(100%, 23.4375rem);
}

.modal-qr__close {
  content: url(../images/mv-modal-close-button.png);
  position: absolute;
  top: -1.75rem;
  right: -3.3125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  color: #2F4672;
}

.modal-qr__content {
  min-width: 23.4375rem;
  padding: 4rem 2.75rem;
  background: #E5EBF2;
  border-radius: 1rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .modal-qr__content {
    min-width: 15.375rem;
    padding: 2.375rem 1.75rem;
    margin-inline: auto;
  }
}

.modal-qr__text {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 400;
  color: #2F4672;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .modal-qr__text {
    font-size: 1rem;
  }
}

.modal-qr__img {
  margin-top: 2.8125rem;
  border-radius: 1rem;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .modal-qr__img {
    margin-top: 1.125rem;
    width: 87%;
  }
}

.modal-qr__img img {
  width: min(100%, 13rem);
  aspect-ratio: 208/208;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.how-to {
  padding: 4.25rem 0 10.25rem;
  background-color: #F9FEFF;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .how-to {
    padding: 5.4375rem 0 4.875rem;
  }
}

.how-to__inner.inner {
  width: min(100%, 83rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .how-to__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.how-to__list {
  margin-top: 9.125rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .how-to__list {
    margin-top: 6.4375rem;
  }
}

.how-to__item {
  position: relative;
}

.how-to__item:not(:first-child) {
  margin-top: 11.6875rem;
}
@media screen and (max-width: 768px) {
  .how-to__item:not(:first-child) {
    margin-top: 3.875rem;
  }
}

.how-to__title {
  text-align: left;
  width: min(60%, 50rem);
}
@media screen and (max-width: 768px) {
  .how-to__title {
    width: 57%;
  }
}

.how-to__item-number {
  text-align: center;
  padding: 0.75rem;
  width: min(100%, 7.0625rem);
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #fff;
  background: rgba(73, 69, 79, 0.05) linear-gradient(90deg, #1C77CC 0%, #2B32B2 100%);
  border-radius: 1.5rem;
}
@media screen and (max-width: 768px) {
  .how-to__item-number {
    padding: 0.5rem;
    width: min(100%, 4.875rem);
    font-size: 0.875rem;
    line-height: 1.4285714286;
    border-radius: 2.25rem;
  }
}

.how-to__text {
  margin-top: 0.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.8125rem;
  font-weight: 700;
  letter-spacing: 0;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .how-to__text {
    margin-top: 0.9375rem;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.015em;
    line-height: 1.5;
    min-height: 81.9512195122%;
  }
}

.how-to__img {
  margin-top: 7.875rem;
  aspect-ratio: 1359/350;
  -o-object-fit: cover;
     object-fit: cover;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .how-to__img {
    margin-top: 1.4375rem;
    aspect-ratio: 390/134;
    width: 100vw;
    -o-object-fit: cover;
       object-fit: cover;
    margin-left: calc(50% - 50vw);
  }
}

.how-to__img img,
.how-to__img picture {
  width: 100%;
  aspect-ratio: 1359/350;
}
@media screen and (max-width: 768px) {
  .how-to__img img,
  .how-to__img picture {
    aspect-ratio: 390/134;
  }
}

.how-to__screen-pair {
  position: absolute;
  z-index: 0;
  top: 0%;
  right: 0%;
  transform: translate(0%, 0%);
  aspect-ratio: 419/575;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(36%, 26.1875rem);
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .how-to__screen-pair {
    margin-top: 0.5rem;
    aspect-ratio: 131/188;
    -o-object-fit: cover;
       object-fit: cover;
    width: 36.6%;
  }
}

.how-to__screen {
  aspect-ratio: 240/533;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 15rem);
  box-shadow: 0 0.25rem 2.75rem rgba(0, 0, 0, 0.25);
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .how-to__screen {
    aspect-ratio: 75/166;
    -o-object-fit: cover;
       object-fit: cover;
    width: 57%;
    max-width: 100%;
  }
}

.how-to__screen img {
  border-radius: 0.5rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .how-to__screen img {
    aspect-ratio: 75/166;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}

.how-to__screen:not(:first-child) {
  margin-top: 2.625rem;
}
@media screen and (max-width: 768px) {
  .how-to__screen:not(:first-child) {
    margin-top: 1.375rem;
    height: -moz-fit-content;
    height: fit-content;
  }
}

.how-to__screen:first-child {
  margin-right: -3.8125rem;
  z-index: 1000;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  .how-to__screen:first-child {
    margin-right: -1.1875rem;
  }
}

@media screen and (max-width: 768px) {
  .how-to__item:nth-child(2n) {
    text-align: right;
  }
}

.how-to__item:nth-child(2n) .how-to__img {
  margin-right: 0;
  margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .how-to__item:nth-child(2n) .how-to__img {
    margin-right: calc(50% - 50vw);
  }
}

.how-to__item:nth-child(2n) .how-to__screen-pair {
  top: 0%;
  left: 0%;
}

.how-to__item:nth-child(2n) .how-to__title {
  margin-left: 29.875rem;
}
@media screen and (max-width: 768px) {
  .how-to__item:nth-child(2n) .how-to__title {
    margin-left: auto;
    margin-right: 0rem;
    display: inline-block;
    width: 57%;
  }
}

.safety-section {
  padding: 4.6875rem 0 7.875rem;
  background-image: url(../images/safety-bg-img.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .safety-section {
    padding-top: 2.5rem;
  }
}

.safety-section__inner.inner {
  width: min(100%, 61.875rem);
  text-align: center;
}

.safety-section__content {
  display: inline-block;
  margin-inline: auto;
}

.safety-section__list {
  margin-top: 7.8125rem;
  display: grid;
  grid-template-columns: repeat(3, 16.6875rem);
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  row-gap: 3.5625rem;
}
@media screen and (max-width: 768px) {
  .safety-section__list {
    margin-top: 5rem;
    grid-template-columns: minmax(68.4615384615%, 39.0625rem);
  }
}

.safety-section__item {
  width: min(100%, 16.6875rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .safety-section__item {
    margin-inline: auto;
  }
}

.safety-section__img {
  aspect-ratio: 267/162;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  width: min(100%, 16.6875rem);
}

.safety-section__img img {
  max-width: 100%;
}

.safety-section__title {
  margin-top: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0;
  color: #526DA5;
  text-align: center;
}

.safety-section__text {
  margin-top: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.7142857143;
  color: #1E1B13;
  text-align: left;
}

.qa {
  padding: 5rem 0 7.5625rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .qa {
    padding: 3.4375rem 0 5rem;
  }
}

.qa__inner.inner {
  width: min(100%, 61.875rem);
  text-align: center;
}

.qa__content {
  margin-top: 5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .qa__content {
    margin-top: 2.5rem;
  }
}

.qa-list__item {
  background-color: #fff;
  box-shadow: 0 0.25rem 2.25rem rgba(0, 0, 0, 0.12);
  border-radius: 0.5rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .qa-list__item {
    width: min(100%, 39.5rem);
    margin-inline: auto;
  }
}

.qa-list__item + .qa-list__item {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .qa-list__item + .qa-list__item {
    margin-top: 1.375rem;
  }
}

.qa-list__item-question {
  padding: 2.1875rem 1.5rem 2.125rem 5.375rem;
  display: inline-block;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0;
  color: #2F4672;
  line-height: 1.5;
  text-align: left;
  text-indent: 0rem;
  transition: background-color 0.5s, color 0.5s;
  border-radius: 0.5rem 0.5rem 0 0;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 768px) {
  .qa-list__item-question {
    padding: 1.75rem 1rem 1.75rem 4.875rem;
    line-height: 1.4;
    font-size: 1rem;
    text-indent: 0rem;
  }
}

.qa-list__item-question::before {
  content: "";
  position: absolute;
  top: 1.625rem;
  left: 1.4375rem;
  width: 2.9375rem;
  height: 2.9375rem;
  display: inline-block;
  border-radius: 50%;
  line-height: 2.9375rem;
  background-color: #2F4672;
  border: 2px solid #2F4672;
  transition: background-color 0.5s, color 0.5s;
}
@media screen and (max-width: 768px) {
  .qa-list__item-question::before {
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
  }
}

.qa-list__item-question::after {
  content: "Q";
  position: absolute;
  top: 3.0625rem;
  left: 1.5rem;
  transform: translateY(-50%);
  width: 2.9375rem;
  height: 2.9375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  letter-spacing: 0;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .qa-list__item-question::after {
    top: 50%;
    left: 1rem;
  }
}

.qa-list__item-question.is-open {
  background-color: #2F4672;
  color: #fff;
}

.qa-list__item-question.is-open span {
  background-color: #fff;
  color: #2F4672;
}

.qa-list__item-question.is-open::before {
  background-color: #fff;
}

.qa-list__item-question.is-open::after {
  color: #2F4672;
}

.qa-list__item-answer {
  padding: 1.625rem 1.5rem 1.625rem 5.5rem;
  display: none;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 0 0 0.5rem 0.5rem;
  transition: background-color 0.3s, color 0.3s;
  position: relative;
}
@media screen and (max-width: 768px) {
  .qa-list__item-answer {
    padding: 1.625rem 1rem 1.625rem 5.0625rem;
    width: min(100%, 39.5rem);
  }
}

.qa-list__item-answer p {
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.4;
  color: #4C4639;
  text-align: left;
  overflow-wrap: anywhere;
}

.qa-list__item-answer a {
  color: #0976B4;
  text-decoration: underline;
}

.qa-list__item-answer a:visited {
  color: #065A89;
}

.qa-list__item-answer::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 1.625rem;
  width: 2.9375rem;
  height: 2.9375rem;
  display: inline-block;
  border-radius: 50%;
  background-color: #2F4672;
  line-height: 2.9375rem;
  color: #2F4672;
  background-color: #fff;
  border: 2px solid #2F4672;
}
@media screen and (max-width: 768px) {
  .qa-list__item-answer::before {
    left: 1rem;
  }
}

.qa-list__item-answer::after {
  content: "A";
  position: absolute;
  top: 1.5rem;
  left: 1.625rem;
  width: 2.9375rem;
  height: 2.9375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  letter-spacing: 0;
  color: #2F4672;
}
@media screen and (max-width: 768px) {
  .qa-list__item-answer::after {
    left: 1rem;
  }
}

.qa-list__error {
  margin-top: 5.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .qa-list__error {
    font-size: 1.125rem;
  }
}

.cta-start {
  background-image: url(../images/cta-start-bg-img.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 3.5rem 0;
}
@media screen and (max-width: 768px) {
  .cta-start {
    padding: 1.5625rem 0 4.375rem;
    background-image: url(../images/cta-start-bg-img-sp.png);
  }
}

.cta-start__inner.inner {
  width: min(100%, 51.875rem);
  padding-left: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  -moz-column-gap: 5.4375rem;
       column-gap: 5.4375rem;
}
@media screen and (max-width: 768px) {
  .cta-start__inner.inner {
    flex-direction: column;
    padding-left: 1rem;
  }
}

.cta-start__content {
  padding-bottom: 2.0625rem;
  width: min(100%, 24.3125rem);
  display: inline-block;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cta-start__content {
    padding-bottom: 0rem;
  }
}

.cta-start__logo-wrap {
  margin-top: 2.3125rem;
  width: min(100%, 24.3125rem);
  position: relative;
}

.cta-start__logo {
  aspect-ratio: 389/210;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 24.3125rem);
}
@media screen and (max-width: 768px) {
  .cta-start__logo {
    aspect-ratio: 307/166;
    width: min(80%, 40.625rem);
    display: inline-block;
    margin-inline: auto;
  }
}

.cta-start__logo picture,
.cta-start__logo img {
  display: inline-block;
  max-width: 100%;
}

.cta-start__shine {
  display: inline-block;
  width: 100%;
  aspect-ratio: 132/151;
  -o-object-fit: cover;
     object-fit: cover;
  width: auto;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .cta-start__shine {
    aspect-ratio: 132/151;
    width: auto;
  }
}

.cta-start__shine picture,
.cta-start__shine img {
  position: absolute;
  top: 20%;
  right: clamp(-5.125rem, -6.916rem + 3.73vw, -3.563rem);
  z-index: 1000;
  transform: translate(-50%, -50%);
  mix-blend-mode: screen;
}
@media screen and (max-width: 768px) {
  .cta-start__shine picture,
  .cta-start__shine img {
    top: 22%;
    right: clamp(-2.375rem, -2.955rem + 2.38vw, -1.813rem);
  }
}

.cta-start__title {
  margin-top: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.375rem;
  letter-spacing: 0.045em;
  line-height: 1.1;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cta-start__title {
    margin-top: 2.3125rem;
  }
}

.cta-start__store-button-list {
  margin-top: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .cta-start__store-button-list {
    margin-top: 0.5625rem;
  }
}

.cta-start__modal-qr-open::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: -1;
  border-radius: 3rem;
}

.cta-start__modal-qr-open {
  margin-top: 1.875rem;
  position: relative;
  display: inline-block;
  width: min(100%, 19.9375rem);
  padding: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4285714286;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.15);
  border-radius: 3rem;
  transition: opacity 0.3s;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .cta-start__modal-qr-open {
    width: min(100%, 22.375rem);
    margin-inline: auto;
  }
}

.cta-start__modal-qr-open:hover {
  opacity: 0.7;
}

.cta-start__modal-qr-open span {
  background: linear-gradient(90deg, #4b6cb7, #182848);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .cta-start__screens-wrap {
    margin-top: 2.125rem;
  }
}

.cta-start__screens {
  display: flex;
  justify-content: center;
  aspect-ratio: 320/476;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 20rem;
}
@media screen and (max-width: 768px) {
  .cta-start__screens {
    width: min(57%, 19.5625rem);
    margin-inline: auto;
  }
}

.cta-start__screen-img {
  aspect-ratio: 203/415;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 12.6875rem);
  height: -moz-fit-content;
  height: fit-content;
  box-shadow: 0 0.25rem 2.25rem rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 768px) {
  .cta-start__screen-img {
    aspect-ratio: 132/270;
    width: 82%;
  }
}

@media screen and (max-width: 768px) {
  .cta-start__screen-img picture,
  .cta-start__screen-img img {
    max-width: 100%;
  }
}

.cta-start__screen-img:not(:first-child) {
  margin-top: 4rem;
  margin-left: -5.25rem;
  z-index: 500;
}
@media screen and (max-width: 768px) {
  .cta-start__screen-img:not(:first-child) {
    margin-top: 2.625rem;
    margin-left: -3.5rem;
  }
}

.sub-mv {
  background-color: #F9FEFF;
  padding: 11.25rem 0 0;
}
@media screen and (max-width: 768px) {
  .sub-mv {
    padding: 9.0625rem 0 0;
  }
}

.sub-mv__inner.inner {
  width: min(100%, 61.75rem);
  text-align: center;
}

.sub-mv__img {
  margin-inline: auto;
  aspect-ratio: 140/51.66;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 8.75rem);
}

.sub-mv__img img {
  max-width: 100%;
}

.sub-mv__title {
  font-family: "Alegreya", serif;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.36;
  color: #BE8A3A;
}
@media screen and (max-width: 768px) {
  .sub-mv__title {
    font-size: 2.25rem;
  }
}

.sub-mv__title span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.8;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .sub-mv__title span {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    line-height: 1;
  }
}

.sub-mv__text {
  padding-top: 1.9375rem;
  margin-inline: auto;
  width: min(100%, 31.1875rem);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.5;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .sub-mv__text {
    padding-top: 2.375rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0.025em;
  }
}

.safety-chapter {
  background-color: #F9FEFF;
  padding: 7.5rem 0 4.75rem;
}
@media screen and (max-width: 768px) {
  .safety-chapter {
    padding: 3.75rem 0 0;
    overflow-x: hidden;
  }
}

.safety-chapter__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .safety-chapter__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.safety-chapter__section-item:not(:first-child) {
  margin-top: 3.5rem;
}

.safety-chapter__box {
  padding: 1.875rem 1.5rem;
  background-color: #E2F3F7;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .safety-chapter__box {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0.5rem 1.5rem 0.8125rem;
    flex-direction: column;
    row-gap: 1rem;
  }
}

.safety-chapter__content {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .safety-chapter__content {
    margin-inline: auto;
    width: min(100%, 39.5rem);
  }
}

.safety-chapter__section-heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1;
  color: #2F4672;
}
@media screen and (max-width: 768px) {
  .safety-chapter__section-heading {
    width: min(100%, 39.5rem);
    line-height: 1.3;
  }
}

.safety-chapter__section-heading::before {
  content: counter(section);
  margin: 0.375rem 0 1.4375rem;
  padding-left: 0.75rem;
  display: flex;
  align-items: start;
  width: 100%;
  font-family: "Roboto", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .safety-chapter__section-heading::before {
    margin: 0 0 0.625rem;
    padding-left: 0rem;
    line-height: 1.5;
  }
}

.safety-chapter__section-description {
  margin-top: 0.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4285714286;
  color: #2F4672;
}
@media screen and (max-width: 768px) {
  .safety-chapter__section-description {
    margin-top: 0.5rem;
  }
}

.safety-chapter__box-img {
  aspect-ratio: 272.8/151.3;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 17.05rem);
}
@media screen and (max-width: 768px) {
  .safety-chapter__box-img {
    margin-inline: auto;
  }
}

.safety-chapter__box-img img {
  width: 100%;
}

.safety-chapter__section-list,
.safety-chapter__sub-section-list {
  counter-reset: section 0;
  counter-reset: sub-section 0;
}

.safety-chapter__section-item {
  counter-increment: section 1;
}

.safety-chapter__sub-section-list {
  margin-top: 3.625rem;
}

.safety-chapter__sub-section-item {
  counter-increment: sub-section 1;
}

.safety-chapter__sub-section-item:not(:first-child) {
  margin-top: 3.625rem;
}

.safety-chapter__sub-section-heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.013em;
  line-height: 1.3333333333;
  color: #2F4672;
}
@media screen and (max-width: 768px) {
  .safety-chapter__sub-section-heading {
    font-size: 1.375rem;
    letter-spacing: 0em;
    line-height: 1;
  }
}

.safety-chapter__sub-section-heading::before {
  content: counter(section) "-" counter(sub-section) ".";
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 768px) {
  .safety-chapter__sub-section-heading::before {
    display: inline-block;
    width: 100%;
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.2727272727;
  }
}

.safety-chapter__sub-section-intro {
  margin-top: 1.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.005em;
  line-height: 1.4285714286;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .safety-chapter__sub-section-intro {
    margin-top: 1.125rem;
    line-height: 1.5;
  }
}

.safety-chapter__detail-list {
  margin-top: 1.125rem;
}
@media screen and (max-width: 768px) {
  .safety-chapter__detail-list {
    margin-top: 0.9375rem;
  }
}

.safety-chapter__detail-item {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4285714286;
  color: #4C4639;
}

.safety-chapter__detail-item:not(:first-child) {
  margin-top: 1.25rem;
}

.safety-chapter__detail-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  color: #4C4639;
  position: relative;
  padding-left: 1.3125rem;
  letter-spacing: 0em;
}

.safety-chapter__detail-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.625rem;
  transform: translate(-50%, 0%);
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: #4C4639;
}

.safety-chapter__detail-text {
  padding-left: 1.1875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.004em;
  line-height: 1.427;
}
@media screen and (max-width: 768px) {
  .safety-chapter__detail-text {
    line-height: 1.43;
  }
}

.safety-chapter__term {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.5;
  color: #4C4639;
}

.safety-chapter__term:not(:first-child) {
  margin-top: 0.8125rem;
}
@media screen and (max-width: 768px) {
  .safety-chapter__term:not(:first-child) {
    margin-top: 0.9375rem;
  }
}

.safety-chapter__term-description {
  padding-left: 0.5625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.4285714286;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .safety-chapter__term-description {
    padding-left: 0;
    text-indent: 0.375rem;
  }
}

.qa-search {
  padding: 3.75rem 0 4rem;
  background: linear-gradient(90deg, rgb(75, 108, 183) 0%, rgb(24, 40, 72) 100%);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .qa-search {
    padding: 3.6875rem 0rem 4rem;
  }
}

.qa-search__inner.inner {
  width: min(100%, 43.125rem);
}
@media screen and (max-width: 768px) {
  .qa-search__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.qa-search__title {
  margin-top: 3.0625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.375rem;
  letter-spacing: 0;
  line-height: 1.2727272727;
  color: #fff;
}

.qa-search__form {
  margin-inline: auto;
  margin-top: 2.6875rem;
  width: min(100%, 40rem);
  position: relative;
}

.qa-search__input {
  width: 100%;
  padding: 1rem 1rem 1rem 4.5rem;
  background-color: #fff;
  border-radius: 3rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  .qa-search__input {
    padding: 1rem 1rem 1rem 4.5rem;
  }
}

.qa-search__form span {
  content: url(../images/qa-search-icon.svg);
  position: absolute;
  top: 50%;
  left: 7%;
  transform: translate(-50%, -50%);
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 768px) {
  .qa-search__form span {
    left: 2.6875rem;
  }
}

.faq {
  background-color: #F9FEFF;
  padding: 3.5625rem 0 0;
}
@media screen and (max-width: 768px) {
  .faq {
    padding-top: 2rem;
  }
}

.faq__inner.inner {
  width: min(100%, 61.875rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .faq__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.faq__list {
  margin-top: 3.5625rem;
  margin-inline: auto;
}

.qa-categories {
  padding: 6.25rem 0 6.875rem;
}
@media screen and (max-width: 768px) {
  .qa-categories {
    padding: 3.375rem 0 2rem;
  }
}

.qa-categories__inner.inner {
  width: min(100%, 61.875rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .qa-categories__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.qa-categories__list {
  margin-top: 3.625rem;
  display: grid;
  grid-template-columns: repeat(3, min(100%, 18rem));
  -moz-column-gap: 2.375rem;
       column-gap: 2.375rem;
  row-gap: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .qa-categories__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

.qa-categories__item {
  width: min(100%, 18rem);
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  flex-direction: column;
  border: 0.0625rem solid #526DA5;
  border-radius: 0.5rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.06);
  background-color: #E9F4FA;
}

.qa-categories__item a {
  width: 100%;
  height: 10rem;
}

.qa-categories__item img {
  margin-top: 2.0625rem;
  margin-inline: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 3.75rem);
}

.qa-categories__name {
  margin-top: 1.5rem;
  padding-bottom: 1.1875rem;
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.015em;
  color: #2F4672;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .qa-categories__name {
    padding-bottom: 1.4375rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}

.cta-contact {
  padding: 3.0625rem 0 4.375rem;
  background-color: #E9F6FD;
}

.cta-contact__inner.inner {
  width: min(100%, 61.875rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cta-contact__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.cta-contact__title {
  font-family: "Roboto", sans-serif;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.2727272727;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .cta-contact__title {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
  }
}

.cta-contact__button {
  margin-top: 2.6875rem;
  width: min(100%, 20.5rem);
  padding: 0.9375rem 0.9375rem 0.9375rem 0.5625rem;
  display: inline-block;
  background-color: #2F4672;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #fff;
  border-radius: 3.125rem;
  box-shadow: 0rem 0.0625rem 0.125rem rgba(0, 0, 0, 0.3), 0rem 0.0625rem 0.1875rem 0.0625rem rgba(0, 0, 0, 0.15);
  position: relative;
  transition: opacity 0.4s;
}

.cta-contact__button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.08);
  z-index: 100;
}

.cta-contact__button span {
  content: url(../images/mail-icon.png);
  margin-right: 0.5rem;
  width: 1.125rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.cta-contact__button:hover {
  opacity: 0.7;
}

.qa-category-items {
  padding: 3.5625rem 0 8.5625rem;
}
@media screen and (max-width: 768px) {
  .qa-category-items {
    padding-top: 2rem;
  }
}

.qa-category-items__inner.inner {
  margin-inline: auto;
  width: min(100%, 61.875rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .qa-category-items__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.qa-category-items__qa-list {
  margin-top: 3.625rem;
  margin-inline: auto;
}

.search-items {
  padding: 3.5625rem 0 8.5625rem;
}
@media screen and (max-width: 768px) {
  .search-items {
    padding-top: 2rem;
  }
}

.search-items__inner.inner {
  margin-inline: auto;
  width: min(100%, 61.875rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .search-items__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.search-items__qa-list {
  margin-top: 3.625rem;
  margin-inline: auto;
}

.contact-form {
  padding: 9.1875rem 0 7.9375rem;
  background-color: #F9FEFF;
}

.contact-form__inner.inner {
  margin-inline: auto;
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .contact-form__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.contact-form__title {
  text-align: center;
}

.contact-form__title span {
  margin-top: 1.75rem;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  color: #1E1B13;
}

.wpcf7 {
  margin-top: 7.1875rem;
}

.contact-form__wrap:not(:first-child) {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .contact-form__wrap:not(:first-child) {
    margin-top: 1.875rem;
  }
}

.contact-form__label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #4C4639;
  display: inline-block;
}

.contact-form__required-mark {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #EA3C3A;
}

.contact-form__required-mark {
  font-size: 0.875rem;
}

.contact-form__input,
.contact-form__select,
.contact-form__textarea {
  margin-top: 1rem;
}

.contact-form__input input,
.contact-form__select select,
.contact-form__textarea textarea {
  padding: 1rem;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0em;
  line-height: 1.5;
  color: #4C4639;
  border-radius: 0.25rem;
  border: 0.0625rem solid #7D7667;
  background-color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.contact-form__input input::-moz-placeholder, .contact-form__textarea textarea::-moz-placeholder {
  color: rgba(76, 70, 57, 0.3);
}

.contact-form__input input::placeholder,
.contact-form__textarea textarea::placeholder {
  color: rgba(76, 70, 57, 0.3);
}

.contact-form__select select {
  padding: 1rem;
  width: 100%;
  background-image: url(../images/contact-select-arrow-img.png);
  background-repeat: no-repeat;
  background-size: 1.5rem;
  background-position: right 0.875rem top 50%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  color: #4C4639;
  cursor: pointer;
  transition: background-color 5s, color 5s;
}

.contact-form__textarea textarea {
  height: 15rem;
  resize: none;
}

.wpcf7-list-item {
  margin-left: 0rem;
}

.contact-submit__btn {
  margin-top: 3rem;
  width: min(100%, 20.5rem);
  margin-inline: auto;
  position: relative;
}

.contact-submit__btn input {
  padding: 0.9375rem 0.9375rem 0.9375rem 0.5625rem;
  background-color: #2F4672;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #fff;
  border-radius: 3.125rem;
  box-shadow: 0rem 0.0625rem 0.125rem rgba(0, 0, 0, 0.3), 0rem 0.0625rem 0.1875rem 0.0625rem rgba(0, 0, 0, 0.15);
  width: 100%;
  text-align: center;
  transition: opacity 0.4s, color 0.8s, background-color 0.8s;
}

.contact-submit__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.08);
  z-index: 100;
  pointer-events: none;
  cursor: pointer;
}

.contact-submit__btn:hover input {
  opacity: 0.5;
}

.wpcf7-response-output {
  margin-top: 0rem;
}

.plans {
  padding-top: 3.625rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .plans {
    padding-top: 1.75rem;
  }
}

.plans--regular.plans {
  padding-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .plans--regular.plans {
    padding-top: 3.75rem;
  }
}

.plans__inner.inner {
  width: min(100%, 60.875rem);
}
@media screen and (max-width: 768px) {
  .plans__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.plans__tables {
  margin-top: 3.5625rem;
  display: grid;
  grid-template-columns: repeat(2, 28.125rem);
  justify-content: center;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .plans__tables {
    margin-top: 1.6875rem;
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }
}

.plans__tables--female.plans__tables {
  grid-template-columns: 1fr;
}

.plans__table {
  width: min(100%, 28.125rem);
}
@media screen and (max-width: 768px) {
  .plans__table {
    width: min(100%, 39.5rem);
  }
}

.plans__tables--female.plans__tables .plans__table {
  width: min(100%, 58.75rem);
}

.plans__group {
  margin-top: 1.5rem;
}

.plans__annotation {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  color: #4C4639;
}

.campaign-banner {
  padding-top: 7.625rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .campaign-banner {
    padding-top: 2.3125rem;
  }
}

.campaign-banner__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .campaign-banner__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.campaign-banner__img img {
  margin-inline: auto;
  aspect-ratio: 940/260;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .campaign-banner__img img {
    aspect-ratio: 358/99;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}

.price-list {
  line-height: 1;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 0.75rem;
  border-right: 1px solid #CEC6B4;
  background-color: #F9FEFF;
  box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.3), 0 0.125rem 0.375rem rgba(0, 0, 0, 0.15);
}

.price-list__head-img {
  padding: 0;
  aspect-ratio: 450/151;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .price-list__head-img {
    aspect-ratio: 358/151;
  }
}

.price-list__head-img img,
.price-list__head-img picture {
  aspect-ratio: 450/151;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 100%;
  border-radius: 0.75rem 0.75rem 0 0;
  border: 1px solid #CEC6B4;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .price-list__head-img img,
  .price-list__head-img picture {
    width: 100%;
    aspect-ratio: 358/151;
  }
}

.price-list__tbody,
.price-list__tbody-regular {
  width: min(100%, 28.0625rem);
}

.price-list__tbody td,
.price-list__tbody-regular td {
  height: 5rem;
  border-bottom: 1px solid #CEC6B4;
}
@media screen and (max-width: 768px) {
  .price-list__tbody td,
  .price-list__tbody-regular td {
    height: 4.4375rem;
  }
}

.price-list__tbody tr:first-child,
.price-list__tbody-regular tr:first-child {
  border-top: none;
}

.price-list__period {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #1E1B13;
  border-right: 1px solid #CEC6B4;
  background-color: #EBE2CF;
  width: 34%;
}
@media screen and (max-width: 768px) {
  .price-list__period {
    padding: 0.9375rem 0;
    width: 30%;
  }
}

.price-list__period-regular {
  width: 39%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #1E1B13;
  border-right: 1px solid #CEC6B4;
  background-color: #EBE2CF;
}
@media screen and (max-width: 768px) {
  .price-list__period-regular {
    padding: 0.9375rem 0;
    width: 12.5%;
  }
}

.price-list__period span,
.price-list__period-regular span {
  font-family: "Roboto", sans-serif;
  font-size: 1.8125rem;
  font-weight: 700;
  line-height: 0.8275862069;
  letter-spacing: 0.05em;
  color: #1E1B13;
}

.price-list__price {
  font-family: "Roboto", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 0.5;
  letter-spacing: 0em;
  color: #1E1B13;
  text-align: end;
}
@media screen and (max-width: 768px) {
  .price-list__price {
    padding: 0.9375rem 0;
    font-size: 1rem;
    width: 29%;
  }
}

.price-list__price-regular {
  padding-left: 1.625rem;
  font-family: "Roboto", sans-serif;
  font-size: 1.8125rem;
  font-weight: 700;
  line-height: 0.5;
  letter-spacing: 0em;
  color: #1E1B13;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-list__price-regular {
    padding: 1.125rem 0 1rem;
    font-size: 1.625rem;
    width: 29%;
  }
}

.price-list__wrap {
  display: inline-block;
  position: relative;
  margin-right: 0.5rem;
}

.price-list__wrap-regular {
  display: inline-block;
  position: relative;
}

.price-list__wrap::before {
  content: url(../images/Bulk.svg);
  position: absolute;
  top: 48%;
  left: -27%;
  transform: translate(-50%, -50%);
  width: 0.875rem;
}

.price-list__tbody-regular tr:not(:first-child) .price-list__wrap-regular::before {
  content: "";
  background-image: url(../images/once-inversion-img.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 29%;
  left: -15%;
  transform: translate(-50%, -50%);
  width: 0.875rem;
  height: 1.1875rem;
}

.price-list__tbody tr:first-child .price-list__wrap {
  padding-top: 0.625rem;
}

.price-list__yen {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.125;
  letter-spacing: 0.05em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-list__yen {
    font-size: 0.875rem;
  }
}

.price-list__yen-regular {
  font-family: "Roboto", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.0909090909;
  letter-spacing: 0.05em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-list__yen-regular {
    font-size: 1.125rem;
  }
}

.price-list__tbody tr:first-child .price-list__per-month,
.price-list__tbody tr:first-child .price-list__per-month-regular {
  visibility: hidden;
}

.price-list__arrow {
  position: relative;
  width: 9%;
}
@media screen and (max-width: 768px) {
  .price-list__arrow {
    width: 11%;
  }
}

.price-list__arrow::before {
  content: "";
  background-image: url(../images/arrow.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: -10%;
  transform: translate(0%, -50%);
  width: 2rem;
  height: 1.3125rem;
}
@media screen and (max-width: 768px) {
  .price-list__arrow::before {
    left: 15%;
  }
}

.price-list__price.price-list__price--campaign {
  text-align: left;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 0.8;
  color: #F4276B;
  width: 29%;
}
@media screen and (max-width: 768px) {
  .price-list__price.price-list__price--campaign {
    width: 31%;
    padding-left: 0.3125rem;
    font-size: 1.625rem;
  }
}

.price-list__per-month,
.price-list__price.price-list__price--campaign .price-list__per-month {
  margin-top: 0.375rem;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.5rem;
  font-weight: 900;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-list__per-month,
  .price-list__price.price-list__price--campaign .price-list__per-month {
    font-size: 0.5rem;
  }
}

.price-list__per-month-regular {
  margin-top: 0.5625rem;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-list__per-month-regular {
    margin-top: 0.1875rem;
    font-size: 0.5rem;
  }
}

.price-list__wrap .price-list__per-month,
.price-list__per-month-regular {
  text-align: center;
}

.price-list__price.price-list__price--campaign .price-list__per-month {
  padding-left: 1.875rem;
}
@media screen and (max-width: 768px) {
  .price-list__price.price-list__price--campaign .price-list__per-month {
    padding-left: 1.25rem;
  }
}

.price-list__yen-month-regular {
  vertical-align: middle;
  font-family: "Roboto", sans-serif;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0em;
  color: #1E1B13;
}

.price-list__slash-month-regular {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-list__slash-month-regular {
    font-size: 0.5rem;
  }
}

.price-list__price.price-list__price--campaign .price-list__yen {
  font-size: 1.375rem;
}
@media screen and (max-width: 768px) {
  .price-list__price.price-list__price--campaign .price-list__yen {
    font-size: 1.125rem;
  }
}

.price-list__price.price-list__price--campaign,
.price-list__price.price-list__price--campaign .price-list__per-month,
.price-list__price--campaign .price-list__yen {
  color: #F4276B;
}

.comparison {
  padding: 3.625rem 0 0;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .comparison {
    padding: 2.5rem 0 0;
  }
}

.comparison__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .comparison__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.comparison__container {
  padding: 1.625rem 1.25rem 1.625rem;
  background-color: #fff;
  border: 1px solid #2F4672;
  border-radius: 0.5rem;
  position: relative;
  box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 768px) {
  .comparison__container {
    margin-inline: auto;
    padding: 1.65625rem 0.75rem 0.90625rem;
  }
}

.comparison__content-title {
  cursor: pointer;
}

.comparison__content-title::after {
  content: "";
  position: absolute;
  top: 3.1875rem;
  right: 1%;
  transform: translate(-50%, -50%);
  width: 2.5625rem;
  height: 2.5625rem;
  background-size: contain;
  background-image: url(../images/plan-arrow-img.png);
  cursor: pointer;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .comparison__content-title::after {
    right: -1%;
    top: 2.875rem;
  }
}

.comparison__content-title,
.comparison__content-tables {
  width: 100%;
}

.comparison__content-tables {
  display: none;
  border-radius: 0.5rem;
}

.comparison__content-title.is-open .comparison__content-tables {
  display: block;
}

.comparison__content-title.is-open::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

.comparison__img {
  margin-left: 0.25rem;
  display: inline-block;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 2.9375rem);
  max-width: 100%;
}

.comparison__img img {
  height: 100%;
  max-width: 100%;
}

.comparison__title {
  margin: 0.5rem 0 0 0.6875rem;
  vertical-align: top;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0em;
  color: #2F4672;
}

.comparison__table-title {
  margin-top: 2.1875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #4C4639;
}

.comparison__table {
  margin-top: 1rem;
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 0.5rem;
}

.comparison__table-head tr {
  border: 1px solid #CEC6B4;
  border-top: none;
}

.comparison__head {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .comparison__head {
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
}

.comparison__head:first-child {
  background-color: #EBE2CF;
  color: #1E1B13;
}

.comparison__head:nth-child(2) {
  background-color: #725C0C;
  color: #fff;
}

.comparison__head.comparison__head--img {
  padding: 0;
  aspect-ratio: 300/56;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 18.75rem);
}
@media screen and (max-width: 768px) {
  .comparison__head.comparison__head--img {
    aspect-ratio: 110/56;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.comparison__head.comparison__head--img img {
  width: 100%;
  height: auto;
  aspect-ratio: 300/56;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .comparison__head.comparison__head--img img {
    aspect-ratio: 110/56;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}

.comparison__cell {
  padding: 0.75rem;
  background-color: #fff;
  color: #1E1B13;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: 0.05em;
  border: 1px solid #CEC6B4;
  text-align: center;
  word-wrap: break-word;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 768px) {
  .comparison__cell {
    height: 3rem;
    padding: 0.625rem 0.125rem;
    vertical-align: middle;
    line-height: 1;
  }
}

.comparison__cell.comparison__cell--function {
  background-color: #FFF8F0;
}
@media screen and (max-width: 768px) {
  .comparison__cell.comparison__cell--function {
    font-size: 0.625rem;
  }
}

.comparison__head {
  border-bottom: none;
}

.comparison__table-head tr {
  border-bottom: none;
}

.comparison__table-body {
  border-radius: 0.5rem;
  border: 1px solid #CEC6B4;
  border-top: none;
}

.comparison__table-body tr:first-child td {
  border-top: none;
}

.price-female {
  line-height: 1;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 0.75rem;
  border-right: 1px solid #CEC6B4;
  box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.3), 0 0.125rem 0.375rem rgba(0, 0, 0, 0.15);
}

.price-female__head-img {
  padding: 0;
  aspect-ratio: 940/151;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .price-female__head-img {
    aspect-ratio: 358/151;
  }
}

.price-female__head-img img,
.price-female__head-img picture {
  aspect-ratio: 940/151;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.75rem 0.75rem 0 0;
  border: 1px solid #CEC6B4;
  border-bottom: none;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .price-female__head-img img,
  .price-female__head-img picture {
    width: 100%;
    aspect-ratio: 358/151;
  }
}

.price-female__tbody,
.price-female__tbody-regular {
  width: min(100%, 58.75rem);
}
@media screen and (max-width: 768px) {
  .price-female__tbody,
  .price-female__tbody-regular {
    width: min(100%, 39.5rem);
  }
}

.price-female__tbody td,
.price-female__tbody-regular td {
  height: 5rem;
  border-bottom: 1px solid #CEC6B4;
}
@media screen and (max-width: 768px) {
  .price-female__tbody td,
  .price-female__tbody-regular td {
    height: 4.4375rem;
  }
}

.price-female__tbody-regular tr:not(:first-child) .price-female__price-regular {
  padding-left: 2rem;
}
@media screen and (max-width: 768px) {
  .price-female__tbody-regular tr:not(:first-child) .price-female__price-regular {
    padding-left: 0;
  }
}

.price-female__tbody tr:first-child,
.price-female__tbody-regular tr:first-child {
  border-top: none;
}

.price-female__period {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #1E1B13;
  border-right: 1px solid #CEC6B4;
  background-color: #EBE2CF;
  width: 26%;
}
@media screen and (max-width: 768px) {
  .price-female__period {
    width: 30%;
  }
}

.price-female__period-regular {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #1E1B13;
  border-right: 1px solid #CEC6B4;
  background-color: #EBE2CF;
  width: 26%;
}
@media screen and (max-width: 768px) {
  .price-female__period-regular {
    width: 12.5%;
  }
}

.price-female__period span,
.price-female__period-regular span {
  font-family: "Roboto", sans-serif;
  font-size: 1.8125rem;
  font-weight: 700;
  line-height: 0.8275862069;
  letter-spacing: 0.05em;
  color: #1E1B13;
}
.price-female__price {
  font-family: "Roboto", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 0.5;
  letter-spacing: 0em;
  color: #1E1B13;
  text-align: end;
}
@media screen and (max-width: 768px) {
  .price-female__price {
    padding: 0.9375rem 0;
    font-size: 1rem;
    width: 29%;
  }
}

.price-female__price-regular {
  font-family: "Roboto", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0em;
  color: #1E1B13;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-female__price-regular {
    line-height: 1.1;
    padding: 0.75rem 0;
    font-size: 1.75rem;
    width: 29%;
  }
}

.price-female__wrap,
.price-female__wrap-regular {
  display: inline-block;
  position: relative;
  margin-right: 0.5rem;
}

.price-female__wrap::before {
  content: url(../images/once-img.png);
  position: absolute;
  top: 48%;
  left: -27%;
  transform: translate(-50%, -50%);
  width: 0.875rem;
}

.price-female__tbody-regular tr:not(:first-child) .price-female__wrap-regular::before {
  content: "";
  background-image: url(../images/once-inversion-img.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 47%;
  left: -6%;
  transform: translate(-50%, -50%);
  width: 0.75rem;
  height: 1.75rem;
}
@media screen and (max-width: 768px) {
  .price-female__tbody-regular tr:not(:first-child) .price-female__wrap-regular::before {
    content: "";
    background-image: url(../images/once-inversion-img.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    top: 39%;
    left: -15%;
    width: 0.875rem;
    height: 1.1875rem;
  }
}

.price-female__tbody tr:first-child .price-female__wrap {
  padding-top: 0.625rem;
}

.price-female__yen {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.125;
  letter-spacing: 0.05em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-female__yen {
    font-size: 0.875rem;
  }
}

.price-female__yen-regular {
  font-family: "Roboto", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.125;
  letter-spacing: 0.05em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-female__yen-regular {
    font-size: 1.125rem;
  }
}

.price-female__tbody tr:first-child .price-female__per-month {
  visibility: hidden;
}

.price-female__arrow {
  position: relative;
  width: 3rem;
  height: 5rem;
}
@media screen and (max-width: 768px) {
  .price-female__arrow {
    width: 11%;
  }
}

.price-female__arrow::before {
  content: "";
  position: absolute;
  background-image: url(../images/arrow.svg);
  top: 50%;
  left: 0;
  transform: translate(0%, -50%);
  width: 2rem;
  height: 1.3125rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .price-female__arrow::before {
    left: 15%;
  }
}

.price-female__price.price-female__price--campaign {
  text-align: left;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 0.8;
  color: #F4276B;
  width: 34.5%;
}
@media screen and (max-width: 768px) {
  .price-female__price.price-female__price--campaign {
    padding-left: 0.3125rem;
    width: 31%;
    font-size: 1.625rem;
  }
}

.price-female__per-month,
.price-female__price.price-female__price--campaign .price-female__per-month {
  margin-top: 0.375rem;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.5rem;
  font-weight: 900;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-female__per-month,
  .price-female__price.price-female__price--campaign .price-female__per-month {
    font-size: 0.5rem;
  }
}

.price-female__per-month-regular {
  margin-top: 0.375rem;
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-female__per-month-regular {
    margin-top: 0rem;
    display: block;
    font-size: 0.5rem;
  }
}

.price-female__slash-month-regular {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .price-female__slash-month-regular {
    font-size: 0.5rem;
  }
}

.price-female__wrap .price-female__per-month {
  text-align: center;
}

.price-female__price.price-female__price--campaign .price-female__per-month {
  padding-left: 1.875rem;
}
@media screen and (max-width: 768px) {
  .price-female__price.price-female__price--campaign .price-female__per-month {
    padding-left: 1.25rem;
  }
}

.price-female__price.price-female__price--campaign .price-female__yen {
  font-size: 1.375rem;
}
@media screen and (max-width: 768px) {
  .price-female__price.price-female__price--campaign .price-female__yen {
    font-size: 1.125rem;
  }
}

.price-female__price.price-female__price--campaign,
.price-female__price.price-female__price--campaign .price-female__per-month,
.price-female__price--campaign .price-female__yen {
  color: #F4276B;
}

.plans-female {
  padding-top: 5rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .plans-female {
    padding-top: 1.6875rem;
  }
}

.plans-female__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .plans-female__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.plans-female__tables {
  margin-top: 3.5625rem;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .plans-female__tables {
    margin-top: 1.8125rem;
    grid-template-columns: 1fr;
  }
}

.plans-female__table {
  width: min(100%, 58.75rem);
}
@media screen and (max-width: 768px) {
  .plans-female__table {
    width: min(100%, 39.5rem);
  }
}

.plans-female__group {
  margin-top: 1.5rem;
}

.plans-female__annotation {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  color: #4C4639;
}

.purchase {
  padding: 5rem 0;
}
@media screen and (max-width: 768px) {
  .purchase {
    padding: 1.9375rem 0 2.6875rem;
  }
}

.purchase__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .purchase__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.purchase__description {
  margin-top: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
  color: #1E1B13;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .purchase__description {
    margin-top: 1.125rem;
  }
}

.purchase__container {
  margin-top: 2.5rem;
  padding: 2.9375rem 0;
  background-image: url(../images/purchaseーbg-img.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .purchase__container {
    margin-top: 2.75rem;
    padding: 2.375rem 0 2.0625rem;
  }
}

.purchase__content {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 5.5rem;
       column-gap: 5.5rem;
  width: min(100%, 79rem);
}
@media screen and (max-width: 768px) {
  .purchase__content {
    flex-direction: column;
    row-gap: 2.1875rem;
  }
}

.purchase__storybook-logo-img {
  padding-left: 2.375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(43%, 25.5625rem);
}
@media screen and (max-width: 768px) {
  .purchase__storybook-logo-img {
    padding-left: 0;
    width: min(100%, 31.1875rem);
  }
}

.purchase__storybook-logo-img img {
  aspect-ratio: 409/190;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .purchase__storybook-logo-img img {
    aspect-ratio: 283/132;
    width: 79%;
  }
}

.purchase__wrap {
  width: min(100%, 18rem);
}
.purchase__wrap-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #FFE086;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .purchase__wrap-title {
    font-size: 1rem;
  }
}

.purchase__screens {
  margin-top: 1.4375rem;
}
@media screen and (max-width: 768px) {
  .purchase__screens {
    margin-top: 1.1875rem;
  }
}

.purchase__screens img {
  margin-inline: auto;
  aspect-ratio: 249/199;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  flex-shrink: 0;
  width: min(100%, 15.5625rem);
}
@media screen and (max-width: 768px) {
  .purchase__screens img {
    aspect-ratio: 249/199;
  }
}

.purchase__wrap-detail {
  margin-top: 1.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .purchase__wrap-detail {
    margin-top: 2.25rem;
  }
}

.news {
  padding: 6.375rem 0 4.625rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .news {
    padding: 1.125rem 0 3.1875rem;
  }
}

.news__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .news__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.news__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.75rem;
  justify-items: center;
}
@media screen and (max-width: 768px) {
  .news__list {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1.625rem;
  }
}

.news__item {
  width: min(100%, 18.8125rem);
  padding-bottom: 1rem;
  display: grid;
}
@media screen and (max-width: 768px) {
  .news__item {
    padding-bottom: 1.375rem;
  }
}

.news__item a {
  grid-row: span 3;
  row-gap: 0;
}

.news__img {
  border-radius: 1rem;
  aspect-ratio: 301/185;
  width: min(100%, 18.8125rem);
  height: auto;
}
@media screen and (max-width: 768px) {
  .news__img {
    aspect-ratio: 170/105;
  }
}

.news__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .news__img img {
    aspect-ratio: 170/105;
  }
}

.news__item-info {
  margin-top: 0.9375rem;
  padding: 0 1rem 1rem;
}
@media screen and (max-width: 768px) {
  .news__item-info {
    margin-top: 1rem;
  }
}

.news__time {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
  color: #4C4639;
}

.news__title {
  margin-top: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #1E1B13;
}

.no-posts {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #1E1B13;
}

.news-detail {
  padding: 8.4375rem 0 3.3125rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .news-detail {
    padding: 5.25rem 0 7.3125rem;
  }
}

.news-detail__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .news-detail__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.news-detail__container {
  background-color: #fff;
  padding: 1.71875rem 2rem 4rem;
  border-radius: 1rem;
  box-shadow: 0 0.25rem 2.25rem rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 768px) {
  .news-detail__container {
    background-color: #F9FEFF;
    padding: 0;
    box-shadow: none;
  }
}

.news-detail__img {
  aspect-ratio: 876/450;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 54.75rem);
  height: auto;
}
@media screen and (max-width: 768px) {
  .news-detail__img {
    aspect-ratio: 358/233;
    width: min(100%, 39.5rem);
  }
}

.news-detail__img img {
  aspect-ratio: 876/450;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .news-detail__img img {
    aspect-ratio: 358/233;
  }
}

.news-detail__date {
  margin-top: 2.8125rem;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .news-detail__date {
    margin-top: 2rem;
  }
}

.news-detail__title {
  margin: 0.25rem 0 1.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .news-detail__title {
    margin-top: 1rem;
  }
}

.news-detail__title:not(:first-of-type) {
  margin-top: 1.875rem;
}

.news-detail__content p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #1E1B13;
}
.news-detail__content h2 {
  margin: 2.5rem 0 1.875rem;
  padding-bottom: 0.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  color: #2F4672;
  border-bottom: dashed 1px #2F4672;
}
@media screen and (max-width: 768px) {
  .news-detail__content h2 {
    padding-bottom: 0.3125rem;
  }
}

.news-detail__content h3 {
  margin: 2.5rem 0 1.875rem;
  padding-bottom: 0.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0em;
  color: #2F4672;
  border-bottom: dashed 1px #2F4672;
}

.news-detail__content a {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0;
  color: #1E1B13;
  transition: opacity 0.5s;
}
@media screen and (max-width: 768px) {
  .news-detail__content a {
    font-size: 0.875rem;
  }
}

.news-detail__content ul {
  margin-top: 4.4375rem;
}
@media screen and (max-width: 768px) {
  .news-detail__content ul {
    margin-top: 1.3125rem;
  }
}

.news-detail__content li {
  list-style: none;
  display: flex;
  align-items: flex-start;
  text-indent: -0.09375rem;
  position: relative;
  padding-left: 0.75rem;
}

.news-detail__content li::before {
  margin-right: 0.660625rem;
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5625rem;
  left: 0;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: #2F4672;
}

.news-detail__content li a {
  display: inline-block;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0;
  color: #1E1B13;
  transition: opacity 0.5s;
}
@media screen and (max-width: 768px) {
  .news-detail__content li a {
    font-size: 0.875rem;
  }
}

.news-detail__btn {
  margin-top: 6.0625rem;
  margin-inline: auto;
  width: min(100%, 10.875rem);
  background-color: #fff;
  text-align: center;
}

.news-detail__btn a {
  padding: 0.5rem;
  display: inline-block;
  border-radius: 6.25rem;
  border: 1px solid #989080;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #2F4672;
  width: 100%;
  height: 100%;
}

.news-detail__share {
  margin-top: 5.1875rem;
}
@media screen and (max-width: 768px) {
  .news-detail__share {
    margin-top: 2.5rem;
  }
}

.share {
  padding: 0 1rem;
}

.share__container {
  border-top: dashed 1px #4C4639;
  border-bottom: dashed 1px #4C4639;
}

.share__text {
  margin-top: 1.75rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #4C4639;
}

.share__list {
  margin-top: 1.75rem;
  padding-bottom: 2.4375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.share__item {
  width: min(100%, 3rem);
  height: 100%;
  aspect-ratio: 1;
}

.share__link-copy {
  padding: 0;
}

.share__item img {
  width: 100%;
}

.column {
  padding: 5.625rem 0 7.0625rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .column {
    padding: 0.4375rem 0 1.5rem;
  }
}

.column__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .column__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.column__category-list {
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .column__category-list {
    row-gap: 1rem;
  }
}

.column__category-item {
  flex: 0 1 auto;
  text-align: center;
}

.column__category-item a {
  margin-inline: auto;
  padding: 0.625rem 0;
  display: inline-block;
  width: auto;
  min-width: 7.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #2F4672;
  white-space: nowrap;
  border-radius: 1.5rem;
  border: 1px solid #2F4672;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .column__category-item a {
    padding-top: 0.75rem;
    min-width: 6.25rem;
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
}

.column__category-item.is-active a {
  background-color: #2F4672;
  color: #fff;
}

.column__container {
  margin-top: 6.125rem;
}
@media screen and (max-width: 768px) {
  .column__container {
    margin-top: 2.25rem;
  }
}

.column__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.5rem;
  justify-items: center;
}
@media screen and (max-width: 768px) {
  .column__list {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1.125rem;
  }
}

.column__item {
  width: min(100%, 18.8125rem);
  padding-bottom: 1.4375rem;
  display: grid;
}
@media screen and (max-width: 768px) {
  .column__item {
    padding-bottom: 1rem;
  }
}

.column__item a {
  grid-row: span 4;
  row-gap: 0;
}

.column__img {
  border-radius: 1rem;
  aspect-ratio: 301/185;
  width: min(100%, 18.8125rem);
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .column__img {
    aspect-ratio: 170/105;
  }
}

.column__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .column__img img {
    aspect-ratio: 170/105;
  }
}

.column__item img {
  border-radius: 1rem;
  aspect-ratio: 301/185;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .column__item img {
    aspect-ratio: 170/105;
  }
}

.column__item-info {
  margin-top: 1rem;
  padding: 0 1rem 1rem;
}
@media screen and (max-width: 768px) {
  .column__item-info {
    margin-top: 1rem;
    padding: 0;
  }
}

.column__time {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
  color: #4C4639;
}

.column__title {
  margin-top: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .column__title {
    margin-top: 0.1875rem;
  }
}

.column__item-categories {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.3125rem;
       column-gap: 0.3125rem;
  flex-wrap: wrap;
}

.column__item-category {
  margin-top: 0.5625rem;
  flex: 0 1 auto;
  padding: 0.25rem 0.75rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.4545454545;
  letter-spacing: 0.05em;
  color: #2F4672;
  white-space: nowrap;
  background-color: #F9FEFF;
  border: 1px solid #2F4672;
  border-radius: 1.5rem;
}
@media screen and (max-width: 768px) {
  .column__item-category {
    margin-top: 0.5rem;
  }
}

.no-posts {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #1E1B13;
  background-color: #F9FEFF;
  text-align: center;
}

.column-detail {
  padding: 8.4375rem 0 3.3125rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .column-detail {
    padding: 5.25rem 0 7.3125rem;
  }
}

.column-detail__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .column-detail__inner.inner {
    width: min(100%, 39.5rem);
  }
}

.column-detail__container {
  background-color: #fff;
  padding: 2.4375rem 2rem 4rem;
  border-radius: 1rem;
  box-shadow: 0 0.25rem 2.25rem rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 768px) {
  .column-detail__container {
    background-color: #F9FEFF;
    padding: 0;
    box-shadow: none;
  }
}

.column-detail__img {
  aspect-ratio: 876/450;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 54.75rem);
  height: auto;
}
@media screen and (max-width: 768px) {
  .column-detail__img {
    aspect-ratio: 358/233;
    width: min(100%, 39.5rem);
  }
}

.column-detail__img img {
  aspect-ratio: 876/450;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .column-detail__img img {
    aspect-ratio: 358/233;
  }
}

.column-detail__category-list {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.3125rem;
       column-gap: 0.3125rem;
  flex-wrap: wrap;
}

.column-detail__category-item {
  margin-top: 2rem;
  flex: 0 1 auto;
  padding: 0.375rem 1rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #2F4672;
  white-space: nowrap;
  background-color: #F9FEFF;
  border: 1px solid #2F4672;
  border-radius: 1.5rem;
}

.column-detail__date {
  margin-top: 1.9375rem;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .column-detail__date {
    margin-top: 0.9375rem;
  }
}

.column-detail__title {
  margin: 0.25rem 0 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .column-detail__title {
    margin: 1rem 0;
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

.column-detail__content p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #1E1B13;
}
.column-detail__content h2 {
  margin: 2.5rem 0 2rem;
  padding-bottom: 0.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  color: #2F4672;
  border-bottom: dashed 1px #2F4672;
}
@media screen and (max-width: 768px) {
  .column-detail__content h2 {
    padding-bottom: 0.3125rem;
    font-size: 1.375rem;
    line-height: 1.2727272727;
  }
}

.column-detail__content h3 {
  margin: 2.5rem 0 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0em;
  color: #2F4672;
  border-bottom: dashed 1px #2F4672;
}

.column-detail__content a {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0;
  color: #1E1B13;
  transition: opacity 0.5s;
}
@media screen and (max-width: 768px) {
  .column-detail__content a {
    font-size: 0.875rem;
  }
}

.column-detail__content ul {
  margin-top: 4.4375rem;
}
@media screen and (max-width: 768px) {
  .column-detail__content ul {
    margin-top: 1.3125rem;
  }
}

.column-detail__content li {
  list-style: none;
  display: flex;
  align-items: flex-start;
  text-indent: -0.09375rem;
  position: relative;
  padding-left: 0.75rem;
}

.column-detail__content li::before {
  margin-right: 0.660625rem;
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5625rem;
  left: 0;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: #2F4672;
}

.column-detail__content li a {
  display: inline-block;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0;
  color: #1E1B13;
  transition: opacity 0.5s;
}
@media screen and (max-width: 768px) {
  .column-detail__content li a {
    font-size: 0.875rem;
  }
}

.column-detail__btn {
  margin-top: 6.0625rem;
  margin-inline: auto;
  width: min(100%, 10.875rem);
  background-color: #fff;
  text-align: center;
}

.column-detail__btn a {
  padding: 0.5rem;
  display: inline-block;
  border-radius: 6.25rem;
  border: 1px solid #989080;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #2F4672;
  width: 100%;
  height: 100%;
}

.column-detail__share {
  margin-top: 5.1875rem;
}
@media screen and (max-width: 768px) {
  .column-detail__share {
    margin-top: 2.5rem;
  }
}

.top-message {
  padding-top: 8.75rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .top-message {
    padding-top: 0rem;
  }
}

.top-message__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .top-message__inner.inner {
    width: 100%;
    padding: 0;
  }
}

.top-message__wrap {
  padding-bottom: 10.8125rem;
  background-color: #FDFDFD;
  box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .top-message__wrap {
    padding-bottom: 5rem;
    box-shadow: none;
  }
}

.top-message__wrap-inner {
  width: min(100%, 45.5rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .top-message__wrap-inner {
    width: min(100%, 40.5rem);
    padding: 0 1.5rem;
  }
}

.top-message__introduction {
  margin-top: 4.375rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .top-message__introduction {
    margin-top: 4.3125rem;
  }
}

.top-message__description {
  flex: 1;
}

.top-message__post {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #4C4639;
}

.top-message__post span {
  padding-top: 0.1875rem;
  display: inline-block;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #4C4639;
}

.top-message__name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .top-message__name {
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

.top-message__profile {
  margin-top: 1.5rem;
  width: min(100%, 24.375rem);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  color: #4C4639;
}
@media screen and (max-width: 768px) {
  .top-message__profile {
    margin-top: 2rem;
    width: 100%;
  }
}

.top-message__introduction-img {
  width: 42.927%;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .top-message__introduction-img {
    width: 46.783625731%;
  }
}

.top-message__introduction-img img {
  vertical-align: middle;
  display: inline-block;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(100%, 15rem);
}
@media screen and (max-width: 768px) {
  .top-message__introduction-img img {
    width: 100%;
  }
}

.top-message__container {
  padding: 7.5rem 0 6.5rem;
}
@media screen and (max-width: 768px) {
  .top-message__container {
    padding: 3.75rem 0 4.9375rem;
  }
}

.top-message__content:not(:first-of-type) {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .top-message__content:not(:first-of-type) {
    margin-top: 2.5rem;
  }
}

.top-message__heading {
  font-family: "Roboto", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2222222222;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .top-message__heading {
    font-size: 1.75rem;
    line-height: 1.2857142857;
  }
}

.top-message__text {
  margin-top: 1.0625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  color: #1E1B13;
}

.top-message__text:not(:first-of-type) {
  margin-top: 1.25rem;
}

.top-message__img {
  margin-top: 3.25rem;
  border-radius: 1rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .top-message__img {
    margin-top: 2.75rem;
    width: initial;
    height: auto;
  }
}

@media screen and (max-width: 768px) {
  .top-message__content:nth-child(2n+1) .top-message__img {
    margin-left: calc(50% - 50vw);
  }
}

@media screen and (max-width: 768px) {
  .top-message__content:nth-child(2n) .top-message__img {
    margin-right: calc(50% - 50vw);
  }
}

.top-message__content:nth-child(2n+1) .top-message__img img {
  aspect-ratio: 834/500;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 52.125rem;
  margin-left: -14.5604395604%;
  border-radius: 0 1rem 1rem 0;
}
@media screen and (max-width: 768px) {
  .top-message__content:nth-child(2n+1) .top-message__img img {
    aspect-ratio: 360/240;
    border-radius: 0 1rem 1rem 0;
    width: 100%;
    margin-left: 0rem;
  }
}

.top-message__content:nth-child(2n) .top-message__img img {
  aspect-ratio: 834/500;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 52.125rem;
  margin-right: -14.5604395604%;
  border-radius: 1rem 0 0 1rem;
}
@media screen and (max-width: 768px) {
  .top-message__content:nth-child(2n) .top-message__img img {
    aspect-ratio: 360/240;
    margin-right: -6.976744186%;
    max-width: 106.976744186%;
    border-radius: 1rem 0 0 1rem;
  }
}

.top-message__signature {
  margin-top: 3.5rem;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .top-message__signature {
    margin-top: 2rem;
  }
}

.company-profile {
  border-top: 1px solid #7D7667;
  padding: 2.5rem 0 0;
}

.company-profile__inner {
  width: min(100%, 45.5rem);
}
@media screen and (max-width: 768px) {
  .company-profile__inner {
    width: min(100%, 40.5rem);
  }
}

.company-profile__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
  color: #1E1B13;
}

.company-profile__list {
  margin-top: 3rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  row-gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .company-profile__list {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-auto-rows: auto;
    row-gap: 2.5rem;
  }
}

.company-profile__item {
  display: flex;
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
}

.company-profile__term {
  width: 23.8888888889%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #1E1B13;
}
@media screen and (max-width: 768px) {
  .company-profile__term {
    width: 25.1461988304%;
  }
}

.company-profile__description {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.01em;
  color: #4C4639;
}

.terms {
  padding-top: 8.75rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .terms {
    padding-top: 0rem;
  }
}

.terms__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .terms__inner.inner {
    width: 100%;
    padding: 0;
  }
}

.terms__wrap {
  padding-bottom: 5rem;
  background-color: #FDFDFD;
  box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .terms__wrap {
    padding-bottom: 5rem;
    box-shadow: none;
  }
}

.terms__wrap-inner {
  width: min(100%, 50rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .terms__wrap-inner {
    width: min(100%, 40.5rem);
    padding: 0 1.5rem;
  }
}

.terms__container {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .terms__container {
    margin-top: 3rem;
  }
}

.terms__content:not(:first-of-type) {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .terms__content:not(:first-of-type) {
    margin-top: 3rem;
  }
}

.terms__heading + .terms__text {
  margin-top: 0.75rem;
}

.terms__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  color: #1E1B13;
}

.terms__list,
.terms__sub-list,
.terms__sub-sub-list {
  counter-reset: item;
  list-style: none;
}

.terms__list {
  margin-top: 1.3125rem;
}

.terms__sub-list {
  margin-top: 0.1875rem;
}

.terms__sub-sub-list {
  margin-top: 0.1875rem;
}

.terms__item,
.terms__sub-item,
.terms__sub-sub-item {
  position: relative;
}

.terms__item::before,
.terms__sub-item::before,
.terms__sub-sub-item::before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  position: absolute;
  top: 0.5625rem;
  left: 0.625rem;
  transform: translate(-50%, -50%);
}

.terms__sub-item::before {
  top: 0.6875rem;
  left: 1.75rem;
}

.terms__sub-sub-item::before {
  top: 0.6875rem;
  left: 2.0625rem;
}

.terms__item,
.terms__sub-sub-item {
  margin-top: 0.5625rem;
}

.terms__sub-item {
  margin-top: 0.4375rem;
  padding-left: 1.5rem;
}

.terms__sub-sub-item {
  padding-left: 2.25rem;
}

.terms__item.terms__item--highlight:first-of-type {
  margin-top: 1.25rem;
}

.terms__item.terms__item--highlight .terms__item-text {
  font-weight: 700;
}

.terms__item-text,
.terms__sub-item-text,
.terms__sub-sub-item-text {
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.427;
  letter-spacing: 0em;
  color: #1E1B13;
}

.terms__sub-item-text {
  line-height: 1.7;
}

.terms__text.terms__text--important {
  margin-top: 0rem;
  display: block;
  letter-spacing: 0em;
  color: #BA1A1A;
}

.terms__text.terms__text--notice {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
}

.terms__text.terms__item-text--strong {
  margin-top: 1.5rem;
  font-weight: 700;
}

.terms__text.terms__item-text--strong + .terms__list {
  margin-top: 0rem;
}

.terms__text.terms__item-text--highlight {
  margin-top: 1.5rem;
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-weight: 700;
}

.terms__text.terms__item-text--highlight + .terms__list {
  margin-top: 0rem;
}

.terms__sub-item.terms__sub-item--brackets::before {
  content: counters(item, ".") ". ";
  content: "（" counter(item) "）";
}

.privacy-policy {
  padding-top: 8.75rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .privacy-policy {
    padding-top: 0rem;
  }
}

.privacy-policy__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .privacy-policy__inner.inner {
    width: 100%;
    padding: 0;
  }
}

.privacy-policy__wrap {
  padding-bottom: 5rem;
  background-color: #FDFDFD;
  box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .privacy-policy__wrap {
    padding-bottom: 5rem;
    box-shadow: none;
  }
}

.privacy-policy__wrap-inner {
  width: min(100%, 50rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .privacy-policy__wrap-inner {
    width: min(100%, 40.5rem);
    padding: 0 1.5rem;
  }
}

.privacy-policy__container {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .privacy-policy__container {
    margin-top: 3rem;
  }
}

.privacy-policy__content {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .privacy-policy__content {
    margin-top: 3rem;
  }
}

.privacy-policy__text.privacy-policy__item-text--strong + .privacy-policy__text,
.privacy-policy__heading.white-box-heading + .privacy-policy__text {
  margin-top: 0.75rem;
}

.privacy-policy__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  color: #1E1B13;
}

.privacy-policy__list,
.privacy-policy__sub-list,
.privacy-policy__sub-sub-list {
  counter-reset: item;
  list-style: none;
}

.privacy-policy__list {
  margin-top: 1.3125rem;
}

.privacy-policy__sub-list {
  margin-top: 0.1875rem;
}

.privacy-policy__sub-sub-list {
  margin-top: 0.1875rem;
}

.privacy-policy__list.privacy-policy__list--reason {
  margin-top: 0rem;
}

.privacy-policy__item,
.privacy-policy__sub-item,
.privacy-policy__sub-sub-item {
  position: relative;
}

.privacy-policy__item::before,
.privacy-policy__sub-item::before,
.privacy-policy__sub-sub-item::before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  position: absolute;
  top: 0.5625rem;
  left: 0.625rem;
  transform: translate(-50%, -50%);
}

.privacy-policy__sub-item::before {
  top: 0.6875rem;
  left: 1.75rem;
}

.privacy-policy__sub-sub-item::before {
  top: 0.6875rem;
  left: 2.0625rem;
}

.privacy-policy__item:not(:first-of-type),
.privacy-policy__sub-item:not(:first-of-type),
.privacy-policy__sub-sub-item:not(:first-of-type) {
  margin-top: 0.5625rem;
}

.privacy-policy__sub-item {
  margin-top: 0.4375rem;
  padding-left: 1.5rem;
}

.privacy-policy__sub-sub-item {
  padding-left: 2.25rem;
}

.privacy-policy__item.privacy-policy__item--highlight:first-of-type {
  margin-top: 1.25rem;
}

.privacy-policy__item.privacy-policy__item--highlight .privacy-policy__item-text {
  font-weight: 700;
}

.privacy-policy__item-text,
.privacy-policy__sub-item-text,
.privacy-policy__sub-sub-item-text {
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.427;
  letter-spacing: 0em;
  color: #1E1B13;
}

.privacy-policy__sub-item-text {
  line-height: 1.7;
}

.privacy-policy__text.privacy-policy__text--important {
  margin-top: 0rem;
  display: block;
  letter-spacing: 0em;
  color: #BA1A1A;
}

.privacy-policy__text.privacy-policy__text--notice {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
}

.privacy-policy__text.privacy-policy__item-text--strong {
  margin-top: 1.5rem;
  font-weight: 700;
}

.privacy-policy__text.privacy-policy__item-text--strong + .privacy-policy__list {
  margin-top: 0rem;
}

.privacy-policy__text.privacy-policy__item-text--highlight {
  margin-top: 1.5rem;
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-weight: 700;
}

.privacy-policy__text.privacy-policy__item-text--highlight + .privacy-policy__list {
  margin-top: 0rem;
}

.privacy-policy__sub-item.privacy-policy__sub-item--brackets::before {
  content: counters(item, ".") ". ";
  content: "（" counter(item) "）";
}

.privacy-policy__contact-form-link {
  margin-top: 1rem;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  color: #1E1B13;
  text-decoration: underline;
}

.signature-box {
  margin-top: 4.875rem;
  text-align: right;
}

.signature-box__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
  color: #1E1B13;
}

.legal-notice {
  padding-top: 8.75rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .legal-notice {
    padding-top: 0rem;
  }
}

.legal-notice__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .legal-notice__inner.inner {
    width: 100%;
    padding: 0;
  }
}

.legal-notice__wrap {
  padding-bottom: 5rem;
  background-color: #FDFDFD;
  box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .legal-notice__wrap {
    padding-bottom: 5rem;
    box-shadow: none;
  }
}

.legal-notice__wrap-inner {
  width: min(100%, 50rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .legal-notice__wrap-inner {
    width: min(100%, 40.5rem);
    padding: 0 1.5rem;
  }
}

.legal-notice__content-list {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .legal-notice__content-list {
    margin-top: 3rem;
  }
}

.legal-notice__content-item {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .legal-notice__content-item {
    margin-top: 2rem;
  }
}

.legal-notice__heading.white-box-heading + .legal-notice__text {
  margin-top: 0.75rem;
}

.legal-notice__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  color: #1E1B13;
}

.legal-notice__content-list,
.legal-notice__list,
.legal-notice__sub-list,
.legal-notice__sub-sub-list {
  counter-reset: item;
  list-style: none;
}

.legal-notice__list {
  margin-top: 1.3125rem;
}

.legal-notice__sub-list {
  margin-top: 0.1875rem;
}

.legal-notice__sub-sub-list {
  margin-top: 0.1875rem;
}

.legal-notice__content-item,
.legal-notice__item,
.legal-notice__sub-item,
.legal-notice__sub-sub-item {
  position: relative;
}

.legal-notice__item::before,
.legal-notice__sub-item::before,
.legal-notice__sub-sub-item::before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  position: absolute;
  top: 0.5625rem;
  left: 0.625rem;
  transform: translate(-50%, -50%);
}

.legal-notice__content-item::before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  position: absolute;
  top: 0.75rem;
  left: 1.1875rem;
  transform: translate(-50%, -50%);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #2F4672;
}

.legal-notice__sub-item::before {
  top: 0.6875rem;
  left: 1.75rem;
}

.legal-notice__sub-sub-item::before {
  top: 0.6875rem;
  left: 2.0625rem;
}

.legal-notice__item:not(:first-of-type),
.legal-notice__sub-item:not(:first-of-type),
.legal-notice__sub-sub-item:not(:first-of-type) {
  margin-top: 0.5625rem;
}

.legal-notice__sub-item {
  margin-top: 0.4375rem;
  padding-left: 1.5rem;
}

.legal-notice__sub-sub-item {
  padding-left: 2.25rem;
}

.legal-notice__item.legal-notice__item--highlight:first-of-type {
  margin-top: 1.25rem;
}

.legal-notice__item.legal-notice__item--highlight .legal-notice__item-text {
  font-weight: 700;
}

.legal-notice__item-text,
.legal-notice__sub-item-text,
.legal-notice__sub-sub-item-text {
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.427;
  letter-spacing: 0em;
  color: #1E1B13;
}

.legal-notice__sub-item-text {
  line-height: 1.7;
}

.legal-notice__text.legal-notice__text--important {
  margin-top: 0rem;
  display: block;
  letter-spacing: 0em;
  color: #BA1A1A;
}

.legal-notice__text.legal-notice__text--notice {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
}

.legal-notice__text.legal-notice__item-text--strong {
  margin-top: 1.5rem;
  font-weight: 700;
}

.legal-notice__text.legal-notice__item-text--strong + .legal-notice__list {
  margin-top: 0rem;
}

.legal-notice__text.legal-notice__item-text--highlight {
  margin-top: 1.5rem;
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-weight: 700;
}

.legal-notice__text.legal-notice__item-text--highlight + .legal-notice__list {
  margin-top: 0rem;
}

.legal-notice__sub-item.legal-notice__sub-item--brackets::before {
  content: counters(item, ".") ". ";
  content: "（" counter(item) "）";
}

.legal-notice__contact-form-link {
  margin-top: 1rem;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  color: #1E1B13;
  text-decoration: underline;
}

.legal-notice__requirements-link {
  margin-top: 1rem;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  color: #1C77CC;
  text-decoration: underline;
  text-underline-position: under;
}

.dataprivacy {
  padding-top: 8.75rem;
  background-color: #F9FEFF;
}
@media screen and (max-width: 768px) {
  .dataprivacy {
    padding-top: 0rem;
  }
}

.dataprivacy__inner.inner {
  width: min(100%, 61.875rem);
}
@media screen and (max-width: 768px) {
  .dataprivacy__inner.inner {
    width: 100%;
    padding: 0;
  }
}

.dataprivacy__wrap {
  padding-bottom: 5rem;
  background-color: #FDFDFD;
  box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .dataprivacy__wrap {
    padding-bottom: 5rem;
    box-shadow: none;
  }
}

.dataprivacy__wrap-inner {
  width: min(100%, 50rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .dataprivacy__wrap-inner {
    width: min(100%, 40.5rem);
    padding: 0 1.5rem;
  }
}

.dataprivacy__container {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .dataprivacy__container {
    margin-top: 3rem;
  }
}

.dataprivacy__content {
  margin-top: 2rem;
}

.dataprivacy__text.dataprivacy__item-text--strong + .dataprivacy__text,
.dataprivacy__heading.white-box-heading + .dataprivacy__text {
  margin-top: 0.75rem;
}

.dataprivacy__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  color: #1E1B13;
}

.dataprivacy__list,
.dataprivacy__sub-list,
.dataprivacy__sub-sub-list {
  counter-reset: item;
  list-style: none;
}

.dataprivacy__list {
  margin-top: 1.3125rem;
}

.dataprivacy__sub-list {
  margin-top: 0.1875rem;
}

.dataprivacy__sub-sub-list {
  margin-top: 0.1875rem;
}

.dataprivacy__list.dataprivacy__list--reason {
  margin-top: 0rem;
}

.dataprivacy__item,
.dataprivacy__sub-item,
.dataprivacy__sub-sub-item {
  position: relative;
}

.dataprivacy__item::before,
.dataprivacy__sub-item::before,
.dataprivacy__sub-sub-item::before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  position: absolute;
  top: 0.5625rem;
  left: 0.625rem;
  transform: translate(-50%, -50%);
}

.dataprivacy__sub-item::before {
  top: 0.6875rem;
  left: 1.75rem;
}

.dataprivacy__sub-sub-item::before {
  top: 0.6875rem;
  left: 2.0625rem;
}

.dataprivacy__item:not(:first-of-type),
.dataprivacy__sub-item:not(:first-of-type),
.dataprivacy__sub-sub-item:not(:first-of-type) {
  margin-top: 0.5625rem;
}

.dataprivacy__sub-item {
  margin-top: 0.4375rem;
  padding-left: 1.5rem;
}

.dataprivacy__sub-sub-item {
  padding-left: 2.25rem;
}

.dataprivacy__item.dataprivacy__item--highlight:first-of-type {
  margin-top: 1.25rem;
}

.dataprivacy__item.dataprivacy__item--highlight .dataprivacy__item-text {
  font-weight: 700;
}

.dataprivacy__item-text,
.dataprivacy__sub-item-text,
.dataprivacy__sub-sub-item-text {
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.427;
  letter-spacing: 0em;
  color: #1E1B13;
}

.dataprivacy__sub-item-text {
  line-height: 1.7;
}

.dataprivacy__text.dataprivacy__text--important {
  margin-top: 0rem;
  display: block;
  letter-spacing: 0em;
  color: #BA1A1A;
}

.dataprivacy__text.dataprivacy__text--notice {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
}

.dataprivacy__text.dataprivacy__item-text--strong {
  margin-top: 1.5rem;
  font-weight: 700;
}

.dataprivacy__text.dataprivacy__item-text--strong + .dataprivacy__list {
  margin-top: 0rem;
}

.dataprivacy__text.dataprivacy__item-text--highlight {
  margin-top: 1.5rem;
  padding-left: 1.1875rem;
  text-indent: 0.125rem;
  font-weight: 700;
}

.dataprivacy__text.dataprivacy__item-text--highlight + .dataprivacy__list {
  margin-top: 0rem;
}

.dataprivacy__sub-item.dataprivacy__sub-item--brackets::before {
  content: counters(item, ".") ". ";
  content: "（" counter(item) "）";
}

.dataprivacy__contact {
  margin-top: 1rem;
}

.dataprivacy__contact-form-link {
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  color: #1E1B13;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .md-none {
    display: none;
  }
}

.md-show {
  display: none;
}
@media screen and (max-width: 768px) {
  .md-show {
    display: block;
  }
}

.visually-hidden {
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}/*# sourceMappingURL=style.css.map */