@charset "UTF-8";
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  word-break: break-all;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  margin: 0;
}

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

dd {
  margin-left: 0;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  word-wrap: break-word;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

textarea {
  overflow: auto;
  resize: none;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

picture {
  display: block;
  width: 100%;
  height: 100%;
}

img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

html {
  font-size: min(1.3vw, 16px);
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
}
@media screen and (max-width: 1024px) {
  html {
    scroll-padding-top: 4.3rem;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 4.3vw;
  }
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #323232;
  letter-spacing: -0.03em;
}

* img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

a {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
a:hover {
  opacity: 0.7;
}

/* ================================
Container
================================ */
/* root container */
.l-wrapper {
  overflow-x: clip;
}

/* main container */
.l-content-container {
  position: relative;
  background-color: #EDEDED;
  margin: 5rem 0 0;
}
@media screen and (max-width: 768px) {
  .l-content-container {
    margin: 4.3rem 0 0;
  }
}

/* container */
.l-container {
  width: calc(100% - 3.8rem);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.l-container.-sm {
  max-width: 62.5rem;
}
.l-container.-lg {
  max-width: 90rem;
}
.l-container.-wide_only_mobile {
  width: calc(100% - 1.9rem);
}

/* ================================
Header
================================ */
.l-header {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 5rem;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.l-header__inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2.6vw;
  padding: 0 1.1vw 0 2.6vw;
}
.l-header__logo {
  position: relative;
  z-index: 1000;
  width: 13rem;
  aspect-ratio: 207/58;
  margin: 0 auto 0 0;
  background: url(../img/cmn/logo_wh.png?250930) no-repeat center center/contain;
}
.l-header__logo img {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-header__toggle {
  display: none;
}
.l-header__trial {
  color: #fff;
  font-size: 0.9rem;
  background-color: #477cbc;
  padding: 1em;
  border-radius: 0.4rem;
}
.l-header.is-fixed {
  background-color: #fff;
}
.l-header.is-fixed .l-header__logo img {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .l-header.is-fixed .l-header-drawer__menu01-item {
    color: #323232;
  }
}
@media screen and (max-width: 768px) {
  .l-header {
    height: 4.3rem;
  }
  .l-header.is-fixed {
    background-color: transparent;
  }
  .l-header__inner {
    padding: 0 0.9rem;
  }
  .l-header__logo {
    width: 9.1rem;
  }
  .l-header__logo.is-active img {
    opacity: 0 !important;
  }
  .l-header__trial {
    display: none;
  }
  .l-header__toggle {
    display: block;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    z-index: 1000;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: #6ed156;
    cursor: pointer;
  }
  .l-header__toggle span {
    position: absolute;
    left: 0.9rem;
    display: inline-block;
    width: 1.2rem;
    height: 1px;
    background-color: #fff;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  .l-header__toggle span:nth-of-type(1) {
    top: 1.3rem;
  }
  .l-header__toggle span:nth-of-type(2) {
    bottom: 1.3rem;
  }
  .l-header__toggle.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(0.2rem) rotate(45deg);
            transform: translateY(0.2rem) rotate(45deg);
  }
  .l-header__toggle.is-active span:nth-of-type(2) {
    -webkit-transform: translateY(-0.2rem) rotate(-45deg);
            transform: translateY(-0.2rem) rotate(-45deg);
  }
}

.l-header-drawer__btn-wrap {
  display: none;
}
.l-header-drawer__menu01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.9rem;
}
.l-header-drawer__menu01 .sub-menu-wrap {
  display: none;
}
.l-header-drawer__menu01-item {
  position: relative;
  color: #fff;
  font-size: 0.9rem;
}
.l-header-drawer__menu01-item a {
  display: block;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-header-drawer__menu01-item a:hover {
  opacity: 0.7;
}
.l-header-drawer__menu01-item.menu-item-blank > a {
  pointer-events: none;
}
.l-header-drawer__menu01-item.menu-item-inactive {
  opacity: 0.7;
  pointer-events: none;
}
.l-header-drawer__menu01-item.-line a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.4rem;
}
.l-header-drawer__menu01-item.-line a::before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  aspect-ratio: 24/22;
  background: url(../img/cmn/line_ico_original.svg) no-repeat center center/contain;
}
.l-header-drawer__menu02 {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header-drawer {
    visibility: hidden;
    position: fixed;
    z-index: 500;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem 0;
    padding: 7.2rem 1.9rem;
    background-color: #323232;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .l-header-drawer.is-active {
    visibility: visible;
    opacity: 1;
    height: 100lvh;
  }
  .l-header-drawer__btn-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.9rem 0;
  }
  .l-header-drawer__btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 0.4rem;
    width: 50%;
    color: #fff;
    font-weight: 500;
    text-align: center;
    padding: 0.9rem;
    border: 1px solid #fff;
  }
  .l-header-drawer__btn.-line {
    border-left: none;
  }
  .l-header-drawer__btn.-line::before {
    content: "";
    display: inline-block;
    width: 1.5rem;
    aspect-ratio: 24/22;
    background: url(../img/cmn/line_ico_original.svg) no-repeat center center/contain;
  }
  .l-header-drawer__btn.-trial {
    width: 100%;
    background-color: #477cbc;
    border: none;
    border-radius: 0.4rem;
  }
  .l-header-drawer__menu01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    border-top: 1px solid #464646;
  }
  .l-header-drawer__menu01 > .l-header-drawer__menu01-item {
    border-bottom: 1px solid #464646;
  }
  .l-header-drawer__menu01 > .l-header-drawer__menu01-item > a {
    padding: 0.9rem 0;
  }
  .l-header-drawer__menu01 .sub-menu-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-header-drawer__menu01 .sub-menu-heading a {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0.9rem 0;
  }
  .l-header-drawer__menu01 .sub-menu-toggle {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    aspect-ratio: 1/1;
  }
  .l-header-drawer__menu01 .sub-menu-toggle::before {
    content: "＋";
    font-size: 1.3rem;
  }
  .l-header-drawer__menu01 .sub-menu-wrap {
    display: block;
    height: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
    transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
  }
  .l-header-drawer__menu01 .sub-menu {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-width: 50%;
       -moz-column-width: 50%;
            column-width: 50%;
  }
  .l-header-drawer__menu01 .sub-menu-item {
    margin: 0 0 0.9rem;
  }
  .l-header-drawer__menu01-item {
    color: #fff;
    font-size: 0.9rem;
  }
  .l-header-drawer__menu01-item.-line, .l-header-drawer__menu01-item.-contact {
    display: none;
  }
  .l-header-drawer__menu01-item.is-open .sub-menu-wrap {
    height: auto;
    opacity: 1;
    visibility: visible;
    padding: 1.9rem 0 0.9rem;
    border-top: 1px solid #464646;
  }
  .l-header-drawer__menu02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.9rem 0;
  }
  .l-header-drawer__menu02-item {
    color: #fff;
    font-size: 0.9rem;
  }
}

/* ================================
Footer
================================ */
.l-footer {
  position: relative;
  z-index: 15;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#3e3e3e), color-stop(50%, #3e3e3e), color-stop(50%, #323232), to(#323232));
  background: linear-gradient(to right, #3e3e3e 0%, #3e3e3e 50%, #323232 50%, #323232 100%);
}
.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.3rem 0;
}
.l-footer__sub {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #3e3e3e;
  padding: 3.1rem 4.4rem 3.1rem 0;
}
.l-footer__logo {
  width: 12.5rem;
  aspect-ratio: 201/57;
}
.l-footer__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: grid;
  grid-template-areas: "menu01 menu01" ". sns-list" "menu02 copyright";
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #323232;
  padding: 3.1rem 0 3.1rem 7.5rem;
}
.l-footer__menu01 {
  grid-area: menu01;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 3.1rem;
}
.l-footer__menu01 .sub-menu-wrap {
  margin: 1.3rem 0 0;
}
.l-footer__menu01 .sub-menu {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  -webkit-column-width: 50%;
     -moz-column-width: 50%;
          column-width: 50%;
}
.l-footer__menu01 .sub-menu-item {
  margin: 0 0 0.9rem;
}
.l-footer__menu01-item {
  font-size: 0.9rem;
}
.l-footer__menu01-item a {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-footer__menu01-item a:hover {
  opacity: 0.7;
}
.l-footer__sns-list {
  grid-area: sns-list;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.9rem;
  margin: 0 0 4.7rem;
}
.l-footer__sns-item {
  width: 1.5rem;
  aspect-ratio: 1/1;
}
.l-footer__sns-item a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-footer__sns-item a:hover {
  opacity: 0.7;
}
.l-footer__sns-item img {
  -o-object-fit: contain;
     object-fit: contain;
}
.l-footer__menu02 {
  grid-area: menu02;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2.2rem;
}
.l-footer__menu02-item {
  font-size: 0.9rem;
}
.l-footer__menu02-item a {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-footer__menu02-item a:hover {
  opacity: 0.7;
}
.l-footer__copyright {
  grid-area: copyright;
  font-family: "Oswald", sans-serif;
  font-size: 0.9rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .l-footer {
    background: #323232;
    padding: 1.9rem 0 1.3rem;
  }
  .l-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-footer__logo {
    width: 9.4rem;
  }
  .l-footer__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    background-color: transparent;
  }
  .l-footer__sub {
    background-color: transparent;
    padding: 0;
  }
  .l-footer__menu01 {
    display: none;
  }
  .l-footer__menu02 {
    display: none;
  }
  .l-footer__sns-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0 1.9rem;
    margin: 0 0 1.3rem;
  }
  .l-footer__copyright {
    font-size: 0.8rem;
    text-align: center;
  }
}

/* ================================
Common module
================================ */
/* heading */
.c-heading {
  position: relative;
  font-size: 2.6rem;
  font-weight: 700;
}
.c-heading::before {
  content: attr(data-en);
  display: block;
  color: #61cb47;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
}
.c-heading .-sub {
  font-size: 1.9rem;
}
.c-heading.-sm {
  font-size: 2.1rem;
}
.c-heading.-xs {
  font-size: 1.4rem;
}
.c-heading.-xs::before {
  font-size: 0.9rem;
}
.c-heading + .c-sentence {
  margin-top: 1.3rem;
}
@media screen and (max-width: 768px) {
  .c-heading {
    font-size: 1.8rem;
  }
  .c-heading::before {
    font-size: 0.9rem;
  }
  .c-heading .-sub {
    font-size: 0.9rem;
  }
  .c-heading.-sm {
    font-size: 1.8rem;
  }
}

.c-border-heading {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  padding: 0 0 0 1.3rem;
  margin: 0 0 3.1rem;
}
.c-border-heading::before {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 0;
  display: block;
  width: 3px;
  height: 1em;
  background-color: #61cb47;
}
.c-border-heading.-wh {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-border-heading {
    font-size: 1.5rem;
    margin: 0 0 2rem;
  }
  .c-border-heading::before {
    top: 0.4rem;
  }
}

/*sentence*/
.c-sentence {
  line-height: 2;
  letter-spacing: 0;
}
.c-sentence small {
  display: inline-block;
}
.c-sentence.-lg {
  font-size: 1.1rem;
}
.c-sentence + .c-sentence {
  margin-top: 1em;
}
.c-sentence + .c-btn__wrap {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .c-sentence {
    font-size: 0.9rem;
  }
  .c-sentence.-lg {
    font-size: 0.9rem;
  }
  .c-sentence + .c-btn__wrap {
    margin-top: 2.2rem;
  }
}
.c-sentence.-center_only_desktop {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-sentence.-center_only_desktop {
    text-align: left;
  }
}

/* link */
.c-arrow-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-arrow-link:hover {
  opacity: 0.7;
}
.c-arrow-link__ico {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1.5rem;
  aspect-ratio: 24/18;
  border-radius: 0.2rem;
  background-color: #61cb47;
}
.c-arrow-link__ico.-bl {
  background-color: #477cbc;
}
.c-arrow-link__arrow {
  color: #323232;
  width: 0.6rem;
  aspect-ratio: 9/5;
}
.c-arrow-link__arrow.-wh {
  color: #fff;
}
.c-arrow-link__text {
  font-weight: 500;
  letter-spacing: -0.07em;
}
.c-arrow-link__text.-wh {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-arrow-link {
    font-size: 0.9rem;
  }
}

/* button */
.c-btn {
  min-width: 23.8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.8rem;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 500;
  background-color: #323232;
  border-radius: 9999px;
  padding: 1.3rem 2.5rem;
}
.c-btn::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-btn.-mail::before {
  content: "";
  width: 1.9rem;
  aspect-ratio: 30/20;
  background: url(../img/cmn/mail_ico_wh.svg) no-repeat center center/contain;
}
.c-btn.-line {
  background-color: #6ed156;
}
.c-btn.-line::before {
  content: "";
  width: 2.1rem;
  aspect-ratio: 34/32;
  background: url(../img/cmn/line_ico_wh.svg) no-repeat center center/contain;
}
.c-btn.-schedule {
  color: #323232;
  background-color: #fff;
}
.c-btn.-schedule::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 24/26;
  background: url(../img/cmn/calendar_ico.svg) no-repeat center center/contain;
}
.c-btn.-bl {
  background-color: #477cbc;
}
@media screen and (max-width: 768px) {
  .c-btn {
    min-width: initial;
    width: 100%;
    font-size: 0.9rem;
    padding: 0.9rem 1.3rem 0.9rem 1.9rem;
  }
  .c-btn__text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: center;
  }
  .c-btn.-mail::before {
    width: 1.3rem;
  }
  .c-btn.-line::before {
    width: 1.5rem;
  }
  .c-btn.-schedule::before {
    width: 1.3rem;
  }
}

