@charset "utf-8";

/*----------------------------------------------------------
  lab-liaura
----------------------------------------------------------*/
.lab-liaura {
  --c_primary: #8a6d6b;
  --c_black02: #585a60;
}
/* add common style
-------------------------------------------------- */
.lab-liaura .link__ar a::after {
  border-color: var(--c_black02);
}
.lab-liaura .link__btn a,
.lab-liaura .link__btn button {
  min-width: 29.5rem;
  height: 5.0rem;
  padding-inline: 3.2rem;
  border-radius: 0.6rem;
  background-color: var(--c_primary);
}
.lab-liaura .link__btn a::after,
.lab-liaura .link__btn button::after {
  right: 2.6rem;
  border-color: var(--c_white);
}
.lab-liaura .link__btn a::before,
.lab-liaura .link__btn button::before {
  right: 1.6rem;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px dotted var(--c_white);
  background-color: var(--c_primary);
}
.lab-liaura #l-main {
  padding-bottom: 0.5rem;
  color: var(--c_black);
  line-height: 1.58;
}
.lab-liaura.none-floating #l-main {
  padding-bottom: 6.5rem;
}
.lab-liaura #l-header {
  z-index: 500;
  position: absolute;
  right: 0;
  left: 0;
  margin-inline: auto;
}
.lab-liaura #l-footer {
  background: #eee1c5;
  color: var(--c_black02);
}
@media screen and (max-width: 400px) {
  .lab-liaura #l-footer .footer__content .link__ar {
    flex-wrap: nowrap;
    justify-content: space-between;
    column-gap: normal;
    margin-inline: -0.05em;
  }
}
@media screen and (min-width: 768px) {
  .lab-liaura .link__btn a,
  .lab-liaura .link__btn button {
    min-width: 40.0rem;
    height: 6.0rem;
  }
  .lab-liaura #l-main {
    padding-bottom: 2.0rem;
  }
  .lab-liaura.no-floating #l-main {
    padding-bottom: 9.6rem;
  }
  .lab-liaura #l-footer {
    padding-top: 3.0rem;
  }
}
.lab-liaura a:focus-visible,
.lab-liaura a:focus-visible:after,
.lab-liaura a:focus-visible:before {
  opacity: .8;
}
.lab-liaura #l-footer a:focus-visible {
  color: inherit;
}
@media (any-hover: hover) {
  .lab-liaura a:hover,
  .lab-liaura a:hover:after,
  .lab-liaura a:hover:before {
    opacity: .8;
  }
  .lab-liaura #l-footer a:hover {
    color: inherit;
  }
}

/* liaura layout
-------------------------------------------------- */
.lab-liaura .illust {
  position: absolute;
}
.lab-liaura .num-strok {
  color: var(--c_white);
  -webkit-text-stroke: 0.7px var(--c_primary);
}
.liaura__head {
  position: relative;
  width: max-content;
  margin-inline: auto;
}
.liaura-head__title {
  position: relative;
  text-align: center;
  margin-bottom: 0.7rem;
  color: var(--c_primary);
  font-size: 2.6rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
}
.liaura-head__ttl {
  text-align: center;
  color: var(--c_black02);
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
}
@media screen and (min-width: 768px) {
  .liaura-head__title {
    font-size: 4.0rem;
  }
  .liaura-head__ttl {
    font-size: 1.5rem;
  }
}