.c-btn__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3rem 1.3rem;
}
@media screen and (max-width: 768px) {
  .c-btn__wrap {
    gap: 0.5rem 0.5rem;
  }
}
.c-btn__wrap.-left {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.c-btn__wrap.-right {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
@media screen and (max-width: 768px) {
  .c-btn__wrap.-vertical_only_mobile {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-btn__wrap.-vertical_only_desktop {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .c-btn__wrap.-vertical_only_desktop {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.c-btn__wrap.-right_only_desktop {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
@media screen and (max-width: 768px) {
  .c-btn__wrap.-right_only_desktop {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-btn__wrap.-left_only_desktop {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
@media screen and (max-width: 768px) {
  .c-btn__wrap.-left_only_desktop {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* table */
.c-table {
  width: 100%;
  table-layout: fixed;
}
.c-table th,
.c-table td {
  font-size: 1rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.c-table th {
  width: 13.1rem;
  font-weight: 500;
  white-space: nowrap;
}
.c-table td {
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .c-table th,
  .c-table td {
    display: block;
    width: 100%;
    font-size: 1rem;
  }
  .c-table th {
    border-bottom: none;
    padding: 0.8rem 0;
  }
  .c-table td {
    padding: 0 0 0.8rem;
  }
}

/* list */
/* Tab */
.c-tab__content {
  opacity: 0;
  height: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease-out, height 0.2s ease-out;
  transition: opacity 0.2s ease-out, height 0.2s ease-out;
}
.c-tab__content.is-active {
  opacity: 1;
  height: auto;
  visibility: visible;
}

/* pager */
.c-pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem 0.6rem;
}
.c-pager__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2.1rem;
  height: 2.1rem;
  color: #969696;
  font-family: "Oswald", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 0.4rem;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}
.c-pager__item.current {
  color: #fff;
  background-color: #61cb47;
}
.c-pager__item.prev::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  border-left: 1px solid #61cb47;
  border-bottom: 1px solid #61cb47;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-pager__item.next::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  border-right: 1px solid #61cb47;
  border-top: 1px solid #61cb47;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-pager__item:hover {
  color: #477cbc;
}
.c-pager__item:hover .ico {
  background-color: #477cbc;
}
.c-pager__item-wrap {
  width: 7.8rem;
}
.c-pager .screen-reader-text {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-pager__item {
    font-size: 0.9rem;
  }
}

/* FAQ */
.c-faq-list__item {
  cursor: pointer;
}
.c-faq-list__item.is-open .c-faq-list__header::after {
  content: "－";
}
.c-faq-list__item.is-open .c-faq-list__content {
  opacity: 1;
  height: auto;
  padding: 1.3rem 1.6rem;
}
.c-faq-list__item:not(:last-of-type) {
  margin-bottom: 0.3rem;
}
.c-faq-list__header {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 1.9rem;
  background-color: #fff;
  padding: 1.3rem 1.6rem;
}
.c-faq-list__header::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "Q";
  color: #5F5F5F;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  line-height: 1;
}
.c-faq-list__header::after {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "＋";
  font-size: 1.6rem;
  color: #61cb47;
  line-height: 1;
}
.c-faq-list__question {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.1rem;
  font-weight: 500;
}
.c-faq-list__content {
  opacity: 0;
  height: 0;
  padding: 0 1.6rem;
  -webkit-transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
  transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 1.9rem;
  background-color: #fff;
}
.c-faq-list__content::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "A";
  color: #5F5F5F;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  line-height: 1;
}
.c-faq-list + .c-faq-list {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .c-faq-list__item.is-open .c-faq-list__content {
    padding: 0.6rem 0.9rem;
  }
  .c-faq-list__item:not(:last-of-type) {
    margin-bottom: 0.3rem;
  }
  .c-faq-list__header {
    gap: 0 0.8rem;
    padding: 0.6rem 0.9rem;
  }
  .c-faq-list__header::before {
    font-size: 1rem;
  }
  .c-faq-list__header::after {
    font-size: 1rem;
  }
  .c-faq-list__question {
    font-size: 0.9rem;
  }
  .c-faq-list__content {
    gap: 0 0.8rem;
    padding: 0 0.9rem;
  }
  .c-faq-list__content::before {
    font-size: 1rem;
  }
  .c-faq-list + .c-faq-list {
    margin-top: 3.8rem;
  }
}

/* breadcrumbs */
.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-x: auto;
}
.c-breadcrumbs__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #707070;
  font-size: 0.8rem;
  white-space: nowrap;
}
.c-breadcrumbs__item a {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-breadcrumbs__item a:hover {
  opacity: 0.7;
}
.c-breadcrumbs__item:not(:last-of-type)::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  aspect-ratio: 1/1;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin: 0 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-breadcrumbs__item {
    font-size: 0.8rem;
  }
}

/* MW WP Form */
.mwform-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mwform-item__col--label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15.6rem;
  padding: 0.9rem 0;
}
.mwform-item__col--controls {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.9rem 0;
}
.mwform-item__label {
  min-height: 3.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.1rem;
  font-weight: 500;
}
.mwform-item__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem 0.6rem;
}
.mwform-item__controls.-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.mwform-item__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem 0.3rem;
}
.mwform-item__block:not(:last-of-type) {
  margin-bottom: 0.6rem;
}
.mwform-item.-required .mwform-item__label::after {
  content: "*";
  color: #61cb47;
}
.mwform-item.-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.mwform-item.-vertical .mwform-item__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mwform-item.-pb0 .mwform-item__col--controls {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .mwform-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .mwform-item__col {
    width: 100%;
  }
  .mwform-item__col--label {
    padding: 0 0 0.8rem;
  }
  .mwform-item__col--controls {
    padding: 0 0 2.1rem;
  }
  .mwform-item__label {
    min-height: initial;
    font-size: 0.9rem;
  }
  .mwform-item__controls {
    font-size: 0.9rem;
  }
  .mwform-item__controls.-horizontal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .mwform-item__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.mwform-text-field__control {
  width: 100%;
  height: 3.4rem;
  border: 1px solid #c8c8c8;
  background-color: #fff;
  border-radius: 0.6rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0 1.9rem;
}
@media screen and (max-width: 768px) {
  .mwform-text-field__control {
    height: 3rem;
    border-radius: 0.4rem;
    padding: 0 1.3rem;
  }
}

.mwform-textarea-field__control {
  width: 100%;
  height: 15.6rem;
  border: 1px solid #c8c8c8;
  background-color: #fff;
  border-radius: 0.6rem;
  padding: 1.9rem;
}
@media screen and (max-width: 768px) {
  .mwform-textarea-field__control {
    height: 11.9rem;
    border-radius: 0.4rem;
    padding: 1.3rem;
  }
}

.mwform-select-field {
  position: relative;
}
.mwform-select-field__control {
  min-width: 12.5rem;
  width: 100%;
  height: 3.4rem;
  border-radius: 0.6rem;
  border: 1px solid #c8c8c8;
  background-color: #fff;
  border-radius: 0.6rem;
  padding: 0 1.9rem;
}
.mwform-select-field__toggle {
  position: absolute;
  top: 0.8rem;
  right: 1.9rem;
}
.mwform-select-field__toggle::after {
  content: "";
  display: inline-block;
  border-width: 0.4rem 0.4rem 0 0.4rem;
  border-color: #61cb47 transparent transparent transparent;
}
@media screen and (max-width: 768px) {
  .mwform-select-field__control {
    height: 3rem;
    border-radius: 0.4rem;
    padding: 0 1.3rem;
  }
  .mwform-select-field__toggle {
    top: 0.8rem;
    right: 1rem;
  }
}

.mwform-date-field {
  position: relative;
}
.mwform-date-field__control {
  width: 100%;
  height: 3.4rem;
  border-radius: 0.6rem;
  border: 1px solid #c8c8c8;
  background-color: #fff;
  border-radius: 0.6rem;
  padding: 0 1.9rem;
}
@media screen and (max-width: 768px) {
  .mwform-date-field__control {
    height: 3rem;
    border-radius: 0.4rem;
    padding: 0 1.3rem;
  }
}

.mwform-checkboxes-field__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 0.6rem;
}

.mwform-checkbox-field {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 1rem;
}
.mwform-checkbox-field__control {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0;
  border: 1px solid #c8c8c8;
  background-color: #fff;
}
.mwform-checkbox-field__label a {
  text-decoration: underline;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.mwform-checkbox-field__label a:hover {
  opacity: 0.7;
}

.mwform-radio-field {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 1rem;
}
.mwform-radio-field__control {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0;
  border: 1px solid #c8c8c8;
  background-color: #fff;
}
.mwform-radio-field__label a {
  text-decoration: underline;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.mwform-radio-field__label a:hover {
  opacity: 0.7;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

.mwform-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3rem 1.3rem;
  margin: 2.5rem 0 0;
}
.mwform-button-field__control {
  min-width: 17.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .mwform-button-field {
    width: 100%;
  }
  .mwform-button-field__control {
    min-width: initial;
    width: 100%;
  }
}

.mw_wp_form_confirm .-confirm_hidden {
  display: none;
}
.mw_wp_form_confirm .mwform-item__col {
  border-bottom: 1px solid #c8c8c8;
}
.mw_wp_form_confirm .mwform-item__label {
  min-height: initial;
}
.mw_wp_form_confirm .mwform-select-field__toggle {
  display: none;
}
@media screen and (max-width: 768px) {
  .mw_wp_form_confirm .mwform-item__col--label {
    border-bottom: none;
  }
  .mw_wp_form_confirm .mwform-item__col--controls {
    padding-bottom: 0.8rem;
    margin-bottom: 0.9rem;
  }
}

/* Category List */
.c-category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 0.6rem;
  margin: 0 0 2.5rem;
}
.c-category-list__item {
  color: #969696;
  font-size: 1.1rem;
  font-weight: 500;
  background-color: #fff;
  border-radius: 0.4rem;
  padding: 0.6rem 1.1rem;
  cursor: pointer;
}
.c-category-list__item.is-active {
  color: #fff;
  background-color: #61cb47;
}
@media screen and (max-width: 768px) {
  .c-category-list {
    gap: 0.4rem 0.4rem;
  }
  .c-category-list__item {
    font-size: 0.9rem;
  }
}

/* card */
.c-card__img-wrap {
  position: relative;
  margin: 0 0 2.3rem;
}
.c-card__img {
  overflow: hidden;
}
.c-card__title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 1.9rem;
}
.c-card__num {
  position: absolute;
  bottom: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  left: 0.6rem;
  font-family: "Oswald", sans-serif;
  font-size: 2.6rem;
  font-weight: 500;
  color: #61cb47;
  line-height: 1;
}
.c-card:has(.c-card__num) .c-card__img-wrap {
  margin-bottom: 3.1rem;
}
@media screen and (max-width: 768px) {
  .c-card__img-wrap {
    margin: 0 0 1.3rem;
  }
  .c-card__title {
    font-size: 1.1rem;
    margin: 0 0 1.3rem;
  }
  .c-card:has(.c-card__num) .c-card__img-wrap {
    margin-bottom: 2.5rem;
  }
}

.c-card__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.8rem 3.8rem;
}
.c-card__wrap .c-card {
  width: calc((100% - 7.6rem) / 3);
}
@media screen and (min-width: 769px) {
  .c-card__wrap.-col2 {
    gap: 4.4rem 2.5rem;
  }
  .c-card__wrap.-col2 .c-card {
    width: calc(50% - 1.3rem);
  }
}
@media screen and (max-width: 768px) {
  .c-card__wrap {
    gap: 3.1rem 0;
  }
  .c-card__wrap .c-card {
    width: 100%;
  }
}

/* store card */
/* CTA */
.c-cta {
  padding: 6.3rem 0;
}
@media screen and (max-width: 768px) {
  .c-cta {
    padding: 4.7rem 0;
  }
}

.c-recruit-cta {
  position: relative;
  z-index: 0;
  color: #fff;
  background-color: #51ad3c;
  padding: 7.5rem 0;
}
.c-recruit-cta__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.9rem 0;
}
.c-recruit-cta__content {
  width: 50%;
  text-align: center;
}
.c-recruit-cta__heading {
  font-family: "Oswald", sans-serif;
  font-size: 6.9rem;
  color: #61cb47;
  font-weight: 500;
}
.c-recruit-cta__catch01 {
  font-size: 1.6rem;
  font-weight: 700;
}
.c-recruit-cta__catch02 {
  font-size: 3.4rem;
  font-weight: 700;
  margin: 0 0 1.3rem;
}
.c-recruit-cta__btn-wrap {
  margin: 1.9rem 0 0 !important;
}
.c-recruit-cta__btn .c-arrow-link__ico {
  background-color: #323232;
}
.c-recruit-cta__btn .c-arrow-link__arrow {
  color: #61cb47;
}
.c-recruit-cta__img {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .c-recruit-cta {
    padding: 2.8rem 0 3.8rem;
  }
  .c-recruit-cta__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-recruit-cta__content {
    width: 100%;
  }
  .c-recruit-cta__heading {
    font-size: 4.4rem;
  }
  .c-recruit-cta__catch01 {
    font-size: 1.1rem;
  }
  .c-recruit-cta__catch02 {
    font-size: 2rem;
    margin: 0 -0.9rem 0.9rem;
  }
  .c-recruit-cta__img {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .c-recruit-cta__btn-wrap {
    margin: 0 auto 0 0 !important;
  }
}

/* ================================
旧CSS引き継ぎ
================================ */
/********** 特定商取引法 **********/
.single_commerce .lead {
  margin-bottom: 1.9rem;
}

.single_commerce .list dl dt {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.3rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid #666;
}

@media screen and (max-width: 767px) {
  .single_commerce .list dl dt {
    font-size: 1.1rem;
  }
}
.single_commerce .list dl dd {
  margin-bottom: 2.5rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .single_commerce .list dl dd {
    font-size: 0.9rem;
    line-height: 1.5;
  }
}
.single_commerce .list dl dd ol {
  list-style: decimal;
  margin-top: 1.3rem;
  padding-left: 1.3rem;
  line-height: 2;
}

.single_commerce .list dl dd ol li ol {
  list-style: disc;
  margin-bottom: 1.3rem;
}

/********** プライバシーポリシー **********/
.single_policy .lead {
  margin-bottom: 1.9rem;
}

.single_policy .list dl dt {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.3rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid #666;
}

@media screen and (max-width: 767px) {
  .single_policy .list dl dt {
    font-size: 1.1rem;
  }
}
.single_policy .list dl dd {
  margin-bottom: 2.5rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .single_policy .list dl dd {
    font-size: 0.9rem;
    line-height: 1.5;
  }
}
.single_policy .list dl dd ol {
  list-style: decimal;
  margin-top: 1.3rem;
  padding-left: 2.5rem;
  line-height: 2;
}

.single_policy .list dl dd ol li ol {
  margin-bottom: 1.3rem;
}

/********** 会員規約 **********/
.single_agree .lead {
  margin-bottom: 1.9rem;
}

.single_agree .list dl dt {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.3rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid #666;
}

@media screen and (max-width: 767px) {
  .single_agree .list dl dt {
    font-size: 1.1rem;
  }
}
.single_agree .list dl dd {
  margin-bottom: 2.5rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .single_agree .list dl dd {
    font-size: 0.9rem;
    line-height: 1.5;
  }
}
.single_agree .list dl dd ol {
  list-style: decimal;
  margin-top: 1.3rem;
  padding-left: 1.3rem;
  line-height: 2;
}

.single_agree .list dl dd ol li ol {
  list-style: disc;
  margin-bottom: 1.3rem;
}

.single_agree p {
  background: #eee;
  margin-bottom: 3.1rem;
  padding: 0.6rem;
}

@media screen and (max-width: 767px) {
  .single_agree p {
    margin-bottom: 1.3rem;
  }
}
/********** お知らせ **********/
.news {
  background: #eee;
  padding: 3.8rem 0;
}

@media screen and (max-width: 767px) {
  .news {
    margin-bottom: 1.9rem;
    padding: 1.9rem 0;
  }
}
.news .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 1180px) {
  .news .wrap {
    display: block;
  }
}
.news .left {
  width: 25%;
}

@media screen and (max-width: 1180px) {
  .news .left {
    width: 100%;
  }
}
.news .left h2,
.news .left .alpha {
  text-align: left;
}

@media screen and (max-width: 1180px) {
  .news .left h2,
  .news .left .alpha {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .news .left h2 {
    margin-bottom: 0;
  }
  .news .left .alpha {
    display: none;
  }
}
.news .right {
  width: 70%;
  background: #fff;
  padding: 2rem;
}

@media screen and (max-width: 1180px) {
  .news .right {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .news .right {
    padding: 1rem;
  }
}
.news .right ul li a,
.news_archive ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #333;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .news_archive ul li a {
    padding: 0.6rem 0;
  }
}
@media screen and (max-width: 640px) {
  .news .right ul li a,
  .news_archive ul li a {
    display: block;
  }
}
.news .right ul li a .meta,
.news_archive ul li a .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 640px) {
  .news .right ul li a .meta,
  .news_archive ul li a .meta {
    margin-bottom: 0.6rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.news .right ul li a .date,
.news_archive ul li a .date {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  margin-right: 1.3rem;
}

.news .right ul li a .store,
.news_archive ul li a .store,
.news_single .meta .store {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 7.5rem;
  margin-right: 1.3rem;
  font-size: 0.8em;
  -moz-text-align-last: center;
       text-align-last: center;
  color: #fff;
  background: #167ac6;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  .news .right ul li a .date,
  .news_archive ul li a .store,
  .news .right ul li a .store {
    margin-right: 0;
  }
  .news .right ul li a .store,
  .news_archive ul li a .store,
  .news_single .meta .store {
    font-size: 0.8em;
  }
}
.news .right ul li a .store.other,
.news_archive ul li a .store.other,
.news_single .meta .store.other {
  background: #1b9b1b;
}

.news .right ul li a .title,
.news_archive ul li a .title {
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.news .right ul li a:hover .title,
.news_archive ul li a:hover .title {
  color: #6ac9f2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.news .right ul li:not(:last-child),
.news_archive ul li:not(:last-child) {
  margin-bottom: 0.6rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px dashed #ccc;
}

.news .right a.btn,
.news_single article a.btn {
  display: block;
  width: 100%;
  max-width: 20rem;
  text-align: center;
  margin: 1.9rem auto 0;
  padding: 0.6rem;
  border: 1px solid;
  border-radius: 6.3rem;
}

.news .right a.btn span::before,
.news_single article a.btn span::before {
  font-family: "Font Awesome 5 Free";
  content: "\f101";
  font-weight: 900;
  margin-right: 0.6rem;
}

.news .right a.btn:hover,
.news_single article a.btn:hover {
  color: #fff;
  background: #1355a3;
}

.news_single ul.linklist {
  margin-left: 1.9rem;
  list-style: disc;
  line-height: 2;
}

.news_archive ul {
  max-width: 75rem;
  margin: auto;
}

/********** お知らせ記事 **********/
.news_single,
.news_archive,
.column_single,
.column_archive {
  width: calc(100% - 27.5rem);
}

@media screen and (max-width: 990px) {
  .news_single,
  .news_archive,
  .column_single,
  .column_archive {
    width: 65%;
  }
}
@media screen and (max-width: 767px) {
  .news_single,
  .news_archive,
  .column_single,
  .column_archive {
    width: 100%;
  }
}
.news_single h2 {
  font-size: 1.8rem;
  color: #1355a3;
  margin-bottom: 2.5rem;
  padding-bottom: 1.3rem;
  border-bottom: 1px solid;
}

@media screen and (max-width: 767px) {
  .news_single h2 {
    font-size: 1.3rem;
  }
}
.news_single h3 {
  color: #1355a3;
  background: #eaf7ff;
  margin-bottom: 0.6rem;
  padding: 0.6rem;
}

.news_single h4 {
  color: #1355a3;
  margin-bottom: 0.6rem;
  padding: 0.3rem;
  border-left: 0.3rem solid;
}

.news_single .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.6rem;
}

.news_single .meta .date {
  margin-right: 1.3rem;
}

.news_single .meta .date::before {
  font-family: "Font Awesome 5 Free";
  content: "\f073";
  font-weight: 900;
  margin-right: 0.6rem;
}

.news_single article img {
  max-width: 37.5rem;
}

.news_single article img.thumbs {
  margin-bottom: 2rem;
}

.news_single article p:not(:last-child) {
  margin-bottom: 1.3rem;
}

.news_single p span {
  font-weight: bold;
}

.news_single p span.big {
  font-size: 1.2em;
}

.news_single p span.green {
  color: #1b9b1b;
}

.news_single p span.red {
  color: #c74b55;
}

.news_single p.closed {
  background: #ffedee;
  font-weight: bold;
  text-align: center;
  margin-top: 1rem;
  padding: 1rem;
}

.news_single ul.box_list {
  border: 1px solid #4191c3;
  background: #eaf7ff;
  padding: 1rem 1rem 1rem 40px;
  list-style: disc;
}

@media screen and (max-width: 767px) {
  .news_single ul.box_list {
    font-size: 0.9rem;
  }
}
.news_single ul li:not(:last-child) {
  margin-bottom: 0.6rem;
}

.news_single table {
  margin-bottom: 1.3rem;
}

.news_single table.plan {
  min-width: 70%;
}

.news_single table th,
.news_single table td {
  border: 1px solid #ccc;
  padding: 10px;
}

@media screen and (max-width: 767px) {
  .news_single table th,
  .news_single table td {
    font-size: 0.9rem;
  }
}
.news_single table th {
  background: #eee;
  white-space: nowrap;
}

.news_single table.plan th {
  width: 30%;
}

.news_single table.plan td {
  width: 70%;
}

.news_single .navigation {
  margin: 2.5rem auto 0;
  padding: 1.3rem;
  background: #eee;
}

@media screen and (max-width: 767px) {
  .news_single .navigation {
    padding: 0.6rem;
  }
}
.news_single .navigation ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.news_single .navigation ul li {
  width: 30%;
  max-width: 12.5rem;
}

.news_single .navigation ul li a {
  display: block;
  position: relative;
  text-align: center;
  background: #eaf7ff;
  padding: 0.6rem;
  border-radius: 0.3rem;
  -webkit-box-shadow: 0 0 0.3rem #333;
          box-shadow: 0 0 0.3rem #333;
}

@media screen and (max-width: 767px) {
  .news_single .navigation ul li a {
    font-size: 0.9rem;
    padding: 0.6rem 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .news_single .navigation ul li:first-child a {
    padding-left: 1.3rem;
  }
  .news_single .navigation ul li:last-child a {
    padding-right: 1.3rem;
  }
}
.news_single .navigation ul li:first-child a::before,
.news_single .navigation ul li:last-child a::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  top: calc(50% - 0.6rem);
  line-height: 1.3rem;
}

.news_single .navigation ul li:first-child a::before {
  content: "\f137";
  left: 0.6rem;
}

.news_single .navigation ul li:last-child a::after {
  content: "\f138";
  right: 0.6rem;
}

.news_side {
  width: 22.5rem;
  -webkit-box-shadow: 0 0 0.3rem #999;
          box-shadow: 0 0 0.3rem #999;
  border-radius: 0.6rem;
  overflow: hidden;
}

@media screen and (max-width: 990px) {
  .news_side {
    width: 30%;
  }
}
@media screen and (max-width: 767px) {
  .news_side {
    width: 100%;
    margin-top: 2.5rem;
  }
}
.news_side h2 {
  font-size: 1.3rem;
  text-align: center;
  color: #fff;
  background: #4d6b9b;
  padding: 1.3rem;
}

@media screen and (max-width: 767px) {
  .news_side h2 {
    font-size: 1rem;
    padding: 0.6rem;
  }
}
.news_side ul {
  padding: 1.3rem;
}

@media screen and (max-width: 767px) {
  .news_side ul {
    padding: 0.6rem;
  }
}
.news_side ul li:not(:last-child) {
  margin-bottom: 0.6rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid #ccc;
}

.news_side ul li a p.date {
  font-size: 0.9rem;
  font-weight: bold;
  color: #333;
}

.news_side ul li a p.title {
  font-size: 1rem;
}

@media screen and (max-width: 990px) {
  .news_side ul li a p.title {
    font-size: 0.9rem;
  }
}
/********** コラム記事 **********/
.column_archive ul li:not(:last-child) {
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .column_archive ul li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
.column_archive ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .column_archive ul li a {
    border: 1px solid #999;
    border-radius: 0.6rem;
    overflow: hidden;
  }
}
.column_archive ul li a img {
  width: 30%;
  aspect-ratio: 16/9;
}

@media screen and (max-width: 767px) {
  .column_archive ul li a img {
    width: 100%;
  }
}
.column_archive ul li a .meta {
  width: 66%;
}

@media screen and (max-width: 767px) {
  .column_archive ul li a .meta {
    width: 100%;
    padding: 1rem;
  }
}
.column_archive ul li a .meta p {
  color: #000;
}

.column_archive ul li a .meta p.date {
  font-size: 0.9rem;
  font-weight: bold;
}

.column_archive ul li a .meta p.title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: #1355a3;
}

@media screen and (max-width: 767px) {
  .column_archive ul li a .meta p.title {
    font-size: 1rem;
  }
}
.column_archive ul li a .meta p.txt {
  font-size: 0.9rem;
}

@media screen and (max-width: 767px) {
  .column_archive ul li a .meta p.txt {
    font-size: 0.85rem;
    line-height: 1.5;
    display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 3; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */
  }
}
/********** 総合・料金案内 **********/
.single_price h2 {
  width: 100%;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  color: #1355a3;
  line-height: 1.2;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid;
}

@media screen and (max-width: 767px) {
  .single_price h2 {
    font-size: 24px;
    margin-bottom: 20px;
    border-bottom: 0;
  }
}
.single_price .description h2 {
  margin-bottom: 1.9rem;
}

@media screen and (max-width: 767px) {
  .single_price .description h2 {
    margin-bottom: 0;
  }
}
.single_price .description p {
  text-align: center;
  margin-bottom: 1.3rem;
}

.single_price .description dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 30rem;
  margin: 0 auto 5rem;
}

@media screen and (max-width: 767px) {
  .single_price .description dl {
    margin: 0 auto 1.9rem;
  }
}
.single_price .description dl dt,
.single_price .description dl dd {
  font-size: 1.6em;
  padding: 1.3rem;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  .single_price .description dl dt,
  .single_price .description dl dd {
    font-size: 1.2em;
    padding: 0.8rem;
  }
}
.single_price .description dl dt {
  width: 40%;
  background: #eaf7ff;
}

.single_price .description dl dd {
  width: 60%;
  border-right: 1px solid #ccc;
}

.single_price .list h2 {
  margin-bottom: 1.9rem;
}

@media screen and (max-width: 767px) {
  .single_price .list h2 {
    margin-bottom: 0;
  }
}
.single_price .list p.caution {
  text-align: center;
  margin-bottom: 3.8rem;
}

@media screen and (max-width: 767px) {
  .single_price .list p.caution {
    margin-bottom: 1.9rem;
  }
}
.single_price .list p.caution span {
  font-weight: bold;
  color: #c74b55;
}

.single_price .list ul {
  max-width: 75rem;
  margin: auto;
}

.single_price .list ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2.5rem;
  padding: 1.3rem;
  border: 1px solid #ccc;
}