/* #l-header */
#liaura-header__btn {
  z-index: 501;
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  width: 4.8rem;
  height: 4.4rem;
  margin-left: auto;
  border-radius: 0.2rem 0 0 0.2rem;
  background-color: #f9f8f5;
  box-shadow: -1px 1px 3px 0 rgba(87, 74, 74, 0.15);
  cursor: pointer;
}
#liaura-header__btn span,
#liaura-header__btn::before,
#liaura-header__btn::after {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  right: 1.6rem;
  display: block;
  width: 2.0rem;
  height: 0.2rem;
  margin: auto;
  border-radius: 100vh;
  background-color: var(--c_primary);
}
#liaura-header__btn span {
  display: none;
}
#liaura-header__btn::before {
  margin-top: 0.4rem;
}
#liaura-header__btn::after {
  width: 1.6rem;
  margin-top: -0.4rem;
}
#liaura-header__btn.is-active {
  background-color: inherit;
  box-shadow: none;
}
#liaura-header__btn.is-active::before,
#liaura-header__btn.is-active::after {
  width: 2.2rem;
}
#liaura-header__btn.is-active::before {
  transform: translate(0, -.3rem) rotate(-45deg);
}
#liaura-header__btn.is-active::after {
  transform: translate(0, .5rem) rotate(45deg);
}
#l-header .js-menu_target {
  z-index: 500;
  overflow-y: auto;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: max-content;
  max-height: max-content;
  height: calc(var(--vh, 1vh) * 100);
  background-color: #f8f9f4;
  box-shadow: -1px 1px 3px 0 rgba(87, 74, 74, 0.15);
  visibility: visible;
  opacity: 1;
  transform: translate3d(100vw, 0, 0);
  transition: opacity .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1);
  -webkit-overflow-scrolling: touch;
}
#l-header .js-menu_target.is-active {
  transform: translate3d(0, 0, 0);
  transition-delay: 0s;
}
#liaura-header__nav {
  height: max-content;
  margin: 2.5rem 3.2rem 5.0rem;
  color: var(--c_black02);
}
#liaura-header__nav .nav-main>li>a {
  text-align: left;
  display: flex;
  align-items: center;
  line-height: 1;
  margin-top: 2.2rem;
  padding: 0.8rem 0;
  border-bottom: solid 0.5px var(--c_primary);
}
#liaura-header__nav .nav-main .nav__title {
  color: var(--c_primary);
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
#liaura-header__nav .nav-main .nav__ttl {
  margin-left: 1em;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
#liaura-header__nav .nav-main ol {
  padding-bottom: 0.3rem;
}
#liaura-header__nav .nav-main ol>li {
  text-align: left;
  margin-top: 1.6rem;
}
#liaura-header__nav .nav-main ol>li>a {
  display: flex;
}
#liaura-header__nav .nav-main ol .num-strok {
  text-align: center;
  position: relative;
  flex-shrink: 0;
  width: 1.2rem;
  margin-right: 1.1rem;
  padding-right: 0.9rem;
  border-right: 1px solid var(--c_primary);
  font-size: 2.0rem;
  line-height: 1;
  font-weight: 500;
}
#liaura-header__nav .nav-main ol .num-strok::before,
#liaura-header__nav .nav-main ol .num-strok::after {
  content: "";
  position: absolute;
  right: -2px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: var(--c_primary);
}
#liaura-header__nav .nav-main ol .num-strok::before {
  top: -2px;
}
#liaura-header__nav .nav-main ol .num-strok::after {
  bottom: -2px;
}
#liaura-header__nav .nav-main ol .nav-num__ttl {
  color: var(--c_black);
  font-size: 1.1rem;
  line-height: 1.6;
  font-weight: 500;
}
#liaura-header__nav .banner {
  width: 22.1rem;
  margin-top: 3.2rem;
}
#liaura-header__nav .nav-sub {
  margin-top: 2.4rem;
  letter-spacing: 0.05em;
}
#liaura-header__nav .nav-sub li+li {
  margin-top: 1.6rem;
}
@media screen and (min-width: 768px) {
  #liaura-header__btn {
    top: 0.8rem;
    width: 6.8rem;
    height: 6.0rem;
  }
  #liaura-header__btn span,
  #liaura-header__btn::before,
  #liaura-header__btn::after {
    right: 2.6rem;
    width: 2.4rem;
  }
  #liaura-header__btn::before {
    margin-top: 0.5rem;
  }
  #liaura-header__btn::after {
    width: 1.8rem;
    margin-top: -0.5rem;
  }
  #liaura-header__btn.is-active::before,
  #liaura-header__btn.is-active::after {
    width: 2.5rem;
  }
  #liaura-header__btn.is-active::before {
    transform: translate(0, -.5rem) rotate(-45deg);
  }
  #liaura-header__btn.is-active::after {
    transform: translate(0, .5rem) rotate(45deg);
  }
  #l-header .js-menu_target {
    min-width: 51.2rem;
  }
  #liaura-header__nav {
    margin: 4.3rem 4.8rem 4.8rem;
  }
  #liaura-header__nav .nav-main .nav__title {
    font-size: 2.2rem;
  }
  #liaura-header__nav .nav-main .nav__ttl {
    font-size: 1.2rem;
  }
  #liaura-header__nav .nav-main ol {
    padding-bottom: 0;
  }
  #liaura-header__nav .nav-main ol>li {
    margin-top: 2.1rem;
  }
  #liaura-header__nav .nav-main ol .num-strok {
    font-size: 2.4rem;
  }
  #liaura-header__nav .nav-main ol .nav-num__ttl {
    font-size: 1.4rem;
  }
  #liaura-header__nav .banner {
    width: 30.0rem;
  }
}

/* #mv */
#mv {
  overflow: hidden;
}
#mv .mv__content {
  z-index: 2;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: calc(var(--vh, 1vh) * 85);
  margin-left: 1.8rem;
  padding-block: calc(290 / var(--w_sp) * 100vw) 4.0rem;
}
#mv .mv__logo {
  width: 20.6rem;
}
#mv .mv__text {
  text-align: center;
  margin-top: 1.3rem;
  font-size: 1.1rem;
  font-weight: 500;
  color: #000;
}
#mv .mv__lead {
  width: 26.4rem;
  margin-top: 4.5rem;
}
#mv .brand__slide {
  width: 24.0rem;
  aspect-ratio: 240 / 160;
  margin: 4.3rem 2.5rem 0 0;
}
#mv .brand__slide img {
  width: 24.0rem;
}
#mv .illust__list li:nth-of-type(1) {
  top: 0.4rem;
  right: 0;
  width: calc(239 / var(--w_sp) * 100vw);
}
#mv .illust__list li:nth-of-type(2) {
  top: 14.9rem;
  left: -3.1rem;
  width: calc(114 / var(--w_sp) * 100vw);
}
@media screen and (min-width: 768px) {
  #mv .mv__content {
    margin-left: 0;
    padding-block: 16.5rem 4.0rem;
  }
  #mv .mv__logo {
    width: 33.6rem;
    height: 13.9rem;
    padding-top: 0.5rem;
    background-color: #eee1c5;
  }
  #mv .mv__text {
    font-size: 1.5rem;
  }
  #mv .mv__lead {
    width: 49.6rem;
  }
  #mv .brand__slide {
    width: 44.4rem;
    margin: 4.6rem 3.0rem 0 0;
  }
  #mv .brand__slide img {
    width: 44.4rem;
  }
  #mv .illust__list li:nth-of-type(1) {
    top: 0;
    right: -1.4rem;
    width: min(calc(516 / var(--w_max) * 100vw), 51.6rem);
  }
  #mv .illust__list li:nth-of-type(2) {
    top: 13.9rem;
    left: min(calc(124 / var(--w_max) * 100vw), 12.4rem);
    width: min(calc(183 / var(--w_max) * 100vw), 18.3rem);
  }
}

/* #promise */
#promise {
  overflow: hidden;
  margin-bottom: 4.0rem;
  padding-top: 5.6rem;
}
#promise .promise-head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: max-content;
  margin-inline: auto;
}
#promise .promise-head__lead {
  color: var(--c_primary);
  line-height: 1;
  letter-spacing: 0.08em;
  text-indent: 0.08em;
}
#promise .promise-head__ttl {
  display: block;
  margin-top: 1.7rem;
  color: var(--c_black02);
  font-size: 2.9rem;
  line-height: 1;
  letter-spacing: 0.02em;
  text-indent: 0.02em;
}
#promise .promise-head__ttl img {
  display: block;
  width: 11.0rem;
  margin: 0 auto -0.2rem;
}
#promise .promise-head__ttl .promise-head-ttl__text {
  position: relative;
}
#promise .promise-head__ttl .num-strok {
  position: relative;
  top: 0.8rem;
  font-size: 6.6rem;
  font-weight: 700;
  -webkit-text-stroke-width: 1.5px;
}
#promise .promise-head__ttl .txt-s {
  padding-inline: 0.2rem;
  font-size: 1.8rem;
  font-weight: 500;
}
#promise .promise-head .illust__list li:nth-of-type(1) {
  bottom: -0.7rem;
  left: -4.1rem;
  width: 7.5rem;
}
#promise .promise-head .illust__list li:nth-of-type(2) {
  bottom: -3.7rem;
  right: -4.0rem;
  width: 7.8rem;
}

#promise .promise-nav {
  margin-top: 2.2rem;
  background: url('../images/bg_promise_nav.png') no-repeat 50% 50% / cover;
}
#promise .promise-nav ul {
  overflow-x: auto;
  display: flex;
  gap: 0.7rem;
  padding: 2.4rem 5.333vw 2.3rem;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