@media screen and (max-width: 640px) {
  .single_price .list ul li {
    padding: 0;
    border: none;
  }
}
.single_price .list ul li figure {
  width: 28%;
}

@media screen and (max-width: 640px) {
  .single_price .list ul li figure {
    display: none;
  }
}
.single_price .list ul li figure img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.single_price .list ul li .box {
  position: relative;
  width: 70%;
}

@media screen and (max-width: 640px) {
  .single_price .list ul li .box {
    width: 100%;
  }
}
.single_price .list ul li .box .post {
  width: 100%;
  float: left;
  clear: left;
}

.single_price .list ul li .box .caut {
  color: #c74b55;
}

.single_price .list ul li .box .caut a {
  color: #c74b55;
  text-decoration: underline;
}

.single_price .list ul li .box .caut a:hover {
  color: #ff0000;
}

.single_price .list ul li .box h3 {
  color: #1355a3;
  background: #eaf7ff;
  margin-bottom: 1.3rem;
  padding: 0.6rem;
  border-bottom: 2px solid;
}

@media screen and (max-width: 767px) {
  .single_price .list ul li .box h3 {
    font-size: 1.1rem;
    margin-bottom: 0.6rem;
    padding: 0.4rem;
    border-bottom: 1px solid;
  }
}
.single_price .list ul li .box dl {
  width: 32%;
  float: left;
  margin-bottom: 2%;
  border-radius: 0.6rem;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .single_price .list ul li .box dl {
    font-size: 0.9rem;
    border-radius: 0.3rem;
  }
}
.single_price .list ul li .box dl:not(:nth-child(3n)) {
  margin-right: 2%;
}