#promise .promise-nav ul::-webkit-scrollbar {
  display: none;
}
#promise .promise-nav li {
  flex-shrink: 0;
  width: 14.5rem;
  filter: drop-shadow(0 2rem 1.2rem rgba(0, 0, 0, 0.1));
}
#promise .promise__block {
  position: relative;
  max-width: 50.0rem;
  margin: 3.2rem auto 0;
  padding: 3.2rem 2.0rem;
  border-radius: 1.2rem;
  background-color: #fffce4;
  line-height: 1.6;
}
#promise .promise__block .promise__title {
  display: flex;
}
#promise .promise__block .promise__title .num-strok {
  text-align: center;
  position: relative;
  flex-shrink: 0;
  width: 4.8rem;
  margin-right: 2.4rem;
  padding-right: 1.6rem;
  border-right: 1px solid var(--c_primary);
  font-size: 4.2rem;
  line-height: 1;
  font-weight: 700;
}
#promise .promise__block .promise__title .num-strok::before,
#promise .promise__block .promise__title .num-strok::after {
  content: "";
  position: absolute;
  right: -2px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: var(--c_primary);
}
#promise .promise__block .promise__title .num-strok::before {
  top: -2px;
}
#promise .promise__block .promise__title .num-strok::after {
  bottom: -2px;
}
#promise .promise__block .promise-title__text {
  align-self: center;
  font-size: 2.0rem;
  font-weight: 700;
}
#promise .promise__block .promise__text {
  margin-top: 1.5rem;
  font-size: 1.5rem;
}
#promise .promise__block .promise__image {
  margin-top: 1.7rem;
}
#promise .promise__block .promise__image .caption {
  text-align: center;
  margin-top: 2.3rem;
  font-size: 1.2rem;
  font-weight: 500;
}
#promise .promise__block .promise__image .note {
  margin-top: 1.6rem;
  font-size: 1.0rem;
}
#promise #promise01 {
  margin-top: 4.8rem;
}
#promise #promise01 .illust {
  top: -2.9rem;
  right: -3.9rem;
  width: 12.5rem;
}
#promise #promise02 .note {
  margin-left: 5.5rem;
}
#promise #promise03 .illust {
  top: -25.1rem;
  left: -0.8rem;
  width: 7.6rem;
}
#promise #promise04 .illust {
  top: -12.9rem;
  right: -0.5rem;
  width: 7.7rem;
}
#promise #promise04 .promise__image {
  margin-inline: -2.0rem;
}
#promise #promise04 .promise__image .caption {
  margin-top: 0;
}
#promise #promise05 .promise__image .caption {
  margin-top: 0.7rem;
}
#promise #promise06 .promise__image .caption {
  margin-top: 0.9rem;
}
#promise #promise07 .promise__image {
  margin-inline: 0.5rem;
}
#promise #promise07 .promise__image .caption {
  margin-top: 0.7rem;
}
@media screen and (min-width: 768px) {
  #promise {
    margin-bottom: 13.1rem;
  }
  #promise .promise-head__lead {
    font-size: 2.0rem;
  }
  #promise .promise-head__ttl {
    display: flex;
    align-items: center;
    margin-top: 1.3rem;
    font-size: 4.4rem;
  }
  #promise .promise-head__ttl img {
    width: 16.0rem;
    margin: 0.7rem 3.0rem 0 0;
  }
  #promise .promise-head__ttl .num-strok {
    top: 0.4rem;
    font-size: 11.2rem;
  }
  #promise .promise-head__ttl .txt-s {
    padding-inline: 0 0.2rem;
    font-size: 2.4rem;
  }
  #promise .promise-head .illust__list li:nth-of-type(1) {
    bottom: -0.5rem;
    left: -17.2rem;
    width: 9.5rem;
  }
  #promise .promise-head .illust__list li:nth-of-type(2) {
    bottom: -3.2rem;
    right: -17.4rem;
    width: 10.1rem;
  }

  #promise .promise-nav {
    margin-top: 2.0rem;
  }
  #promise .promise-nav ul {
    max-width: calc(var(--w_max) * 1px);
    gap: 1.2rem;
    padding-inline: 2.0rem;
  }
  #promise .promise-nav li {
    width: 16.8rem;
  }
  #promise .promise-block__wrap {
    position: relative;
    column-count: 2;
    column-gap: min(calc(64 / var(--w_max) * 100vw), 6.4rem);
    max-width: 115.2rem;
    margin: 25.6rem auto 0;
    padding-top: 8.8rem;
  }
  #promise .promise__block {
    max-width: initial;
    margin-top: min(calc(64 / var(--w_max) * 100vw), 6.4rem);
    padding: min(calc(32 / var(--w_max) * 100vw), 3.2rem);
    break-inside: avoid;
  }
  #promise .promise__block .promise__title .num-strok {
    text-align: left;
    width: 4.9rem;
    padding-right: 0;
    font-size: clamp(5.0rem, 64 / var(--w_max) * 100vw, 6.4rem);
  }
  #promise .promise__block .promise-title__text {
    font-size: clamp(2.0rem, 30 / var(--w_max) * 100vw, 3.0rem);
  }
  #promise .promise__block .promise__text {
    margin-top: 2.5rem;
    font-size: clamp(1.6rem, 18 / var(--w_max) * 100vw, 1.8rem);
  }
  #promise .promise__block .promise__image {
    margin-top: 2.5rem;
  }
  #promise .promise__block .promise__image .caption {
    margin-top: 3.3rem;
    font-size: 1.5rem;
  }
  #promise .promise__block .promise__image .note {
    margin-top: 2.5rem;
    font-size: 1.3rem;
  }
  #promise #promise01 {
    margin-top: -25.6rem;
  }
  #promise #promise01 .illust {
    top: -4.0rem;
    right: auto;
    left: calc(50% + min(calc(703 / var(--w_max) * 100vw), 70.3rem));
    width: 19.8rem;
  }
  #promise #promise02 .note {
    margin-left: 0;
  }
  #promise #promise02 .illust {
    top: 40.0rem;
    left: -13.0rem;
    width: 10.6rem;
  }
  #promise #promise03 .illust {
    top: auto;
    bottom: -1.5rem;
    left: -4.3rem;
    width: 11.1rem;
  }
  #promise #promise04 .illust {
    z-index: 2;
    top: auto;
    bottom: -14.2rem;
    right: 1.3rem;
    width: 7.7rem;
  }
  #promise #promise04 .promise__image {
    margin: 0 -3.2rem;
  }
  #promise #promise04 .promise__image .caption {
    margin-top: -1.6rem;
  }
  #promise #promise06 {
    margin-bottom: 20.0rem;
  }
  #promise #promise07 .promise__image {
    margin-inline: 4.6rem 5.7rem;
  }
  #promise #promise07 .promise__image .caption {
    margin: 1.8rem 0 0 1.1rem;
    white-space: nowrap;
  }
  #promise .promise-block__wrap>.illust__list li:nth-of-type(1) {
    top: -12.5rem;
    right: min(calc(219 / var(--w_max) * 100vw), 21.9rem);
    width: 17.1rem;
  }
  #promise .promise-block__wrap>.illust__list li:nth-of-type(2) {
    bottom: 1.1rem;
    right: 10.6rem;
    width: 26.4rem;
  }
}
@media screen and (min-width: 1024px) {
  #promise .promise-nav ul {
    justify-content: center;
    margin-inline: auto;
    gap: min(calc(12 / var(--w_max) * 100vw), 1.2rem);
  }
  #promise .promise-nav li {
    width: min(calc(168 / var(--w_max) * 100vw), 16.8rem);
  }
}

/* #message */
#message {
  margin-bottom: 8.0rem;
  padding-top: 5.6rem;
}
#message .message__content {
  position: relative;
}
#message .message__content>.illust {
  top: 5.4rem;
  left: calc(50% + 9.9rem);
  width: 8.0rem;
}
#message .liaura__head .illust {
  top: -2.5rem;
  left: -9.0rem;
  width: 7.9rem;
}
#message .message__content .message__lead {
  text-align: center;
  margin-top: 3.5rem;
  color: var(--c_primary);
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-indent: 0.08em;
}
#message .message__content .message__image {
  margin: 3.7rem 2.4rem 3.5rem;
}
#message .message__content .message__text p {
  text-align: center;
  line-height: 1.8;
}
#message .message__content .message__text p+p {
  margin-top: 1.07em;
}
#message .message__content .message__text .message-text_person {
  margin-top: 4.0rem;
  font-size: 1.2rem;
}
#message .message__content .illust__list li:nth-of-type(1) {
  bottom: -3.2rem;
  right: calc(50% + 9.4rem);
  width: 5.2rem;
}
#message .message__content .illust__list li:nth-of-type(2) {
  bottom: -5.0rem;
  left: calc(50% + 7.8rem);
  width: 6.8rem;
}
@media screen and (min-width: 768px) {
  #message {
    margin-bottom: 8.7rem;
  }
  #message .message__content {
    justify-content: center;
    gap: min(calc(64 / var(--w_max) * 100vw), 6.4rem);
  }
  #message .message__content>.illust {
    top: auto;
    right: 0;
    left: auto;
    bottom: 18.3rem;
    width: 14.7rem;
  }
  #message .message__title {
    flex-grow: 0;
    flex-shrink: 0;
    width: min(calc(462 / var(--w_max) * 100vw), 46.2rem);
  }
  #message .liaura__head .illust {
    top: min(calc(90 / var(--w_max) * 100vw), 9.0rem);
    left: -9.9rem;
    width: 12.2rem;
  }
  #message .liaura-head__title {
    margin-bottom: 1.6rem;
    font-size: clamp(5.0rem, 64 / var(--w_max) * 100vw, 6.4rem);
  }
  #message .liaura-head__ttl {
    font-size: 1.8rem;
  }
  #message .message__content .message__lead {
    margin-top: 5.7rem;
    font-size: clamp(2.0rem, 24 / var(--w_max) * 100vw, 2.4rem);
  }
  #message .message__content .message__image {
    width: min(calc(479 / var(--w_max) * 100vw), 47.9rem);
    margin: 5.8rem 0 3.5rem -0.6rem;
  }
  #message .message__content .message__text {
    margin-right: 2.4rem;
    padding-top: 6.5rem;
  }
  #message .message__content .message__text p {
    text-align: left;
  }
  #message .message__content .message__text .message-text_person {
    font-size: 1.5rem;
  }
  #message .message__content .illust__list li:nth-of-type(1) {
    bottom: 2.0rem;
    right: calc(50% + 26.4rem);
    width: 8.5rem;
  }
  #message .message__content .illust__list li:nth-of-type(2) {
    right: calc(50% + 13.1rem);
    bottom: -1.6rem;
    left: auto;
    width: 11.0rem;
  }
}