.single_price .list ul li .box dt {
  font-size: 0.9em;
  float: left;
  clear: left;
  color: #fff;
  background: #4d6b9b;
}

.single_price .list ul li .box dd {
  background: #eff5ff;
}

.single_price .list ul li .box dd span {
  font-weight: bold;
  margin-right: 3px;
}

.single_price .list ul li .box dt,
.single_price .list ul li .box dd {
  width: 100%;
  text-align: center;
  line-height: 2;
}

.single_price .list ul li a.btn {
  display: block;
  width: 80%;
  max-width: 30rem;
  text-align: center;
  color: #1355a3;
  margin: 1.3rem auto 0;
  padding: 0.6rem;
  border: 1px solid;
}

@media screen and (max-width: 640px) {
  .single_price .list ul li a.btn {
    font-size: 0.9rem;
  }
}
.single_price .list ul li a.btn:hover {
  color: #fff;
  background: #1355a3;
}

/* プラン説明用 */
.plan_list table {
  max-width: 75rem;
  margin: auto;
}

.plan_list table th,
.plan_list table td {
  padding: 1rem;
  border: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  .plan_list table th,
  .plan_list table td {
    padding: 0.6rem;
  }
}
.plan_list table th {
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .plan_list table th {
    font-size: 0.9rem;
  }
}
.plan_list table th small {
  display: block;
  color: #c74b55;
}

@media screen and (max-width: 767px) {
  .plan_list table td {
    font-size: 0.8rem;
  }
}
.plan_list table tr:nth-child(odd) th {
  background: #ffdef7;
}

.plan_list table tr:nth-child(odd) td {
  background: #fffafe;
}

.plan_list table tr:nth-child(even) th {
  background: #d8fbd8;
}

.plan_list table tr:nth-child(even) td {
  background: #f3fff3;
}

/* ================================
Top
================================ */
.home .l-content-container {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .home .c-recruit-cta {
    padding-top: 16.3rem;
  }
}

.p-top-intro {
  position: relative;
  z-index: 1;
  color: #fff;
  background: url(../img/top/intro_bg.jpg) no-repeat center center/cover;
  padding: 5rem 0;
}
.p-top-intro__heading {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.05em;
  margin: 0 0 3.1rem;
}
.p-top-intro__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-top-intro__item {
  width: 33%;
  text-align: center;
}
.p-top-intro__item:nth-of-type(2) {
  border-left: 1px solid #5C92BE;
  border-right: 1px solid #5C92BE;
}
.p-top-intro__title {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.05em;
}
.p-top-intro__num {
  color: #e3d98d;
  font-family: "Oswald", sans-serif;
  font-size: 5.3rem;
  font-weight: 500;
  text-align: center;
}
.p-top-intro__num .-num {
  font-size: 6.8rem;
}
@media screen and (max-width: 768px) {
  .p-top-intro {
    background: url(../img/top/intro_bg_sp.jpg) no-repeat center center/cover;
    padding: 3.1rem 0 5rem;
  }
  .p-top-intro__heading {
    font-size: 1.9rem;
    margin: 0 0 2.5rem;
  }
  .p-top-intro__list {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.9rem 0;
  }
  .p-top-intro__item {
    width: 50%;
  }
  .p-top-intro__item:nth-of-type(2) {
    border-left: none;
    border-right: none;
  }
  .p-top-intro__title {
    font-size: 1.1rem;
  }
  .p-top-intro__num {
    font-size: 2.5rem;
  }
  .p-top-intro__num .-num {
    font-size: 4.4rem;
  }
}

.p-top-message {
  position: relative;
  z-index: 0;
  background-color: #fff;
  padding: 10.3rem 0;
}
.p-top-message::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -5.6rem;
  left: -11.3rem;
  display: block;
  width: 46.3rem;
  aspect-ratio: 1/1;
  background: url(../img/top/message_logo.png) no-repeat center center/contain;
}
.p-top-message__inner {
  padding: 0 0 0 6.3rem;
}
.p-top-message__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.9rem 9.4rem;
}
.p-top-message__header {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-top-message__heading {
  font-size: 4.9rem;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1;
}
.p-top-message__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-top-message__text01 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1.9rem;
}
.p-top-message__text02 {
  font-size: 1.5rem;
  line-height: 2;
  margin: 0 0 1.9rem;
}
.p-top-message__text03 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.8;
  margin: 0 0 2.8rem;
}
.p-top-message__text04 {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-top-message {
    padding: 4.4rem 0 3.8rem;
  }
  .p-top-message::before {
    top: -1.9rem;
    left: -4.4rem;
    width: 18.4rem;
  }
  .p-top-message__inner {
    padding: 0;
  }
  .p-top-message__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-top-message__heading {
    font-size: 2.7rem;
  }
  .p-top-message__text01 {
    font-size: 1.2rem;
    margin: 0 -0.9rem 1.3rem 0;
  }
  .p-top-message__text02 {
    font-size: 1rem;
    font-weight: 500;
    margin: 0 0 1.6rem;
  }
  .p-top-message__text03 {
    font-size: 1.2rem;
    margin: 0 -0.9rem 1.6rem 0;
  }
  .p-top-message__text04 {
    font-size: 1rem;
    font-weight: 500;
  }
}

.p-top-env__gallery {
  width: 100vw;
  aspect-ratio: 1440/280;
  background: url(../img/top/env-gallery_img.jpg) repeat-x 0 0/auto 100%;
  -webkit-animation: img_loop 50s linear infinite;
          animation: img_loop 50s linear infinite;
}
.p-top-env__typo {
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 9.4rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  margin: -3.1rem auto 5rem;
}
.p-top-env__heading {
  color: #477cbc;
  font-size: 3.1rem;
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 1.3;
  margin: 0 0 1.6rem;
}
.p-top-env__img {
  aspect-ratio: 1440/710;
  margin: 3.1rem 0 0;
}
@-webkit-keyframes img_loop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 150vw 0;
  }
}
@keyframes img_loop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 150vw 0;
  }
}
@media screen and (max-width: 768px) {
  .p-top-env__gallery {
    aspect-ratio: 375/160;
    -webkit-animation: img_loop 25s linear infinite;
            animation: img_loop 25s linear infinite;
  }
  .p-top-env__typo {
    font-size: 3.4rem;
    margin: -1.3rem 0 1.3rem;
  }
  .p-top-env__heading {
    font-size: 2.1rem;
    margin: 0 0 1.3rem;
  }
  .p-top-env__img {
    aspect-ratio: 375/300;
    margin: 3.4rem 0 0;
  }
  .p-top-env__desc {
    margin: 0 -0.9rem 0 0;
  }
}

.p-top-point {
  color: #fff;
  background: linear-gradient(150deg, #598ca7, #467bbe, #234191);
  padding: 0 0 4.4rem;
}
.p-top-point__header {
  border-bottom: 1px solid #7994e2;
  padding: 5.6rem 0;
}
.p-top-point__heading {
  font-size: 3.1rem;
  font-weight: 700;
  letter-spacing: -0.07em;
  margin: 0 0 1.3rem;
}
.p-top-point__heading .-sm {
  font-size: 1.5rem;
}
.p-top-point__body {
  margin: 0 0 2.2rem;
}
@media screen and (max-width: 768px) {
  .p-top-point__header {
    padding: 3.1rem 0 3.8rem;
  }
  .p-top-point__heading {
    font-size: 2.5rem;
    line-height: 1.4;
    margin: 0 0 1.3rem;
  }
  .p-top-point__heading .-sm {
    font-size: 1.5rem;
  }
}

.p-top-point-block {
  position: relative;
  z-index: 0;
  border-bottom: 1px solid #7994e2;
  overflow: hidden;
  cursor: pointer;
}
.p-top-point-block__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 3.8rem;
}
.p-top-point-block__header {
  display: grid;
  grid-template-areas: "num catch" "num title";
  grid-template-columns: 4.4rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3.1rem 0;
}
.p-top-point-block__num {
  grid-area: num;
  font-family: "Oswald", sans-serif;
  font-size: 1.3rem;
  white-space: nowrap;
  letter-spacing: 0;
}
.p-top-point-block__catch {
  grid-area: catch;
  color: #CCCCCC;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -0.07em;
}
.p-top-point-block__title {
  grid-area: title;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.p-top-point-block__text {
  height: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
  transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
  padding: 0 0 0 4.4rem;
}
.p-top-point-block__img {
  opacity: 0;
  visibility: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 27.5rem;
  height: 0;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
  margin: 0 -13.8rem 0 0;
}
.p-top-point-block.is-open .p-top-point-block__header {
  padding-bottom: 1.9rem;
}
.p-top-point-block.is-open .p-top-point-block__text {
  height: auto;
  visibility: visible;
  opacity: 1;
  padding: 0 0 3.1rem 4.4rem;
}
.p-top-point-block.is-open .p-top-point-block__img {
  visibility: visible;
  opacity: 1;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-top-point-block__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-top-point-block__img {
    width: calc(100% + 3.8rem);
    aspect-ratio: 375/260;
    margin: 0 -1.9rem;
  }
  .p-top-point-block__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 1.6rem 0 1.9rem;
  }
  .p-top-point-block__num {
    font-size: 1.3rem;
    margin: 0 0 0.6rem;
  }
  .p-top-point-block__catch {
    font-size: 1.3rem;
  }
  .p-top-point-block__title {
    position: relative;
    width: 100%;
    line-height: 1.4;
    font-size: 1.8rem;
  }
  .p-top-point-block__title::after {
    position: absolute;
    top: -0.6rem;
    right: -0.9rem;
    content: "＋";
    color: #fff;
    font-size: 2.5rem;
    line-height: 1;
    font-weight: 300;
  }
  .p-top-point-block__text {
    padding: 0;
  }
  .p-top-point-block.is-open .p-top-point-block__header {
    padding-bottom: 1.3rem;
  }
  .p-top-point-block.is-open .p-top-point-block__text {
    padding: 0 0 1.3rem;
  }
}

.p-top-other {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-top-other__block {
  width: 50%;
  min-height: 34.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}
.p-top-other__block.-shop {
  background: url(../img/top/shop_bg.jpg) no-repeat center center/cover;
}
.p-top-other__block.-registration {
  background: url(../img/top/registration_bg.jpg) no-repeat center center/cover;
}
.p-top-other__heading {
  font-size: 1.9rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 1.9rem;
}
.p-top-other__heading::before {
  content: attr(data-en);
  display: block;
  font-family: "Oswald", sans-serif;
  color: #CCCCCC;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-top-other {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-top-other__block {
    width: 100%;
    min-height: initial;
    padding: 4.7rem 1.9rem;
  }
  .p-top-other__block.-shop {
    background: url(../img/top/shop_bg_sp.jpg) no-repeat center center/cover;
  }
  .p-top-other__block.-registration {
    background: url(../img/top/registration_bg_sp.jpg) no-repeat center center/cover;
  }
  .p-top-other__heading {
    font-size: 1.5rem;
    margin: 0 0 1.3rem;
  }
  .p-top-other__heading::before {
    font-size: 1.4rem;
  }
}

.p-top-campaign {
  color: #fff;
  background-color: #4e833a;
  padding: 7.5rem 0;
}
.p-top-campaign__footer {
  margin: 2.8rem 0 0;
}
.p-top-campaign__heading {
  font-size: 2.3rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 1.3rem;
}
@media screen and (max-width: 768px) {
  .p-top-campaign {
    padding: 1.9rem 0 3.4rem;
  }
  .p-top-campaign__footer {
    margin: 2.2rem 0 0;
  }
  .p-top-campaign__heading {
    font-size: 1.5rem;
    margin: 0 0 1.9rem;
  }
}