/* #color */
#color {
  margin-bottom: 3.2rem;
  padding-top: 5.6rem;
}
#color .color__content .lineup {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-inline: 1.1rem;
  padding-top: 0.9rem;
}
#color .color__content .lineup li {
  width: 14.3rem;
  margin-top: 2.6rem;
}
#color .color__content .lineup li .lineup__image {
  text-align: center;
}
#color .color__content .lineup li .lineup__image img {
  width: auto;
  height: 10.2rem;
}
#color .color__content .lineup li .lineup__head {
  margin-top: 2.0rem;
  text-align: center;
  line-height: 1;
}
#color .color__content .lineup li .lineup-head__title {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#color .color__content .lineup li .lineup-head__ttl {
  margin-top: 0.8rem;
  font-size: 1.2rem;
}
#color .color__content .lineup li .lineup__text {
  margin: 1.5rem 0.2rem 0;
  font-size: 1.2rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #color {
    margin-bottom: 4.1rem;
  }
  #color .color__content .lineup {
    margin-inline: min(calc(33 / var(--w_full) * 100vw), 3.3rem);
  }
  #color .color__content .lineup li {
    width: min(calc(238 / var(--w_full) * 100vw), 23.8rem);
    margin-top: 2.6rem;
  }
  #color .color__content .lineup li:nth-of-type(1) {
    width: min(calc(245 / var(--w_full) * 100vw), 24.5rem);
  }
  #color .color__content .lineup li .lineup__image img {
    height: min(calc(174 / var(--w_full) * 100vw), 17.4rem);
  }
  #color .color__content .lineup li .lineup-head__title {
    font-size: 2.0rem;
  }
  #color .color__content .lineup li .lineup-head__ttl {
    font-size: 1.5rem;
  }
  #color .color__content .lineup li .lineup__text {
    font-size: 1.5rem;
  }
}

/* #spec */
#spec {
  margin-bottom: 3.2rem;
  padding-top: 5.6rem;
}
.spec__content .spec__list {
  text-align: center;
  padding-top: 1.2rem;
}
.spec__content .spec__list dt {
  margin-top: 1.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
.spec__content .spec__list dd {
  margin-top: 0.4rem;
}
.spec__content .spec__list .spec__image {
  width: 31.3rem;
  margin-inline: auto;
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  #spec {
    margin-bottom: 11.4rem;
  }
  .spec__content {
    position: relative;
    max-width: 1106px;
    margin: -2.0rem auto 0;
    padding-inline: 2.0rem;
  }
  .spec__content .spec__list {
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    width: 65%;
  }
  .spec__content .spec__list div {
    width: 33%;
  }
  .spec__content .spec__list div:nth-of-type(1),
  .spec__content .spec__list div:nth-of-type(4) {
    width: 25%;
  }
  .spec__content .spec__list div:nth-of-type(2),
  .spec__content .spec__list div:nth-of-type(5) {
    width: 41%;
  }
  .spec__content .spec__list dt {
    margin-top: 3.5rem;
    font-size: 2.0rem;
  }
  .spec__content .spec__list dd {
    margin-top: 0.2rem;
  }
  .spec__content .spec__list div:nth-of-type(5) .spec__image {
    position: absolute;
    top: 5.4rem;
    right: 1.6rem;
    width: min(calc(404 / var(--w_max) * 100vw), 40.4rem);
  }
}
@media screen and (min-width: 1024px) {
  .spec__content .spec__list {
    width: 58%;
  }
  .spec__content .spec__list div:nth-of-type(1),
  .spec__content .spec__list div:nth-of-type(2),
  .spec__content .spec__list div:nth-of-type(4),
  .spec__content .spec__list div:nth-of-type(5) {
    width: 33%;
  }
}

/* #catalog */
#catalog {
  margin-bottom: 4.8rem;
  padding-top: 5.6rem;
}
#catalog .catalog__image {
  width: 17.5rem;
  margin: 3.5rem auto 4.0rem;
  box-shadow: 2px 2px 0.8rem 0 rgba(0, 0, 0, 0.15);
}
#catalog .link__btn {
  font-size: 1.4rem;
}
#catalog .link__btn.icon-dl a::after,
#catalog .link__btn.icon-dl button::after {
  right: 2.5rem;
}
@media screen and (min-width: 768px) {
  #catalog {
    margin-bottom: 10.0rem;
  }
  #catalog .catalog__image {
    width: 25.6rem;
    margin-block: 4.1rem 4.8rem;
  }
  #catalog .link__btn {
    font-size: 1.8rem;
  }
}

/* #faq */
#faq {
  margin-bottom: 3.1rem;
}
#faq .faq__inner {
  padding: 4.0rem 2.4rem;
  border-radius: 1.2rem;
  background-color: rgba(238, 225, 197, 0.2);
}
#faq .faq__content .faq__list {
  margin-top: 2.7rem;
}
#faq .faq__content .faq__list dt {
  display: flex;
  align-items: center;
  margin-bottom: 0.7rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--c_gray);
  font-size: 1.6rem;
  font-weight: 500;
}
#faq .faq__content .faq__list dt .faq__num {
  flex-grow: 0;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.2rem;
  height: 3.2rem;
  margin-right: 1.2rem;
  border-radius: 50%;
  border: 1px solid var(--c_primary);
  color: var(--c_primary);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}
#faq .faq__content .faq__list dd+dt {
  margin-top: 3.2rem;
}
@media screen and (min-width: 768px) {
  #faq {
    margin-bottom: 4.3rem;
  }
  #faq .faq__inner {
    padding: 6.2rem 6.4rem;
    border-radius: 1.6rem;
  }
  #faq .faq__content .faq__list {
    margin-top: 4.0rem;
  }
  #faq .faq__content .faq__list dt {
    margin-bottom: 1.5rem;
    font-size: 2.0rem;
  }
  #faq .faq__content .faq__list dt .faq__num {
    width: 4.0rem;
    height: 4.0rem;
    font-size: 1.6rem;
  }
  #faq .faq__content .faq__list dd+dt {
    margin-top: 4.8rem;
  }
}