.p-top-campaign-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  padding: 6.3rem;
  background: url(../img/top/campaign-block01_bg.jpg?250929) no-repeat center center/cover;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.p-top-campaign-block:hover {
  opacity: 0.7;
}
.p-top-campaign-block__logo {
  width: 20.3rem;
  aspect-ratio: 325/91;
}
.p-top-campaign-block__content {
  width: 50%;
}
.p-top-campaign-block__heading {
  font-size: 2.3rem;
  font-weight: 700;
  margin: 0 0 0.8rem;
}
.p-top-campaign-block__heading::before {
  content: attr(data-en);
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 7.4rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.85;
  margin: 0 0 1.3rem;
}
.p-top-campaign-block__catch {
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0 0 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-top-campaign-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3.8rem 0.9rem;
  }
  .p-top-campaign-block__logo {
    width: 10.9rem;
  }
  .p-top-campaign-block__content {
    width: 100%;
  }
  .p-top-campaign-block__heading {
    font-size: 1.4rem;
    text-align: center;
    margin: 0 0 1.3rem;
  }
  .p-top-campaign-block__heading::before {
    font-size: 4.6rem;
    white-space: nowrap;
  }
  .p-top-campaign-block__catch {
    font-size: 1rem;
    text-align: center;
    margin: 0 0 1.9rem;
  }
}

.p-top-insta {
  padding: 11.6rem 0 0;
}
.p-top-insta__heading {
  font-family: "Oswald", sans-serif;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  margin: 0 0 2.5rem;
}
.p-top-insta__heading::before {
  content: "";
  display: block;
  width: 4.3rem;
  aspect-ratio: 1/1;
  background: url(../img/cmn/insta_ico.svg) no-repeat center center/contain;
  margin: 0 auto 0.9rem;
}
.p-top-insta__body #sb_instagram #sbi_images {
  gap: 0.6rem 0.6rem;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .p-top-insta {
    padding: 4.7rem 0 0;
  }
  .p-top-insta__heading {
    font-size: 1rem;
  }
  .p-top-insta__heading::before {
    width: 2.5rem;
    margin: 0 auto 0.6rem;
  }
  .p-top-insta__body {
    width: 100vw;
    padding: 0 0.9rem;
    margin: 0 calc(50% - 50vw);
  }
  .p-top-insta__body #sb_instagram #sbi_images {
    gap: 0.3rem 0.3rem;
  }
}

.p-top-faq {
  padding: 9.1rem 0 10rem;
}
.p-top-faq__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem 1.5rem;
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0 0 1.9rem;
}
.p-top-faq__heading::before {
  content: attr(data-en);
  color: #61cb47;
  font-family: "Oswald", sans-serif;
  font-size: 5.1rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.85;
}
.p-top-faq__desc {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 2;
  margin: 0 0 3.8rem;
}
@media screen and (max-width: 768px) {
  .p-top-faq {
    padding: 3.8rem 0;
  }
  .p-top-faq__heading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 1.6rem;
  }
  .p-top-faq__heading::before {
    font-size: 3.1rem;
  }
  .p-top-faq__desc {
    font-size: 0.9rem;
    margin: 0 0 1.9rem;
  }
}

.p-top-franchise {
  position: relative;
  z-index: 1;
  width: 100%;
  color: #fff;
  background: url(../img/top/franchise_bg.jpg) no-repeat center center/cover;
  padding: 7.8rem 6.3rem;
  margin: 0 auto -7.5rem;
}
.p-top-franchise__heading {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 1.3rem;
}
.p-top-franchise__heading::before {
  content: attr(data-en);
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 4.1rem;
  font-weight: 500;
  color: #6ed156;
  opacity: 0.85;
}
@media screen and (max-width: 768px) {
  .p-top-franchise {
    background: url(../img/top/franchise_bg_sp.jpg) no-repeat center center/cover;
    padding: 7.2rem 1.9rem 3.4rem;
    margin: 0 auto;
  }
  .p-top-franchise__heading {
    font-size: 1.5rem;
    margin: 0 0 1.6rem;
  }
  .p-top-franchise__heading::before {
    font-size: 3rem;
  }
}

/* ================================
Page
================================ */
.p-page-header {
  background-color: #fff;
  padding: 0.6rem 0 3.1rem;
}
.p-page-header__breadcrumbs {
  margin: 0 0 8.4rem;
}
@media screen and (max-width: 768px) {
  .p-page-header {
    padding: 1rem 0 3.1rem;
  }
  .p-page-header__breadcrumbs {
    margin: 0 0 4.4rem;
  }
}

.p-page-content {
  padding: 3.8rem 0 0;
}
.p-page-content.-pt0 {
  padding-top: 0;
}
.p-page-content.-bg_wh {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .p-page-content {
    padding: 2.5rem 0 0;
  }
}

.p-page-layout.-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-page-nav {
  margin: 0 0 5rem;
}
.p-page-nav__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6rem 0.6rem;
}
.p-page-nav__item {
  position: relative;
  letter-spacing: -0.025em;
  border-radius: 0.4rem;
  background-color: #fff;
  border: 1px solid #DCDCDC;
  padding: 0.6rem 2.9rem 0.6rem 1.9rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.p-page-nav__item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.8rem;
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-bottom: 1px solid #61cb47;
  border-right: 1px solid #61cb47;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.p-page-nav__item:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .p-page-nav {
    margin: 0 0 2.5rem;
  }
  .p-page-nav__menu {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-page-nav__item {
    width: 100%;
    font-size: 0.9rem;
    padding: 0.6rem 2.3rem 0.6rem 1.3rem;
  }
  .p-page-nav__item::after {
    right: 0.9rem;
  }
  .p-page-nav__item.-half_only_mobile {
    width: calc(50% - 0.3rem);
  }
}

.p-page-sec + .p-page-sec {
  margin-top: 9.4rem;
}
.p-page-sec:last-of-type {
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-page-sec + .p-page-sec {
    margin-top: 6.3rem;
  }
  .p-page-sec:last-of-type {
    padding-bottom: 5.6rem;
  }
}

.p-page-float {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-page-float {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }
  .p-page-float__btn {
    color: #fff;
    font-size: 1rem;
    border-radius: 0.3rem 0.3rem 0 0;
    padding: 0.6rem 1.9rem;
    background-color: #477cbc;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }
  .p-page-float__btn:hover {
    opacity: 0.7;
  }
  .p-page-float.is-visible {
    opacity: 1;
    visibility: visible;
  }
}

.p-page-popup {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  z-index: 10;
  bottom: 1.4rem;
  right: 1.4rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.p-page-popup.is-visible {
  opacity: 1;
  visibility: visible;
}
.p-page-popup__close {
  position: absolute;
  top: -0.8rem;
  right: -0.8rem;
  z-index: 1;
  display: block;
  width: 1.5rem;
  aspect-ratio: 1/1;
  background: url(../img/cmn/popup-close_ico.svg) no-repeat center center/contain;
  margin: 0 0 -0.8rem auto;
  cursor: pointer;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.p-page-popup__close:hover {
  opacity: 0.7;
}
.p-page-popup__banner {
  width: 18.8rem;
  aspect-ratio: 300/200;
}
@media screen and (max-width: 768px) {
  .p-page-popup {
    right: 0.9rem;
    bottom: 3.1rem;
  }
  .p-page-popup__close {
    top: -0.5rem;
    right: -0.5rem;
    width: 1.1rem;
  }
  .p-page-popup__banner {
    width: 11.3rem;
  }
}

/* ================================
Post
================================ */
.p-post-archive {
  padding-bottom: 10rem;
}
.p-post-archive__footer {
  margin: 5rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-post-archive {
    padding-bottom: 6.3rem;
  }
  .p-post-archive__footer {
    margin: 2.5rem 0 0;
  }
}

.p-post-single {
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-post-single {
    padding-bottom: 6.3rem;
  }
}

.news_single .navigation {
  margin: 2.5rem auto 3.1rem;
}

.news .right ul li a .meta, .news_archive ul li a .meta {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* ================================
ご利用ガイド
================================ */
.p-service-other {
  width: 100%;
  color: #fff;
  background: url(../img/service/other_bg.jpg) no-repeat center center/cover;
  padding: 6.3rem 1.9rem;
}
.p-service-other__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem 0;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 1.3rem;
}
.p-service-other__heading::before {
  content: "";
  display: block;
  width: 4.4rem;
  aspect-ratio: 1/1;
  background: url(../img/service/other_ico.png) no-repeat center center/contain;
}
.p-service-other__desc {
  font-weight: 500;
  text-align: center;
  margin: 0 0 2.5rem;
}
.p-service-other__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3rem 1.3rem;
}
.p-service-other__btn {
  width: 17.5rem;
  font-size: 1.1rem;
  color: #323232;
  font-weight: 500;
  text-align: center;
  background-color: #fff;
  border-radius: 9999px;
  padding: 1.3rem;
}
.p-service-other__btn:nth-of-type(2) {
  color: #fff;
  background-color: #477cbc;
}
@media screen and (max-width: 768px) {
  .p-service-other {
    background: url(../img/service/other_bg_sp.jpg) no-repeat center center/cover;
    padding: 6.3rem 0 4.4rem;
  }
  .p-service-other__heading {
    font-size: 1.9rem;
    margin: 0 0 0.6rem;
  }
  .p-service-other__desc {
    margin: 0 0 1.9rem;
  }
  .p-service-other__btn {
    font-size: 1rem;
    padding: 0.9rem;
  }
}

@media screen and (min-width: 769px) {
  .p-service-facility__slider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 2.5rem;
  }
  .p-service-facility__slide {
    width: calc(50% - 1.3rem);
  }
}
@media screen and (max-width: 768px) {
  .p-service-facility__slider {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 0 0 0 1.9rem;
  }
  .p-service-facility__slider .slick-list {
    overflow: visible;
  }
  .p-service-facility__slider .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 0.6rem;
  }
  .p-service-facility__slide {
    width: 19.7rem;
    height: auto;
  }
}

.p-service-video {
  background-color: #323232;
  padding: 8.8rem 0;
}
.p-service-video__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.9rem 1.9rem;
}
.p-service-video__item {
  position: relative;
  width: calc(50% - 1rem);
  aspect-ratio: 485/290;
}
.p-service-video__item iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p-service-video {
    padding: 3.8rem 0 5rem;
  }
  .p-service-video__list {
    gap: 1.3rem 0;
  }
  .p-service-video__item {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .p-practice-howto__slider .slick-list {
    overflow: visible;
  }
  .p-practice-howto__slider .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 1.3rem;
  }
  .p-practice-howto__slide {
    width: 19.7rem !important;
  }
}

.p-practice-menu__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.3rem;
}
.p-practice-menu__table th {
  width: 13.8rem;
  color: #fff;
  background-color: #707070;
  padding: 1.3rem 1.9rem;
}
.p-practice-menu__table td {
  background-color: #fff;
  padding: 1.3rem 2.1rem;
}
.p-practice-menu__function {
  display: inline-block;
  color: #fff;
  font-weight: 500;
  background-color: #323232;
  padding: 0.25em 1em;
  border-radius: 0.4rem;
}
@media screen and (max-width: 768px) {
  .p-practice-menu__table {
    border-spacing: 0 0.6rem;
  }
  .p-practice-menu__table th,
  .p-practice-menu__table td {
    display: block;
    width: 100%;
    font-size: 0.9rem;
  }
  .p-practice-menu__table th {
    padding: 0.8rem 1.5rem;
  }
  .p-practice-menu__table td {
    padding: 0.8rem 1.5rem 1.3rem;
  }
  .p-practice-menu__function {
    margin: 0.6rem 0 0;
  }
}

.p-practice-method__gallery {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2.5rem;
}
.p-practice-method__gallery::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 5.6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: inline-block;
  width: 3.6rem;
  aspect-ratio: 58/51;
  background: url(../img/practice/method_arrow.svg) no-repeat center center/contain;
}
.p-practice-method__gallery:not(:last-of-type) {
  margin-bottom: 3.1rem;
}
.p-practice-method__card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-practice-method__img {
  margin: 0 0 0.6rem;
}
.p-practice-method__title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 0.6rem;
}
.p-practice-method__title img {
  width: auto;
  height: 1.5em;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: middle;
}
.p-practice-method__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 0.6rem;
}
.p-practice-method__note::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 1.4rem;
  aspect-ratio: 1/1;
  background: url(../img/service/attention_ico.svg) no-repeat center center/contain;
}
.p-practice-method__text:not(:last-of-type) {
  margin-bottom: 3.1rem;
}
@media screen and (max-width: 768px) {
  .p-practice-method__text:not(:last-of-type) {
    margin-bottom: 1.6rem;
  }
  .p-practice-method__gallery {
    gap: 0 1.3rem;
    overflow-x: auto;
  }
  .p-practice-method__gallery::before {
    top: 1.9rem;
    left: 17.2rem;
    -webkit-transform: none;
            transform: none;
    width: 2rem;
  }
  .p-practice-method__gallery:not(:last-of-type) {
    margin-bottom: 2.5rem;
  }
  .p-practice-method__card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 17.2rem;
  }
}

.p-practice-method01__img01 {
  width: 100%;
}
.p-practice-method01__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.9rem 6.3rem;
}
.p-practice-method01__img02 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30rem;
}
@media screen and (max-width: 768px) {
  .p-practice-method01__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .p-practice-method01__img02 {
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: 10.3rem;
  }
}

.p-practice-method04__gallery03 {
  position: relative;
}
.p-practice-method04__gallery03::before {
  content: none;
}
.p-practice-method04__title05 {
  position: absolute;
  top: 1.9rem;
  left: calc(50% + 10rem);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-practice-method04__img05 {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 35.6rem;
  }
  .p-practice-method04__title05 {
    top: 0.9rem;
    left: calc(50% + 12.5rem);
    font-size: 1rem;
  }
}

.p-practice-method05__gallery03 {
  width: 28.1rem;
}
@media screen and (max-width: 768px) {
  .p-practice-method05__gallery03 {
    width: 100%;
  }
}