/* #purchase */
#purchase {
  padding-top: 5.6rem;
}
#purchase .purchase__content .purchase__lead {
  text-align: center;
  margin-top: 3.5rem;
  padding-bottom: 4.0rem;
}
#purchase .purchase__content .link__btn {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
#purchase .purchase__content .link__btn a,
#purchase .purchase__content .link__btn .soon {
  height: 6.4rem;
  font-size: 1.8rem;
  letter-spacing: 0;
  text-indent: 0;
}
#purchase .purchase__content .link__btn .soon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 3.2rem;
  border-radius: 0.6rem;
  background-color: var(--c_link_hover);
  color: var(--c_white);
  font-weight: 700;
}
#purchase .purchase__content .link__btn .soon::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 2.6rem;
  width: 0.5rem;
  height: 0.5rem;
  border: 0;
  border-top: solid 1px var(--c_white);
  border-right: solid 1px var(--c_white);
  transform: rotate(45deg) translate(0, -50%);
  opacity: .2;
}
#purchase .purchase__content .link__btn .soon::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6rem;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  border: 1px dotted var(--c_white);
  background-color: var(--c_link_hover);
  transform: translate(0, -50%);
  opacity: .2;
}
@media screen and (min-width: 768px) {
  #purchase .purchase__content .purchase__lead {
    padding-bottom: 4.8rem;
  }
  #purchase .purchase__content .link__btn {
    gap: 4.8rem;
  }
  #purchase .purchase__content .link__btn a,
  #purchase .purchase__content .link__btn .soon {
    min-width: 36.0rem;
    height: 8.0rem;
    font-size: 2.4rem;
  }
}

/* .banner */
.banner.main__airbel {
  max-width: 640px;
  margin: 4.8rem auto 0;
}
@media screen and (min-width: 768px) {
  .banner.main__airbel {
    margin-top: 14.2rem;
  }
}

/* #about */
#about {
  margin-top: 3.2rem;
  padding-top: 5.6rem;
}
#about .about__content .about__image {
  width: 17.9rem;
  margin: 3.5rem auto 4.0rem;
}
#about .about__content .about__text {
  margin-inline: 2.0rem;
}
#about .link__btn {
  margin-top: 3.9rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  #about {
    margin-top: 8.8rem;
  }
  #about .about__content {
    display: flex;
    align-items: center;
    gap: min(calc(64 / 1024 * 100vw), 64px);
    max-width: 918px;
    margin: -1.0rem auto 0;
  }
  #about .about__content .about__image {
    flex-grow: 0;
    flex-shrink: 0;
    width: 21.5rem;
    margin: 0;
  }
  #about .about__content .about__text {
    margin-inline: 0;
  }
  #about .link__btn {
    margin-top: 6.3rem;
    font-size: 1.8rem;
  }
}

/* #contact */
#contact {
  margin-top: 3.0rem;
  padding-top: 5.8rem;
}
#contact .contact__content {
  text-align: center;
  margin-top: 2.8rem;
  line-height: 1.8;
}
#contact .contact__content .contact__num {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 2.0rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-indent: 0.08em;
}
#contact .contact__content .contact__note {
  margin-block: 0.2rem 1.2rem;
  font-size: 1.4rem;
}
#contact .contact__content .contact__time {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-indent: 0.08em;
}
#contact .link__btn {
  margin: 4.0rem auto 2.3rem;
}
@media screen and (min-width: 768px) {
  #contact {
    margin-top: 8.7rem;
  }
  #contact .contact__content {
    margin-top: 4.6rem;
  }
  #contact .contact__content .contact__num {
    flex-direction: row;
    justify-content: center;
    margin-right: 1.0rem;
    gap: 3.0rem;
    font-size: 3.0rem;
  }
  #contact .contact__content .contact__note {
    margin-block: -0.4rem 1.0rem;
    font-size: 1.6rem;
  }
  #contact .contact__content .contact__time {
    display: flex;
    justify-content: center;
    gap: 1.6rem;
    font-size: 1.8rem;
  }
  #contact .link__btn {
    margin-block: 5.7rem 0;
  }
}

/* #float__purchase */
#float__purchase {
  position: sticky;
  bottom: 0.5rem;
  right: 0.8rem;
  width: 6.0rem;
  margin-inline: auto 0;
}
@media screen and (min-width: 768px) {
  #float__purchase {
    bottom: 2.0rem;
    right: 3.2rem;
    width: 8.0rem;
  }
}