.p-practice-method06__img01 {
  margin: 0 0 2.5rem;
}
.p-practice-method06__gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem 1.9rem;
}
.p-practice-method06__img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.6rem 0.9rem;
}
.p-practice-method06__img-wrap:not(:last-of-type) {
  margin-bottom: 1.6rem;
}
.p-practice-method06__item {
  width: calc((100% - 3.8rem) / 3);
}
.p-practice-method06__img02 {
  width: 90.625%;
}
.p-practice-method06__img03 {
  width: 71.875%;
}
.p-practice-method06__img04 {
  width: 75%;
}
.p-practice-method06__img05, .p-practice-method06__img06 {
  width: 20.9375%;
}
.p-practice-method06__img07, .p-practice-method06__img08 {
  width: 49.0625%;
}
.p-practice-method06__img09 {
  width: 57.5%;
}
@media screen and (max-width: 768px) {
  .p-practice-method06__gallery {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0 2.2rem;
    overflow-x: auto;
  }
  .p-practice-method06__item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 15.6rem;
  }
}

.p-practice-method07__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem 2.5rem;
}
.p-practice-method07__img01 {
  width: calc(50% - 1.3rem);
}
@media screen and (max-width: 768px) {
  .p-practice-method07__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-practice-method07__img01 {
    width: 17.2rem;
  }
}

.p-course-howto__slide04 {
  margin: -1.3rem 0 0;
}
.p-course-howto__slide04 .c-card__num {
  bottom: 1.3rem;
}
.p-course-howto__slide04 .c-card__img-wrap {
  margin-bottom: 2.3rem !important;
}

.p-course-screen {
  position: relative;
  color: #fff;
  background-color: #323232;
  padding: 6.3rem 0;
}
.p-course-screen__img {
  aspect-ratio: 1000/566;
}
.p-course-screen__caption {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
  gap: 0.6rem 4.1rem;
  font-weight: 500;
  margin: 1.6rem 0 0;
  counter-reset: number 0;
}
.p-course-screen__caption li {
  position: relative;
  padding: 0 0 0 1em;
}
.p-course-screen__caption li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number 1;
  content: counter(number) ".";
}
.p-course-screen__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.8rem 3.1rem;
  margin: 3.1rem 0 0;
}
.p-course-screen__item {
  width: calc(50% - 1.6rem);
  font-weight: 500;
}
.p-course-screen__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.8rem;
  font-size: 1.1rem;
  margin: 0 0 0.9rem;
}
.p-course-screen__title.-attention::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 1.4rem;
  aspect-ratio: 1/1;
  background: url(../img/service/attention_ico.svg) no-repeat center center/contain;
}
.p-course-screen:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: calc(100% - 3.8rem);
  max-width: 1200px;
  height: 1px;
  background-color: #707070;
}
.p-course-screen + .p-course-screen {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-course-screen {
    padding: 3.8rem 0;
  }
  .p-course-screen__img {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .p-course-screen__caption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 0.9rem;
    margin: 2.9rem 0 0;
  }
  .p-course-screen__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem 0;
    margin: 2.5rem 0 0;
  }
  .p-course-screen__item {
    width: 100%;
  }
}

/* ================================
店舗
================================ */
.p-store-card {
  display: grid;
  grid-template-areas: "thumb name" "thumb content";
  grid-template-columns: 40% 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem 3.1rem;
  background-color: #fff;
  padding: 1.9rem;
}
.p-store-card__thumb {
  grid-area: thumb;
  aspect-ratio: 456/304;
}
.p-store-card__name {
  grid-area: name;
  align-self: end;
  font-size: 1.4rem;
  font-weight: 700;
}
.p-store-card__content {
  grid-area: content;
  align-self: start;
}
.p-store-card__access {
  margin: 0 0 0.6rem;
}
.p-store-card__address {
  margin: 0 0 0.9rem;
}
.p-store-card__address::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  aspect-ratio: 18/22;
  background: url(../img/store/pin_ico.svg) no-repeat center center/contain;
  margin: 0 0 0 1em;
  vertical-align: top;
}
.p-store-card__number {
  font-family: "Oswald", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  margin: 0 0 1.5rem;
}
.p-store-card__campaign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.4rem 0.4rem;
  margin: 0 0 2.3rem;
}
.p-store-card__campaign li {
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 0.4rem;
  background-color: #f4f4f4;
  padding: 0.25em 1em;
}
.p-store-card__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.9rem;
}
.p-store-card__line {
  width: 1.5rem;
  aspect-ratio: 24/22;
}
.p-store-card__line img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-store-card:not(:last-of-type) {
  margin-bottom: 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-store-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.3rem 1.3rem;
    padding: 1.3rem 1.9rem 1.9rem;
  }
  .p-store-card__thumb {
    width: 100%;
  }
  .p-store-card__name {
    -ms-flex-item-align: start;
        align-self: flex-start;
    font-size: 1.1rem;
  }
  .p-store-card__access {
    font-size: 0.9rem;
  }
  .p-store-card__address {
    font-size: 0.9rem;
  }
  .p-store-card__number {
    font-size: 1.1rem;
    margin: 0 0 1rem;
  }
  .p-store-card__campaign {
    margin: 0 0 1.3rem;
  }
  .p-store-card__campaign li {
    font-size: 0.9rem;
    padding: 0.5rem 0.8rem;
  }
  .p-store-card__footer {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .p-store-card:not(:last-of-type) {
    margin-bottom: 1rem;
  }
}

.single-store .p-page-content {
  padding-top: 0;
}

.p-store-mv {
  background-color: #fff;
  padding: 6.3rem 0 7.5rem;
  margin: 0 0 6.3rem;
}
.p-store-mv__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem 6.3rem;
}
.p-store-mv__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-store-mv__name {
  margin: 0 0 1.9rem;
}
.p-store-mv__desc {
  padding: 0 0 1.9rem;
  margin: 1.9rem 0;
  border-bottom: 1px solid #dcdcdc;
}
.p-store-mv__boxes {
  font-size: 1.1rem;
  margin: 0 0 3.1rem;
}
.p-store-mv__thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 39.4rem;
  aspect-ratio: 630/420;
  margin: 0 -7.5rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-store-mv {
    padding: 1.9rem 0 4.7rem;
    margin: 0 0 4.7rem;
  }
  .p-store-mv__breadcrumbs {
    margin: 0 0 2.5rem;
  }
  .p-store-mv__name {
    margin: 0 0 1.3rem;
  }
  .p-store-mv__desc {
    font-size: 0.9rem;
    padding: 0;
    border-bottom: none;
    margin: 0 0 1.3rem;
  }
  .p-store-mv__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-store-mv__thumb {
    width: calc(100% + 3.8rem);
    margin: 0 -1.9rem;
  }
  .p-store-mv__boxes {
    font-size: 0.9rem;
    margin: 0 0 1.3rem;
  }
}

.p-store-campaign {
  margin: 0 0 1.3rem;
}
.p-store-campaign__heading {
  font-weight: 500;
  margin: 0 0 0.9rem;
}
.p-store-campaign__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 0.6rem;
}
.p-store-campaign__item {
  width: calc((100% - 1.9rem) / 4);
  min-height: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #cf6406;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  border-radius: 0.6rem;
  border: 1px solid #cf6406;
}
.p-store-campaign__item.-join_free {
  color: #207720;
  border-color: #207720;
}
.p-store-campaign__item.-first_free {
  color: #ac1880;
  border-color: #ac1880;
}
.p-store-campaign__text .-num {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 2rem;
  line-height: 1;
  margin: 0 0.2rem 0 0;
}
.p-store-campaign__text .-unit {
  display: inline-block;
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  .p-store-campaign {
    margin: 0 0 1.5rem;
  }
  .p-store-campaign__item {
    width: calc(50% - 0.3rem);
    min-height: 4.4rem;
    padding: 0.6rem;
  }
}

.p-store-sec + .p-store-sec {
  margin-top: 7.5rem;
}
.p-store-sec:last-of-type {
  padding-bottom: 6.3rem;
}
.p-store-sec__intro {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2;
  margin: 1.9rem 0;
}
@media screen and (max-width: 768px) {
  .p-store-sec + .p-store-sec {
    margin-top: 4.7rem;
  }
  .p-store-sec:last-of-type {
    padding-bottom: 5.6rem;
  }
  .p-store-sec__intro {
    font-size: 0.9rem;
    margin: 1.3rem 0 2.2rem;
  }
}

.p-store-news__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.9rem 7.5rem;
}
.p-store-news__header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-store-news__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-store-news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0.3rem 1.9rem;
}
.p-store-news__item:not(:last-of-type) {
  border-bottom: 1px solid #c8c8c8;
  padding-bottom: 1.3rem;
}
.p-store-news__item:not(:first-of-type) {
  padding-top: 1.3rem;
}
.p-store-news__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
}
.p-store-news__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .p-store-news__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-store-news__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-store-news__item:not(:last-of-type) {
    padding-bottom: 0.9rem;
  }
  .p-store-news__item:not(:first-of-type) {
    padding-top: 0.9rem;
  }
  .p-store-news__date {
    font-size: 1rem;
  }
  .p-store-news__title {
    font-size: 0.9rem;
  }
}

.p-store-feature {
  color: #fff;
  background-color: #51ad3c;
  padding: 6.9rem 0;
}
.p-store-feature + .p-store-gallery {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-store-feature {
    padding: 4.7rem 0;
  }
}

.p-store-gallery__slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-store-gallery__slide {
  width: 25rem;
  aspect-ratio: 400/224;
}
@media screen and (max-width: 768px) {
  .p-store-gallery__slide {
    width: 19.7rem;
  }
}

.p-store-plan__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  overflow-x: auto;
  border: 1px solid #c8c8c8;
}
.p-store-plan__wrap + .p-store-plan__wrap,
.p-store-plan__wrap + .p-store-ticket__wrap {
  margin-top: 3.1rem;
}
.p-store-plan__side {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15.6rem;
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-rows: 15rem;
  grid-auto-rows: 1fr;
  border-right: 1px solid #c8c8c8;
  background-color: #fff;
}
.p-store-plan__body {
  background-color: #fff;
}
.p-store-plan__block {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15.6rem;
  display: grid;
  grid-template-rows: 15rem;
  grid-auto-rows: 1fr;
  background-color: #fff;
}
.p-store-plan__block:not(:last-of-type) {
  border-right: 1px solid #c8c8c8;
}
.p-store-plan__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 0.6rem 1.3rem;
}
.p-store-plan__item:nth-child(even) {
  background-color: #efefef;
}
.p-store-plan__header {
  padding: 0 0 1.3rem;
}
.p-store-plan__name {
  color: #fff;
  font-size: 1.3rem;
  text-align: center;
  font-weight: 400;
  background-color: #505050;
  padding: 1.3rem 0;
  margin: 0 0 1.3rem;
}
.p-store-plan__price {
  text-align: center;
}
.p-store-plan__price .-num {
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}
.p-store-plan__price .-unit {
  font-size: 0.8rem;
}
.p-store-plan__recommend {
  font-size: 0.9rem;
  text-align: center;
  margin: 0.6rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-store-plan__wrap + .p-store-plan__wrap,
  .p-store-plan__wrap + .p-store-ticket__wrap {
    margin-top: 2.5rem;
  }
  .p-store-plan__side {
    position: initial;
    width: 11.3rem;
    grid-template-rows: 14.4rem;
  }
  .p-store-plan__side .p-store-plan__item {
    text-align: left;
  }
  .p-store-plan__block {
    width: 15rem;
    grid-template-rows: 14.4rem;
  }
  .p-store-plan__item {
    font-size: 0.9rem;
  }
  .p-store-plan__name {
    font-size: 1.1rem;
  }
  .p-store-plan__price {
    font-size: 0.9rem;
  }
  .p-store-plan__price .-num {
    font-size: 1.4rem;
  }
  .p-store-plan__price .-unit {
    font-size: 0.7rem;
  }
  .p-store-plan__recommend {
    font-size: 0.8rem;
  }
}

.p-store-ticket__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 0.6rem;
}
.p-store-ticket__wrap + .p-store-plan__wrap,
.p-store-ticket__wrap + .p-store-ticket__wrap {
  margin-top: 3.1rem;
}
.p-store-ticket__block {
  width: calc((100% - 1.3rem) / 3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-store-ticket__header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #fff;
  background-color: #323232;
  padding: 2rem 2.5rem;
}
.p-store-ticket__table-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2rem 2.5rem;
  background-color: #fff;
}
.p-store-ticket__table {
  width: 100%;
}
.p-store-ticket__table tr:last-child th,
.p-store-ticket__table tr:last-child td {
  padding-bottom: 0;
}
.p-store-ticket__table th,
.p-store-ticket__table td {
  font-weight: 500;
  vertical-align: middle;
  padding: 0 0 1.3rem;
}
.p-store-ticket__table td {
  text-align: right;
}
.p-store-ticket__table td .-num {
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
}
.p-store-ticket__table td .-unit {
  font-size: 0.9rem;
}
.p-store-ticket__note {
  font-size: 0.8rem;
  margin: 0.6rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-store-ticket__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.9rem 0;
  }
  .p-store-ticket__wrap + .p-store-plan__wrap,
  .p-store-ticket__wrap + .p-store-ticket__wrap {
    margin-top: 2.5rem;
  }
  .p-store-ticket__block {
    width: 100%;
  }
  .p-store-ticket__header {
    padding: 1.3rem 1.9rem;
  }
  .p-store-ticket__table-wrap {
    padding: 1.9rem;
  }
  .p-store-ticket__table th,
  .p-store-ticket__table td {
    font-size: 0.9rem;
  }
  .p-store-ticket__table th .-num,
  .p-store-ticket__table td .-num {
    font-size: 1rem;
  }
  .p-store-ticket__table th .-unit,
  .p-store-ticket__table td .-unit {
    font-size: 0.9rem;
  }
  .p-store-ticket__note {
    margin: 0.3rem 0 0;
  }
}

.p-store-rental__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem 2.5rem;
}
.p-store-rental__item {
  width: calc((100% - 7.6rem) / 4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.3rem 1.3rem;
}
.p-store-rental__ico {
  aspect-ratio: 360/250;
}
.p-store-rental__title {
  font-size: 1.3rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-store-rental__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.6rem 0;
  }
  .p-store-rental__item {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-store-rental__ico {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 6.3rem;
  }
}

.p-store-access {
  background-color: #fff;
  padding: 5rem 0 8.4rem;
}
.p-store-access__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 3.1rem 2.5rem;
  margin: 5rem 0 0;
}
.p-store-access__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-store-access__name {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 2.5rem;
}
.p-store-access__map {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 45%;
  aspect-ratio: 1/1;
}
.p-store-access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p-store-access__name {
    font-size: 1.3rem;
    margin: 0 0 1.9rem;
  }
  .p-store-access__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-store-access__map {
    width: calc(100% + 3.8rem);
    margin: 0 -1.9rem;
  }
}

.p-store-howto__categories {
  margin: 4.4rem 0 3.1rem;
}
@media screen and (max-width: 768px) {
  .p-store-howto__categories {
    margin: 2.5rem 0;
  }
}

.p-store-insta__body {
  margin: 0 0 1.3rem;
}
.p-store-insta__body #sb_instagram #sbi_images {
  gap: 0.6rem 0.6rem;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .p-store-insta__body #sb_instagram #sbi_images {
    gap: 0.3rem 0.3rem;
  }
}

.p-store-related {
  background-color: #fff;
  padding: 6.9rem 0;
}
.p-store-related__list {
  margin: 4.4rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-store-related {
    padding: 4.7rem 0;
  }
}

/* ================================
キャンペーン
================================ */
.p-campaign-main {
  position: relative;
  z-index: 0;
  padding: 7.2rem 0 8.8rem;
}
.p-campaign-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/campaign/main_bg.jpg) no-repeat center center/cover;
}
.p-campaign-main__body {
  max-width: 51.9rem;
  color: #fff;
  margin: 0 0 0 auto;
}
.p-campaign-main__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.6rem 1.9rem;
  margin: 1.3rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-campaign-main {
    background-color: #050609;
    padding: 10.6rem 0 4.4rem;
  }
  .p-campaign-main::before {
    height: 17.9rem;
    background: url(../img/campaign/main_bg_sp.jpg) no-repeat center center/cover;
  }
  .p-campaign-main__body {
    margin: 0;
  }
  .p-campaign-main__heading {
    text-align: center;
  }
  .p-campaign-main__wrap {
    margin: 3.8rem 0 0;
  }
}

.p-campaign-block {
  width: calc(50% - 1rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
  background-color: #363636;
}
.p-campaign-block__header {
  display: grid;
  grid-template-areas: "heading campaign" "normal campaign";
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2.5rem;
}
.p-campaign-block__heading {
  grid-area: heading;
  font-size: 1.9rem;
  font-weight: 700;
}
.p-campaign-block__normal-price {
  grid-area: normal;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.2rem;
  -webkit-text-decoration: line-through solid 1px #61cb47;
          text-decoration: line-through solid 1px #61cb47;
}
.p-campaign-block__normal-price .-unit {
  font-size: 0.9rem;
}
.p-campaign-block__campaign-price {
  grid-area: campaign;
  color: #61cb47;
  font-family: "Oswald", sans-serif;
  font-size: 6.4rem;
  font-weight: 500;
  line-height: 1;
}
.p-campaign-block__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #292929;
  padding: 1.6rem 2.5rem;
}
.p-campaign-block__title {
  color: #61cb47;
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 1.3rem;
}
.p-campaign-block__store-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 1.3rem;
}
.p-campaign-block__store-list li {
  font-weight: 500;
}
.p-campaign-block__store-list li a {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .p-campaign-block {
    width: 100%;
  }
  .p-campaign-block__header {
    padding: 1.3rem 1.9rem;
  }
  .p-campaign-block__heading {
    font-size: 1.6rem;
  }
  .p-campaign-block__normal-price {
    font-size: 0.9rem;
  }
  .p-campaign-block__normal-price .-unit {
    font-size: 0.7rem;
  }
  .p-campaign-block__campaign-price {
    font-size: 5.1rem;
  }
  .p-campaign-block__content {
    padding: 1.3rem 1.9rem;
  }
  .p-campaign-block__title {
    font-size: 0.9rem;
    margin: 0 0 0.9rem;
  }
  .p-campaign-block__store-list {
    gap: 0.9rem 1.3rem;
  }
  .p-campaign-block__store-list li {
    font-size: 0.9rem;
  }
}

/* ================================
お客様の声
================================ */
.p-voice-main__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.9rem 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-voice-main__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.3rem 0;
  }
}

.p-voice-card {
  width: calc((100% - 3.8rem) / 3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.3rem 0;
  background-color: #fff;
  border-radius: 0.9rem;
  padding: 3.1rem 2.5rem 2.5rem;
}
.p-voice-card__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 500;
}
.p-voice-card__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.9rem;
}
.p-voice-card__ico {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.1rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
.p-voice-card__meta {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-voice-card {
    width: 100%;
    padding: 2.5rem 1.9rem 2.2rem;
  }
  .p-voice-card__meta {
    font-size: 0.9rem;
  }
}

.p-trial-flow__list {
  margin: 5rem 0 6.3rem;
}
.p-trial-flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3rem 3.1rem;
}
.p-trial-flow__item:not(:last-of-type) {
  margin-bottom: 2.5rem;
}
.p-trial-flow__header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem 0;
  padding: 0 0.6rem 0 0;
}
.p-trial-flow__header::after {
  content: "";
  display: block;
  width: 1px;
  height: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #c8c8c8;
}
.p-trial-flow__count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.25em;
  color: #61cb47;
  font-family: "Oswald", sans-serif;
  font-size: 2.3rem;
  font-weight: 300;
  line-height: 1;
}
.p-trial-flow__count .-num {
  font-weight: 500;
}
.p-trial-flow__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 25rem;
  aspect-ratio: 400/274;
}
.p-trial-flow__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -ms-flex-item-align: center;
      align-self: center;
}
.p-trial-flow__title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 1.3rem;
}
@media screen and (max-width: 768px) {
  .p-trial-flow__list {
    margin: 0 0 3.1rem;
  }
  .p-trial-flow__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-trial-flow__item:not(:last-of-type) {
    margin-bottom: 3.1rem;
  }
  .p-trial-flow__header {
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-trial-flow__header::after {
    content: none;
  }
  .p-trial-flow__count {
    font-size: 1.6rem;
  }
  .p-trial-flow__img {
    width: 100%;
  }
  .p-trial-flow__title {
    font-size: 1.1rem;
    margin: 0 0 0.9rem;
  }
}

/* ================================
お問い合わせ
================================ */
.p-contact-progress {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.3rem auto 5rem;
}
.p-contact-progress__item {
  position: relative;
  border-top: 1px solid #C8C8C8;
  padding: 0 0 2.5rem;
}
.p-contact-progress__item:not(:last-of-type) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 15.6rem;
}
.p-contact-progress__item.-active .p-contact-progress__title {
  color: #323232;
}
.p-contact-progress__item.-active .p-contact-progress__circle {
  background-color: #61cb47;
}
.p-contact-progress__circle {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.9rem;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
}
.p-contact-progress__title {
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.1rem;
  color: #989898;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-contact-progress {
    width: 92%;
    margin: 1.3rem auto 2.5rem;
  }
  .p-contact-progress__item:not(:last-of-type) {
    min-width: initial;
  }
  .p-contact-progress__title {
    font-size: 1rem;
  }
}

/* ================================
FC加盟店募集
================================ */
.franchise .l-content-container {
  margin-top: 0;
}

.p-fc-mv {
  height: 100lvh;
  background: url(../img/franchise/mv_bg.jpg) no-repeat center center/cover;
  padding: 0 0 8.1rem;
}
.p-fc-mv__content {
  position: relative;
  z-index: 0;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.p-fc-mv__logo {
  position: absolute;
  z-index: -1;
  bottom: -2.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 50rem;
  aspect-ratio: 800/600;
}
.p-fc-mv__text01 {
  font-size: 1.6rem;
  margin: 0 0 1.3rem;
}
.p-fc-mv__text02 {
  font-size: 2.3rem;
  background-color: #477cbc;
  padding: 0 0.3rem;
  margin: 0 0 0.6rem;
}
.p-fc-mv__title {
  font-size: 5.5rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-fc-mv {
    background: url(../img/franchise/mv_bg_sp.jpg) no-repeat center center/cover;
    padding: 0 0 7.5rem;
  }
  .p-fc-mv__logo {
    bottom: -1.3rem;
    width: 21.3rem;
  }
  .p-fc-mv__text01 {
    font-size: 0.9rem;
    margin: 0 0 0.6rem;
  }
  .p-fc-mv__text02 {
    font-size: 1.4rem;
  }
  .p-fc-mv__title {
    font-size: 3.3rem;
  }
}

.p-fc-sec__heading {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 3.8rem;
}
.p-fc-sec__heading::before {
  content: attr(data-en);
  display: block;
  font-size: 6.3rem;
  font-family: "Roboto", sans-serif;
  color: #477cbc;
  text-transform: uppercase;
  opacity: 0.7;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-fc-sec__heading {
    font-size: 1.1rem;
    margin: 0 0 2.5rem;
  }
  .p-fc-sec__heading::before {
    font-size: 3.8rem;
  }
}

.p-fc-intro {
  background: url(../img/franchise/intro_bg.jpg) no-repeat center center/cover;
  padding: 3.1rem 0 8.1rem;
}
.p-fc-intro__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem 0;
  color: #fff;
}
.p-fc-intro__header {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3rem 0;
}
.p-fc-intro__img {
  width: 31.9rem;
  aspect-ratio: 1022/1120;
}
.p-fc-intro__catch {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: -0.075em;
}
.p-fc-intro__catch .-lg {
  display: inline-block;
  font-size: 5.2rem;
  line-height: 1.2;
  margin: 0 0 1.3rem;
}
.p-fc-intro__content {
  width: 50%;
  padding: 0 0 0 3.1rem;
}
.p-fc-intro__item {
  padding: 0 0 0 2.2rem;
  border-left: 0.2rem solid #61cb47;
}
.p-fc-intro__item:not(:last-of-type) {
  margin-bottom: 5rem;
}
.p-fc-intro__title {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1.6rem;
}
.p-fc-intro__desc {
  font-size: 1.3rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-fc-intro {
    background: url(../img/franchise/intro_bg_sp.jpg) no-repeat center center/cover;
    padding: 2.5rem 0 6.3rem;
  }
  .p-fc-intro__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-fc-intro__header {
    width: 100%;
    gap: 1.9rem 0;
  }
  .p-fc-intro__img {
    width: 100%;
    margin: 0 -1.9rem 0 0;
  }
  .p-fc-intro__catch {
    font-size: 1.8rem;
  }
  .p-fc-intro__catch .-lg {
    font-size: 3.2rem;
    margin: 0 0 0.6rem;
  }
  .p-fc-intro__content {
    width: 100%;
    padding: 0;
  }
  .p-fc-intro__item {
    padding: 0 0 0 1.3rem;
  }
  .p-fc-intro__item:not(:last-of-type) {
    margin-bottom: 2.5rem;
  }
  .p-fc-intro__title {
    font-size: 1.4rem;
    margin: 0 0 1.3rem;
  }
  .p-fc-intro__desc {
    font-size: 0.9rem;
  }
}

.p-fc-cover01 {
  aspect-ratio: 1440/610;
}
.p-fc-cover01__img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p-fc-cover01 {
    aspect-ratio: 1/1;
  }
}

.p-fc-about {
  padding: 10rem 0 6.9rem;
}
.p-fc-about__heading {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 700;
  margin: 0 0 1rem;
}
.p-fc-about__logo {
  display: inline-block;
  width: 25.4rem;
  aspect-ratio: 406/80;
}
.p-fc-about__catch {
  font-size: 4.8rem;
  text-align: center;
  line-height: 1.4;
  letter-spacing: -0.05em;
  margin: 0 0 3.1rem;
}
.p-fc-about__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 4.7rem 0 0;
}
.p-fc-about__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.3rem;
  text-align: center;
  font-weight: 700;
}
.p-fc-about__item::before {
  content: "";
  display: inline-block;
}
.p-fc-about__item:not(:last-of-type) {
  border-right: 1px solid #c8c8c8;
}
.p-fc-about__item:nth-of-type(1)::before {
  width: 3.4rem;
  aspect-ratio: 54/45;
  margin: 0 0 1.6rem;
  background: url(../img/franchise/about-item01_ico.svg) no-repeat center center/contain;
}
.p-fc-about__item:nth-of-type(2)::before {
  width: 3.4rem;
  aspect-ratio: 54/48;
  margin: 0 0 1.4rem;
  background: url(../img/franchise/about-item02_ico.svg) no-repeat center center/contain;
}
.p-fc-about__item:nth-of-type(3)::before {
  width: 2.8rem;
  aspect-ratio: 44/54;
  margin: 0 0 1.1rem;
  background: url(../img/franchise/about-item03_ico.svg) no-repeat center center/contain;
}
.p-fc-about__item:nth-of-type(4)::before {
  width: 5.2rem;
  aspect-ratio: 83/52;
  margin: 0 0 0.9rem;
  background: url(../img/franchise/about-item04_ico.svg) no-repeat center center/contain;
}
.p-fc-about__item:nth-of-type(5)::before {
  width: 3.3rem;
  aspect-ratio: 1/1;
  margin: 0 0 0.9rem;
  background: url(../img/franchise/about-item05_ico.svg) no-repeat center center/contain;
}
.p-fc-about__item:nth-of-type(6)::before {
  width: 4rem;
  aspect-ratio: 64/54;
  margin: 0 0 0.9rem;
  background: url(../img/franchise/about-item06_ico.svg) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
  .p-fc-about {
    padding: 3.8rem 0 8.1rem;
  }
  .p-fc-about__heading {
    font-size: 1.4rem;
    margin: 0 0 0.9rem;
  }
  .p-fc-about__logo {
    width: 16.8rem;
  }
  .p-fc-about__catch {
    font-size: 1.8rem;
    margin: 0 -1.9rem 1.6rem;
  }
  .p-fc-about__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.3rem 0;
    margin: 2.9rem -0.9rem 0;
  }
  .p-fc-about__item {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    width: 33.3333333333%;
    font-size: 0.9rem;
    font-weight: 500;
  }
  .p-fc-about__item:nth-of-type(3n) {
    border-right: none;
  }
  .p-fc-about__item:nth-of-type(1)::before {
    width: 2.6rem;
    margin: 0 0 1.4rem;
  }
  .p-fc-about__item:nth-of-type(2)::before {
    width: 2.6rem;
    margin: 0 0 1.3rem;
  }
  .p-fc-about__item:nth-of-type(3)::before {
    width: 2.3rem;
    margin: 0 0 1.1rem;
  }
  .p-fc-about__item:nth-of-type(4)::before {
    width: 4.1rem;
    margin: 0 0 0.9rem;
  }
  .p-fc-about__item:nth-of-type(5)::before {
    width: 2.6rem;
    margin: 0 0 1rem;
  }
  .p-fc-about__item:nth-of-type(6)::before {
    width: 3.1rem;
    margin: 0 0 0.8rem;
  }
}

.p-fc-cover {
  aspect-ratio: 1440/705;
}
.p-fc-cover__img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p-fc-cover {
    aspect-ratio: 1/1;
  }
}

.p-fc-message {
  padding: 10.6rem 0 7.8rem;
}
.p-fc-message__video {
  position: relative;
  width: 51.9rem;
  aspect-ratio: 830/467;
  margin: 0 auto 3.1rem;
}
.p-fc-message__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-fc-message__catch {
  font-size: 2.1rem;
  text-align: center;
  font-weight: 700;
  margin: 0 0 2.1rem;
}
.p-fc-message__catch .-lg {
  display: inline-block;
  color: #4e833a;
  letter-spacing: -0.05em;
  font-size: 4.8rem;
}
@media screen and (max-width: 768px) {
  .p-fc-message {
    padding: 3.8rem 0 5rem;
  }
  .p-fc-message__video {
    width: calc(100% + 1.9rem);
    margin: 0 -0.9rem 2.5rem;
  }
  .p-fc-message__catch {
    font-size: 1rem;
    margin: 0 0 1.4rem;
  }
  .p-fc-message__catch .-lg {
    font-size: 2rem;
    margin: 0.6rem 0 0;
  }
}

.p-fc-strength {
  background-color: #fff;
  padding: 5rem 0;
}
.p-fc-strength__heading {
  color: #477cbc;
  font-size: 7rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 0.9rem;
}
.p-fc-strength__logo {
  width: 17.2rem;
  aspect-ratio: 275/53;
  margin: 0 auto 1.3rem;
}
.p-fc-strength__catch {
  font-size: 1.9rem;
  text-align: center;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1.3;
  margin: 0 0 2.2rem;
}
.p-fc-strength__catch .-lg {
  display: inline-block;
  font-size: 3.8rem;
}
@media screen and (max-width: 768px) {
  .p-fc-strength {
    padding: 3.1rem 0 3.8rem;
  }
  .p-fc-strength__heading {
    font-size: 3.8rem;
  }
  .p-fc-strength__logo {
    width: 12.5rem;
    margin: 0 auto 1.3rem;
  }
  .p-fc-strength__catch {
    font-size: 1.1rem;
    margin: 0 0 1.3rem;
  }
  .p-fc-strength__catch .-lg {
    font-size: 2.3rem;
    margin: 0.6rem 0 0;
  }
}

.p-fc-point {
  padding-bottom: 0;
}
.p-fc-point__body {
  margin-bottom: 0;
}

.p-fc-graph {
  width: 100%;
  background-color: #fff;
  padding: 5.6rem 6.3rem 7.5rem;
  margin: 8.1rem auto 0;
}
.p-fc-graph__catch {
  font-size: 1.8rem;
  letter-spacing: -0.05em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 3.8rem;
}
.p-fc-graph__catch .-lg {
  display: inline-block;
  color: #4e833a;
  font-size: 3.1rem;
}
.p-fc-graph__img {
  aspect-ratio: 1000/402;
  margin: 0 0 1.3rem;
}
@media screen and (max-width: 768px) {
  .p-fc-graph {
    padding: 3.8rem 1.9rem;
    margin: 0 auto;
  }
  .p-fc-graph__catch {
    font-size: 1.3rem;
    margin: 0 0 2.2rem;
  }
  .p-fc-graph__catch .-lg {
    font-size: 2rem;
    margin: 0 0 0.9rem;
  }
  .p-fc-graph__img {
    width: 100vw;
    aspect-ratio: 375/240;
    margin: 0 calc(50% - 50vw) 1.9rem;
  }
}

.p-fc-cost {
  padding: 9.4rem 0;
}
.p-fc-cost__heading {
  font-size: 3.1rem;
  margin: 0 0 3.8rem;
}
.p-fc-cost__block:not(:last-of-type) {
  margin-bottom: 3.1rem;
}
.p-fc-cost__category {
  font-size: 1.5rem;
  font-weight: 500;
  margin: 0 0 0.9rem;
}
.p-fc-cost__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-fc-cost__row.-footer .p-fc-cost__title,
.p-fc-cost__row.-footer .p-fc-cost__content {
  color: #fff;
  background-color: #505050;
}
.p-fc-cost__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  white-space: nowrap;
  font-size: 1.1rem;
  font-weight: 500;
  padding: 0.9rem 1.9rem;
  background-color: #fff;
  border-right: 2px solid #ededed;
  border-bottom: 2px solid #ededed;
}
.p-fc-cost__content {
  width: 20rem;
  font-size: 1.1rem;
  font-weight: 500;
  padding: 0.9rem 1.9rem;
  background-color: #fff;
  border-bottom: 2px solid #ededed;
}
.p-fc-cost__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.p-fc-cost__text .-label {
  font-size: 1rem;
  margin: 0 0.5em 0 0;
}
.p-fc-cost__text .-num {
  font-family: "Roboto", sans-serif;
  font-size: 1.3rem;
  margin: 0 0 0 auto;
}
.p-fc-cost__text .-unit {
  font-size: 1rem;
}
.p-fc-cost__note {
  font-size: 0.9rem;
  margin: 0.6rem 0 0 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-fc-cost {
    padding: 4.4rem 0 8.8rem;
  }
  .p-fc-cost__heading {
    font-size: 2rem;
    margin: 0 0 1.9rem;
  }
  .p-fc-cost__block:not(:last-of-type) {
    margin-bottom: 2.5rem;
  }
  .p-fc-cost__category {
    font-size: 1.1rem;
  }
  .p-fc-cost__row.-vertical_only_mobile {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-fc-cost__row.-vertical_only_mobile .p-fc-cost__title {
    border-bottom: none;
    padding: 0.6rem 0.9rem 0;
  }
  .p-fc-cost__row.-vertical_only_mobile .p-fc-cost__content {
    width: 100%;
    padding: 0.6rem 0.9rem;
  }
  .p-fc-cost__title {
    font-size: 0.9rem;
    padding: 0.6rem 0 0.6rem 0.9rem;
    border-right: none;
  }
  .p-fc-cost__content {
    width: auto;
    font-size: 0.9rem;
    padding: 0.6rem 0.9rem 0.6rem 0;
  }
  .p-fc-cost__text .-label {
    font-size: 0.8rem;
  }
  .p-fc-cost__text .-unit {
    font-size: 0.8rem;
  }
  .p-fc-cost__text .-num {
    font-size: 1rem;
  }
  .p-fc-cost__note {
    font-size: 0.8rem;
    margin: 0.6rem 0 0;
  }
}

.p-fc-flow {
  color: #fff;
  background: url(../img/franchise/flow_bg.jpg) no-repeat center center/cover;
  padding: 9.4rem 0 8.8rem;
}
.p-fc-flow__heading {
  font-size: 3.1rem;
  text-align: center;
  font-weight: 700;
  margin: 0 0 4.4rem;
}
.p-fc-flow__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.3rem;
}
.p-fc-flow__row:not(:last-of-type) {
  margin-bottom: 2.8rem;
}
.p-fc-flow__block {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 3.3rem 0 0;
}
.p-fc-flow__block::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 1.9rem;
  left: 0;
  display: block;
  width: calc(100% + 1.3rem);
  height: 1px;
  background-color: #fff;
}
.p-fc-flow__block02::before {
  width: 100%;
}
.p-fc-flow__block06::before {
  content: none;
}
.p-fc-flow__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.3rem;
}
.p-fc-flow__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 17.5rem;
  background-color: rgba(50, 50, 50, 0.7);
  padding: 2.2rem 1.3rem 3.8rem 2.5rem;
}
.p-fc-flow__phase {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 9.4rem;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  padding: 0.9rem;
  background-color: #4e833a;
}
.p-fc-flow__num {
  font-family: "Roboto", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 0.6rem;
}
.p-fc-flow__desc {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .p-fc-flow {
    background: url(../img/franchise/flow_bg_sp.jpg) no-repeat center center/cover;
    padding: 4.4rem 0;
  }
  .p-fc-flow__heading {
    font-size: 2rem;
    margin: 0 0 2.5rem;
  }
  .p-fc-flow__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.3rem 0;
  }
  .p-fc-flow__row:not(:last-of-type) {
    margin-bottom: 1.3rem;
  }
  .p-fc-flow__block {
    width: 100%;
    padding: 2.5rem 0 0 2.2rem;
  }
  .p-fc-flow__block::before {
    top: 0;
    left: 0.9rem;
    width: 1px;
    height: calc(100% + 1.3rem);
  }
  .p-fc-flow__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.3rem 0;
  }
  .p-fc-flow__item {
    width: 100%;
    padding: 1.3rem 1.9rem 1.9rem;
  }
  .p-fc-flow__phase {
    width: 8.8rem;
    font-size: 1rem;
    padding: 0.9rem;
  }
  .p-fc-flow__num {
    font-size: 1.3rem;
  }
  .p-fc-flow__desc {
    font-size: 1rem;
  }
}

.p-fc-voice {
  background-color: #fff;
  padding: 8.4rem 0 10.3rem;
}
.p-fc-voice__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.8rem 6.3rem;
}
.p-fc-voice__item {
  width: calc(50% - 3.1rem);
}
.p-fc-voice__img {
  aspect-ratio: 1/1;
  margin: 0 0 2.5rem;
}
.p-fc-voice__store {
  font-size: 1.1rem;
  font-weight: 500;
  margin: 0 0 0.6rem;
}
.p-fc-voice__title {
  color: #477cbc;
  font-size: 1.9rem;
  font-weight: 700;
  margin: 0 0 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-fc-voice {
    padding: 4.4rem 0;
  }
  .p-fc-voice__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-fc-voice__item {
    width: 100%;
  }
  .p-fc-voice__img {
    margin: 0 0 1.9rem;
  }
  .p-fc-voice__store {
    font-size: 0.9rem;
  }
  .p-fc-voice__title {
    font-size: 1.4rem;
    margin: 0 0 1.3rem;
  }
}

.p-fc-faq {
  padding: 6.3rem 0 10rem;
}
.p-fc-faq__heading::before {
  color: #4e833a;
}
@media screen and (max-width: 768px) {
  .p-fc-faq {
    padding: 4.4rem 0;
  }
}

.p-fc-contact {
  background-color: #fff;
  padding: 9.4rem 0;
}
@media screen and (max-width: 768px) {
  .p-fc-contact {
    padding: 4.4rem 0;
  }
  .p-fc-contact__heading::before {
    font-size: 2.8rem;
  }
}

/* ================================
Price
================================ */
.single_price .description dl dd {
  background-color: #fff;
}

/* ================================
Adjustment
================================ */
.u-fit--contain {
  text-align: center;
}
.u-fit--contain img,
.u-fit--contain source {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: middle;
}

.u-color--main {
  color: #477cbc;
}
.u-color--wh {
  color: #fff;
}

.u-align--center {
  text-align: center;
}
.u-align--right {
  text-align: right;
}
.u-align--left {
  text-align: left;
}

.u-indent--01 {
  text-indent: -1em;
  padding-left: 1em;
}

.u-display_ib {
  display: inline-block;
}
.u-display_ib--sm {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display_ib--sm {
    display: inline-block;
  }
}

.u-display--lg {
  display: none;
}
@media screen and (max-width: 1200px) {
  .u-display--lg {
    display: block;
  }
}
.u-display--md {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-display--md {
    display: block;
  }
}
.u-display--sm {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display--sm {
    display: block;
  }
}

.u-display_flex--lg {
  display: none;
}
@media screen and (max-width: 1200px) {
  .u-display_flex--lg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.u-display_flex--md {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-display_flex--md {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.u-display_flex--sm {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display_flex--sm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 1200px) {
  .u-hidden--lg {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .u-hidden--md {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .u-hidden--sm {
    display: none;
  }
}