@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300..900&family=Noto+Serif+JP:wght@300..900&display=swap");
*:not(:is(ul, ol, li)) {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  word-break: break-word;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent;
}

html, body {
  font-size: 62.5%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

:where(:is(ul, ol):not(.is-list-normal)) {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
:where(:is(ul, ol):not(.is-list-normal)) li {
  margin: 0;
  padding: 0;
}

:where(ul.is-list-normal) {
  padding-left: 1em;
  list-style: disc;
}

blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  display: inline-flex;
  vertical-align: bottom;
  max-width: 100%;
}

picture {
  max-width: 100%;
}

input, select {
  vertical-align: middle;
}

br {
  line-height: 0;
}

input, textarea, select, button {
  font: inherit;
  font-size: 16px;
}

input:is([type=checkbox][type=radio]), select, button {
  cursor: pointer;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]:focus,
input[type=button]:focus {
  outline-offset: -2px;
}

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

:root {
  --color-text: #333;
  --color-bg: #fff;
  --color-border: #dfdfdf;
  --text-primary: 'Noto Sans JP', sans-serif;
  --text-secondary: 'Noto Serif JP', serif;
  --content-padding: min(1.6875rem, 3.125vw);
  --content-width: min(min(54rem, 100vw), 100%);
  --trd-duration: 0.5s;
  --trd-hover-duration: 0.25s;
  --trd-timing: cubic-bezier(.165, .84, .44, 1);
  --modal-index: 1000;
  --header-index: 900;
  --footer-index: 800;
  --page-top-index: 700;
  --article-index: 600;
  --nav-index: 500;
  --main-index: 400;
  --section-index: 300;
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  font-family: var(--text-primary);
  color: var(--color-text);
  background: url(/lp/assets/img/bg.jpg) no-repeat center top/cover var(--color-bg);
  font-size: var(--text-size-base);
  line-height: 1.75;
  display: grid;
}

.wrapper {
  grid-area: 1/1/2/2;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: var(--content-width);
  margin-inline: auto;
  position: relative;
  z-index: var(--content-index);
  background-color: var(--color-bg);
}

.pc-wrapper {
  grid-area: 1/1/2/2;
}

.container {
  padding-inline: var(--content-padding);
  z-index: var(--content-index);
  position: relative;
  border-top: 1px solid transparent;
}

.header {
  position: relative;
  z-index: var(--header-index);
}

.main {
  flex: 1;
  position: relative;
  z-index: var(--main-index);
}

.footer {
  position: relative;
  z-index: var(--footer-index);
  margin-top: auto;
}

:target {
  scroll-margin-top: var(--header-height);
}

.button {
  color: #fff;
  text-align: center;
  padding-top: min(1.265625rem, 2.34375vw);
  padding-bottom: min(1.40625rem, 2.6041666667vw);
  margin: 0 auto;
  width: min(44.859375rem, 83.0729166667vw);
  display: block;
  border-radius: min(1.96875rem, 3.6458333333vw);
  background-image: linear-gradient(0deg, rgb(151, 14, 47) 0%, rgb(215, 69, 104) 50%, rgb(250, 131, 160) 100%);
  box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.1);
  z-index: 10;
  font-size: min(3.234375rem, 5.9895833333vw);
  font-weight: bold;
  position: relative;
}
.button__container {
  margin-top: min(4.2890625rem, 7.9427083333vw);
}
.button__catch {
  width: min(16.5234375rem, 30.5989583333vw);
  position: absolute;
  left: max(-1.40625rem, -2.6041666667vw);
  top: max(-3.515625rem, -6.5104166667vw);
}
.button::after {
  content: "";
  width: min(0.984375rem, 1.8229166667vw);
  height: min(0.984375rem, 1.8229166667vw);
  position: absolute;
  right: min(2.8125rem, 5.2083333333vw);
  top: 0;
  bottom: 0;
  margin-block: auto;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  rotate: 45deg;
}

.shadow {
  box-shadow: 0px 0px 100px 20px #dda9a9;
}

.main {
  background-color: #e2bdb5;
  background-image: url(/lp/assets/img/lp_01.jpg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}
.main .mainvisual {
  padding-top: min(4.5703125rem, 8.4635416667vw);
}
.main .mainvisual__title {
  width: min(44.015625rem, 81.5104166667vw);
  margin: 0 auto;
}
.main .mainvisual__inner {
  padding-bottom: min(4.21875rem, 7.8125vw);
}
.main .mainvisual__title {
  z-index: 11;
}
.main .mainvisual__text {
  font-size: min(1.265625rem, 2.34375vw);
}
.main .mainvisual__list {
  display: flex;
  padding-top: min(61.03125rem, 113.0208333333vw);
}

.purchase__btn .purchase__shape {
  width: min(21.09375rem, 39.0625vw);
  position: absolute;
  top: min(151.171875rem, 279.9479166667vw);
}
.purchase__btn .purchase__arrow {
  width: min(0.984375rem, 1.8229166667vw);
  position: absolute;
  right: min(7.59375rem, 14.0625vw);
  top: min(160.6640625rem, 297.5260416667vw);
}

.function {
  background-image: url(../img/function_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  padding-block: min(8.4375rem, 15.625vw) min(2.109375rem, 3.90625vw);
  text-align: center;
}
.function .function__title {
  width: min(43.6640625rem, 80.859375vw);
  margin-inline: auto;
  margin-block: 0 min(2.109375rem, 3.90625vw);
}
.function .function__image {
  margin-inline: auto;
}
.function .function__text {
  font-size: min(1.828125rem, 3.3854166667vw);
  font-weight: 500;
  text-align: left;
  line-height: min(3.491015625rem, 6.46484375vw);
  padding-inline: min(3.515625rem, 6.5104166667vw);
}

.voice {
  background-image: url(/lp/assets/img/lp_04.jpg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  height: min(112.078125rem, 207.5520833333vw);
}
.voice .voice__title {
  width: min(42.609375rem, 78.90625vw);
  margin: 0 auto min(2.25rem, 4.1666666667vw);
  padding-top: min(25.3125rem, 46.875vw);
  text-align: center;
}
.voice .voice__comment {
  width: min(47.8125rem, 88.5416666667vw);
  margin: 0 auto;
}

.point {
  background-image: url(../img/point_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
  padding-block: 0 min(7.03125rem, 13.0208333333vw);
  position: relative;
}
.point .point__container {
  padding-bottom: min(7.171875rem, 13.28125vw);
}
.point .point__title {
  margin-top: max(-5.625rem, -10.4166666667vw);
  padding-bottom: min(4.21875rem, 7.8125vw);
  text-align: center;
}
.point .point__img {
  width: min(35.15625rem, 65.1041666667vw);
}
.point .point__content {
  background-color: #fff;
  border-radius: min(1.40625rem, 2.6041666667vw);
  margin: min(0rem, 0vw) min(4.21875rem, 7.8125vw);
  box-shadow: 0px min(0.703125rem, 1.3020833333vw) min(2.109375rem, 3.90625vw) 0px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
.point .point__body {
  position: relative;
}
.point .point__subtitle {
  text-align: center;
  width: min(37.96875rem, 70.3125vw);
  margin-inline: auto;
  padding-block: min(4.21875rem, 7.8125vw);
}
.point .point__little__title {
  font-family: "Noto Serif JP", serif;
  font-size: min(3.1640625rem, 5.859375vw);
  color: #e85377;
  text-align: center;
  padding-bottom: min(2.25rem, 4.1666666667vw);
  line-height: min(3.9375rem, 7.2916666667vw);
  font-weight: 500;
}
.point .point__text {
  font-size: min(1.828125rem, 3.3854166667vw);
  font-weight: 500;
  text-align: left;
  line-height: min(3.491015625rem, 6.46484375vw);
  padding-inline: min(2.109375rem, 3.90625vw);
  padding-block: 0 min(2.953125rem, 5.46875vw);
}
.point .point__head {
  margin-top: max(-14.0625rem, -26.0416666667vw);
}
.point .point__foot {
  margin-top: max(-6.328125rem, -11.71875vw);
}
.point .point__description {
  font-size: min(2.0390625rem, 3.7760416667vw);
  font-weight: bold;
  text-align: left;
  line-height: min(3.491015625rem, 6.46484375vw);
  text-align: center;
}
.point .point__strong {
  font-size: min(2.0390625rem, 3.7760416667vw);
  color: #e85377;
  font-weight: bold;
}
.point .point__product__description {
  font-family: "Noto Serif JP", serif;
  font-weight: normal;
  font-size: min(1.828125rem, 3.3854166667vw);
  line-height: min(3.491015625rem, 6.46484375vw);
  margin-left: min(5.0625rem, 9.375vw);
  margin-right: min(5.0625rem, 9.375vw);
}
.point .point__shape {
  width: min(21.09375rem, 39.0625vw);
  position: absolute;
  top: min(619.453125rem, 1147.1354166667vw);
}
.point .point__arrow {
  width: min(0.984375rem, 1.8229166667vw);
  position: absolute;
  right: min(7.59375rem, 14.0625vw);
  top: min(628.59375rem, 1164.0625vw);
}

.recommend {
  margin-top: max(-7.03125rem, -13.0208333333vw);
  background-image: url(../img/recommend_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  padding: min(9.84375rem, 18.2291666667vw) 0 min(9.703125rem, 17.96875vw);
}
.recommend .recommend__head {
  text-align: center;
  line-height: min(5.236875rem, 9.6979166667vw);
}
.recommend .recommend__heading-top {
  font-size: min(2.1796875rem, 4.0364583333vw);
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}
.recommend .recommend__heading-middle {
  font-size: min(2.6015625rem, 4.8177083333vw);
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}
.recommend .recommend__heading-bottom {
  font-size: min(2.6015625rem, 4.8177083333vw);
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}
.recommend .recommend__text-bold {
  font-size: min(2.8828125rem, 5.3385416667vw);
}
.recommend .recommend__text-accent {
  font-size: min(3.5859375rem, 6.640625vw);
  color: #e85377;
}
.recommend .recommend__img {
  padding-bottom: min(4.21875rem, 7.8125vw);
}
.recommend .recommend__title-img {
  text-align: center;
}
.recommend .recommend__sub-text {
  font-size: min(2.0390625rem, 3.7760416667vw);
  font-weight: bold;
  margin-block: min(2.109375rem, 3.90625vw) 0;
}
.recommend .recommend__sub-accent {
  color: #e85377;
}
.recommend .recommend__bottom {
  text-align: center;
}
.recommend .recommend__bottom-text {
  font-size: min(3.1640625rem, 5.859375vw);
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}
.recommend .recommend__bottom-accent {
  font-size: min(3.7265625rem, 6.9010416667vw);
  color: #e85377;
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
}

.order__container {
  background-image: -ms-linear-gradient(90deg, rgb(227, 97, 109) 0%, rgb(247, 140, 122) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(227, 97, 109) 0%, rgb(247, 140, 122) 100%);
  background-image: -moz-linear-gradient(90deg, rgb(227, 97, 109) 0%, rgb(247, 140, 122) 100%);
  background-image: linear-gradient(90deg, rgb(227, 97, 109) 0%, rgb(247, 140, 122) 100%);
  position: relative;
  padding-block: min(7.03125rem, 13.0208333333vw) 0;
}
.order__container::before {
  content: "";
  background-image: url(/lp/assets/img/top-ribbon.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  width: min(54rem, 100vw);
  height: min(21.796875rem, 40.3645833333vw);
  display: block;
  position: absolute;
  top: max(-6.1875rem, -11.4583333333vw);
  left: 50%;
  transform: translate(-50%, 0);
}
.order__container::after {
  content: "";
  background-image: url(/lp/assets/img/bottom-ribbon.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  width: min(54rem, 100vw);
  height: min(14.90625rem, 27.6041666667vw);
  display: block;
}
.order__container .order__heading {
  text-align: center;
  margin-block: 0 min(2.8125rem, 5.2083333333vw);
}
.order__container .order__heading--icon {
  color: var(--color-bg);
  font-family: "Noto Serif JP", serif;
  font-size: min(3.9375rem, 7.2916666667vw);
  font-weight: 600;
  position: relative;
}
.order__container .order__heading--icon::before, .order__container .order__heading--icon::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: min(2.8828125rem, 5.3385416667vw);
  height: min(3.796875rem, 7.03125vw);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.order__container .order__heading--icon::before {
  left: max(-4.21875rem, -7.8125vw);
  background-image: url(/lp/assets/img/order__heading_icon-left.png);
}
.order__container .order__heading--icon::after {
  right: max(-4.21875rem, -7.8125vw);
  background-image: url(/lp/assets/img/order__heading_icon-right.png);
}
.order__container .order__wrapper {
  background-color: #fff;
  padding-bottom: min(3.515625rem, 6.5104166667vw);
  border-radius: min(2.109375rem, 3.90625vw);
  margin: min(0rem, 0vw) min(4.21875rem, 7.8125vw);
}
.order__container .order__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(44.51203125rem, 82.4296875vw);
  height: min(14.0625rem, 26.0416666667vw);
  text-decoration: none;
  margin: 0 auto;
  margin-bottom: min(1.6171875rem, 2.9947916667vw);
  background-image: url(../img/order_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  border-radius: min(3.26953125rem, 6.0546875vw);
  position: relative;
}
.order__container .order__button::after {
  content: "";
  width: min(0.984375rem, 1.8229166667vw);
  height: min(0.984375rem, 1.8229166667vw);
  position: absolute;
  right: min(2.8125rem, 5.2083333333vw);
  top: 0;
  bottom: 0;
  margin-block: auto;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  rotate: 45deg;
}
.order__container .order__price {
  margin-block: 0 min(0.703125rem, 1.3020833333vw);
}
.order__container .order__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: min(7.03125rem, 13.0208333333vw);
}
.order__container .order__title {
  padding-bottom: min(4.21875rem, 7.8125vw);
}
.order__container .order__badge {
  width: min(11.953125rem, 22.1354166667vw);
  position: absolute;
  left: min(2.8125rem, 5.2083333333vw);
}
.order__container .order__container {
  display: flex;
  align-items: baseline;
  color: #ffffff;
  margin-bottom: 5px;
}
.order__container .order__number {
  font-size: min(6.5390625rem, 12.109375vw);
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  font-weight: bold;
  color: #fff;
}
.order__container .order__circle {
  font-size: min(3.1640625rem, 5.859375vw);
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
  color: #fff;
}
.order__container .order__text {
  color: #ffffff;
  font-size: min(1.6875rem, 3.125vw);
  font-weight: bold;
  border: min(0.0703125rem, 0.1302083333vw) solid rgba(255, 255, 255, 0.8);
  border-radius: min(2.109375rem, 3.90625vw);
  padding: min(0.28125rem, 0.5208333333vw) min(4.21875rem, 7.8125vw);
  background: rgba(0, 0, 0, 0.05);
}
.order__container .order__arrow {
  position: absolute;
  width: min(0.984375rem, 1.8229166667vw);
  right: min(7.734375rem, 14.3229166667vw);
}

.map .map__container {
  padding-bottom: 56.25%;
  position: relative;
  overflow: hidden;
  height: 0;
}
.map .map__container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

footer .footer_wrap {
  background-color: #e9dfbc;
  text-align: center;
  padding: min(4.21875rem, 7.8125vw) min(2.8125rem, 5.2083333333vw) min(5.625rem, 10.4166666667vw);
}
footer .footer_wrap .nomal {
  font-family: YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
footer .footer_title {
  font-size: min(2.390625rem, 4.4270833333vw);
  position: relative;
  margin-bottom: min(2.109375rem, 3.90625vw);
  padding-bottom: min(1.40625rem, 2.6041666667vw);
}
footer .footer_title::after {
  content: "";
  display: block;
  width: min(3.375rem, 6.25vw);
  height: min(0.2109375rem, 0.390625vw);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
  background-color: var(--color-text);
}
footer .footer_text {
  font-size: min(1.828125rem, 3.3854166667vw);
  margin-bottom: min(1.125rem, 2.0833333333vw);
}
footer .footer__link {
  display: block;
  width: min(25.3125rem, 46.875vw);
  margin-inline: auto;
  font-size: min(1.828125rem, 3.3854166667vw);
  font-weight: bold;
  border: min(0.2109375rem, 0.390625vw) solid var(--color-text);
  padding: min(0.703125rem, 1.3020833333vw) 0;
  position: relative;
}
footer .footer__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(1.6875rem, 3.125vw);
  width: min(0.5625rem, 1.0416666667vw);
  height: min(0.5625rem, 1.0416666667vw);
  border-bottom: min(0.2109375rem, 0.390625vw) solid var(--color-text);
  border-right: min(0.2109375rem, 0.390625vw) solid var(--color-text);
  transform: translateY(-50%) rotate(-45deg);
  transition: all 0.3s ease;
}
footer .footer__copy {
  font-family: "Noto Serif JP", serif;
  text-align: left;
  padding: min(4.21875rem, 7.8125vw) min(2.8125rem, 5.2083333333vw);
  font-size: min(1.546875rem, 2.8645833333vw);
}

.u-hidden {
  display: none !important;
}

.u-inline {
  display: inline !important;
}

.u-block {
  display: block !important;
}

.u-inline-block {
  display: inline-block !important;
}

.u-flex {
  display: flex !important;
}

.u-grid {
  display: grid !important;
}

.u-flex-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.u-flex-between {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.u-flex-column {
  flex-direction: column !important;
}

.u-m-unit0 {
  margin: 0px !important;
}

.u-mt-unit0 {
  margin-top: 0px !important;
}

.u-mb-unit0 {
  margin-bottom: 0px !important;
}

.u-ml-unit0 {
  margin-left: 0px !important;
}

.u-mr-unit0 {
  margin-right: 0px !important;
}

.u-p-unit0 {
  padding: 0px !important;
}

.u-pt-unit0 {
  padding-top: 0px !important;
}

.u-pb-unit0 {
  padding-bottom: 0px !important;
}

.u-pl-unit0 {
  padding-left: 0px !important;
}

.u-pr-unit0 {
  padding-right: 0px !important;
}

.u-mbl-unit0 {
  margin-block: 0px !important;
}

.u-pbl-unit0 {
  padding-block: 0px !important;
}

.u-mil-unit0 {
  margin-inline: 0px !important;
}

.u-pil-unit0 {
  padding-inline: 0px !important;
}

.u-m-unit1 {
  margin: 5px !important;
}

.u-mt-unit1 {
  margin-top: 5px !important;
}

.u-mb-unit1 {
  margin-bottom: 5px !important;
}

.u-ml-unit1 {
  margin-left: 5px !important;
}

.u-mr-unit1 {
  margin-right: 5px !important;
}

.u-p-unit1 {
  padding: 5px !important;
}

.u-pt-unit1 {
  padding-top: 5px !important;
}

.u-pb-unit1 {
  padding-bottom: 5px !important;
}

.u-pl-unit1 {
  padding-left: 5px !important;
}

.u-pr-unit1 {
  padding-right: 5px !important;
}

.u-mbl-unit1 {
  margin-block: 5px !important;
}

.u-pbl-unit1 {
  padding-block: 5px !important;
}

.u-mil-unit1 {
  margin-inline: 5px !important;
}

.u-pil-unit1 {
  padding-inline: 5px !important;
}

.u-m-unit2 {
  margin: 10px !important;
}

.u-mt-unit2 {
  margin-top: 10px !important;
}

.u-mb-unit2 {
  margin-bottom: 10px !important;
}

.u-ml-unit2 {
  margin-left: 10px !important;
}

.u-mr-unit2 {
  margin-right: 10px !important;
}

.u-p-unit2 {
  padding: 10px !important;
}

.u-pt-unit2 {
  padding-top: 10px !important;
}

.u-pb-unit2 {
  padding-bottom: 10px !important;
}

.u-pl-unit2 {
  padding-left: 10px !important;
}

.u-pr-unit2 {
  padding-right: 10px !important;
}

.u-mbl-unit2 {
  margin-block: 10px !important;
}

.u-pbl-unit2 {
  padding-block: 10px !important;
}

.u-mil-unit2 {
  margin-inline: 10px !important;
}

.u-pil-unit2 {
  padding-inline: 10px !important;
}

.u-m-unit3 {
  margin: 15px !important;
}

.u-mt-unit3 {
  margin-top: 15px !important;
}

.u-mb-unit3 {
  margin-bottom: 15px !important;
}

.u-ml-unit3 {
  margin-left: 15px !important;
}

.u-mr-unit3 {
  margin-right: 15px !important;
}

.u-p-unit3 {
  padding: 15px !important;
}

.u-pt-unit3 {
  padding-top: 15px !important;
}

.u-pb-unit3 {
  padding-bottom: 15px !important;
}

.u-pl-unit3 {
  padding-left: 15px !important;
}

.u-pr-unit3 {
  padding-right: 15px !important;
}

.u-mbl-unit3 {
  margin-block: 15px !important;
}

.u-pbl-unit3 {
  padding-block: 15px !important;
}

.u-mil-unit3 {
  margin-inline: 15px !important;
}

.u-pil-unit3 {
  padding-inline: 15px !important;
}

.u-m-unit4 {
  margin: 20px !important;
}

.u-mt-unit4 {
  margin-top: 20px !important;
}

.u-mb-unit4 {
  margin-bottom: 20px !important;
}

.u-ml-unit4 {
  margin-left: 20px !important;
}

.u-mr-unit4 {
  margin-right: 20px !important;
}

.u-p-unit4 {
  padding: 20px !important;
}

.u-pt-unit4 {
  padding-top: 20px !important;
}

.u-pb-unit4 {
  padding-bottom: 20px !important;
}

.u-pl-unit4 {
  padding-left: 20px !important;
}

.u-pr-unit4 {
  padding-right: 20px !important;
}

.u-mbl-unit4 {
  margin-block: 20px !important;
}

.u-pbl-unit4 {
  padding-block: 20px !important;
}

.u-mil-unit4 {
  margin-inline: 20px !important;
}

.u-pil-unit4 {
  padding-inline: 20px !important;
}

.u-m-unit5 {
  margin: 25px !important;
}

.u-mt-unit5 {
  margin-top: 25px !important;
}

.u-mb-unit5 {
  margin-bottom: 25px !important;
}

.u-ml-unit5 {
  margin-left: 25px !important;
}

.u-mr-unit5 {
  margin-right: 25px !important;
}

.u-p-unit5 {
  padding: 25px !important;
}

.u-pt-unit5 {
  padding-top: 25px !important;
}

.u-pb-unit5 {
  padding-bottom: 25px !important;
}

.u-pl-unit5 {
  padding-left: 25px !important;
}

.u-pr-unit5 {
  padding-right: 25px !important;
}

.u-mbl-unit5 {
  margin-block: 25px !important;
}

.u-pbl-unit5 {
  padding-block: 25px !important;
}

.u-mil-unit5 {
  margin-inline: 25px !important;
}

.u-pil-unit5 {
  padding-inline: 25px !important;
}

.u-m-unit6 {
  margin: 30px !important;
}

.u-mt-unit6 {
  margin-top: 30px !important;
}

.u-mb-unit6 {
  margin-bottom: 30px !important;
}

.u-ml-unit6 {
  margin-left: 30px !important;
}

.u-mr-unit6 {
  margin-right: 30px !important;
}

.u-p-unit6 {
  padding: 30px !important;
}

.u-pt-unit6 {
  padding-top: 30px !important;
}

.u-pb-unit6 {
  padding-bottom: 30px !important;
}

.u-pl-unit6 {
  padding-left: 30px !important;
}

.u-pr-unit6 {
  padding-right: 30px !important;
}

.u-mbl-unit6 {
  margin-block: 30px !important;
}

.u-pbl-unit6 {
  padding-block: 30px !important;
}

.u-mil-unit6 {
  margin-inline: 30px !important;
}

.u-pil-unit6 {
  padding-inline: 30px !important;
}

.u-m-unit7 {
  margin: 35px !important;
}

.u-mt-unit7 {
  margin-top: 35px !important;
}

.u-mb-unit7 {
  margin-bottom: 35px !important;
}

.u-ml-unit7 {
  margin-left: 35px !important;
}

.u-mr-unit7 {
  margin-right: 35px !important;
}

.u-p-unit7 {
  padding: 35px !important;
}

.u-pt-unit7 {
  padding-top: 35px !important;
}

.u-pb-unit7 {
  padding-bottom: 35px !important;
}

.u-pl-unit7 {
  padding-left: 35px !important;
}

.u-pr-unit7 {
  padding-right: 35px !important;
}

.u-mbl-unit7 {
  margin-block: 35px !important;
}

.u-pbl-unit7 {
  padding-block: 35px !important;
}

.u-mil-unit7 {
  margin-inline: 35px !important;
}

.u-pil-unit7 {
  padding-inline: 35px !important;
}

.u-m-unit8 {
  margin: 40px !important;
}

.u-mt-unit8 {
  margin-top: 40px !important;
}

.u-mb-unit8 {
  margin-bottom: 40px !important;
}

.u-ml-unit8 {
  margin-left: 40px !important;
}

.u-mr-unit8 {
  margin-right: 40px !important;
}

.u-p-unit8 {
  padding: 40px !important;
}

.u-pt-unit8 {
  padding-top: 40px !important;
}

.u-pb-unit8 {
  padding-bottom: 40px !important;
}

.u-pl-unit8 {
  padding-left: 40px !important;
}

.u-pr-unit8 {
  padding-right: 40px !important;
}

.u-mbl-unit8 {
  margin-block: 40px !important;
}

.u-pbl-unit8 {
  padding-block: 40px !important;
}

.u-mil-unit8 {
  margin-inline: 40px !important;
}

.u-pil-unit8 {
  padding-inline: 40px !important;
}

.u-m-unit9 {
  margin: 45px !important;
}

.u-mt-unit9 {
  margin-top: 45px !important;
}

.u-mb-unit9 {
  margin-bottom: 45px !important;
}

.u-ml-unit9 {
  margin-left: 45px !important;
}

.u-mr-unit9 {
  margin-right: 45px !important;
}

.u-p-unit9 {
  padding: 45px !important;
}

.u-pt-unit9 {
  padding-top: 45px !important;
}

.u-pb-unit9 {
  padding-bottom: 45px !important;
}

.u-pl-unit9 {
  padding-left: 45px !important;
}

.u-pr-unit9 {
  padding-right: 45px !important;
}

.u-mbl-unit9 {
  margin-block: 45px !important;
}

.u-pbl-unit9 {
  padding-block: 45px !important;
}

.u-mil-unit9 {
  margin-inline: 45px !important;
}

.u-pil-unit9 {
  padding-inline: 45px !important;
}

.u-m-unit10 {
  margin: 50px !important;
}

.u-mt-unit10 {
  margin-top: 50px !important;
}

.u-mb-unit10 {
  margin-bottom: 50px !important;
}

.u-ml-unit10 {
  margin-left: 50px !important;
}

.u-mr-unit10 {
  margin-right: 50px !important;
}

.u-p-unit10 {
  padding: 50px !important;
}

.u-pt-unit10 {
  padding-top: 50px !important;
}

.u-pb-unit10 {
  padding-bottom: 50px !important;
}

.u-pl-unit10 {
  padding-left: 50px !important;
}

.u-pr-unit10 {
  padding-right: 50px !important;
}

.u-mbl-unit10 {
  margin-block: 50px !important;
}

.u-pbl-unit10 {
  padding-block: 50px !important;
}

.u-mil-unit10 {
  margin-inline: 50px !important;
}

.u-pil-unit10 {
  padding-inline: 50px !important;
}

.u-m-unit11 {
  margin: 55px !important;
}

.u-mt-unit11 {
  margin-top: 55px !important;
}

.u-mb-unit11 {
  margin-bottom: 55px !important;
}

.u-ml-unit11 {
  margin-left: 55px !important;
}

.u-mr-unit11 {
  margin-right: 55px !important;
}

.u-p-unit11 {
  padding: 55px !important;
}

.u-pt-unit11 {
  padding-top: 55px !important;
}

.u-pb-unit11 {
  padding-bottom: 55px !important;
}

.u-pl-unit11 {
  padding-left: 55px !important;
}

.u-pr-unit11 {
  padding-right: 55px !important;
}

.u-mbl-unit11 {
  margin-block: 55px !important;
}

.u-pbl-unit11 {
  padding-block: 55px !important;
}

.u-mil-unit11 {
  margin-inline: 55px !important;
}

.u-pil-unit11 {
  padding-inline: 55px !important;
}

.u-m-unit12 {
  margin: 60px !important;
}

.u-mt-unit12 {
  margin-top: 60px !important;
}

.u-mb-unit12 {
  margin-bottom: 60px !important;
}

.u-ml-unit12 {
  margin-left: 60px !important;
}

.u-mr-unit12 {
  margin-right: 60px !important;
}

.u-p-unit12 {
  padding: 60px !important;
}

.u-pt-unit12 {
  padding-top: 60px !important;
}

.u-pb-unit12 {
  padding-bottom: 60px !important;
}

.u-pl-unit12 {
  padding-left: 60px !important;
}

.u-pr-unit12 {
  padding-right: 60px !important;
}

.u-mbl-unit12 {
  margin-block: 60px !important;
}

.u-pbl-unit12 {
  padding-block: 60px !important;
}

.u-mil-unit12 {
  margin-inline: 60px !important;
}

.u-pil-unit12 {
  padding-inline: 60px !important;
}

.u-m-unit13 {
  margin: 65px !important;
}

.u-mt-unit13 {
  margin-top: 65px !important;
}

.u-mb-unit13 {
  margin-bottom: 65px !important;
}

.u-ml-unit13 {
  margin-left: 65px !important;
}

.u-mr-unit13 {
  margin-right: 65px !important;
}

.u-p-unit13 {
  padding: 65px !important;
}

.u-pt-unit13 {
  padding-top: 65px !important;
}

.u-pb-unit13 {
  padding-bottom: 65px !important;
}

.u-pl-unit13 {
  padding-left: 65px !important;
}

.u-pr-unit13 {
  padding-right: 65px !important;
}

.u-mbl-unit13 {
  margin-block: 65px !important;
}

.u-pbl-unit13 {
  padding-block: 65px !important;
}

.u-mil-unit13 {
  margin-inline: 65px !important;
}

.u-pil-unit13 {
  padding-inline: 65px !important;
}

.u-m-unit14 {
  margin: 70px !important;
}

.u-mt-unit14 {
  margin-top: 70px !important;
}

.u-mb-unit14 {
  margin-bottom: 70px !important;
}

.u-ml-unit14 {
  margin-left: 70px !important;
}

.u-mr-unit14 {
  margin-right: 70px !important;
}

.u-p-unit14 {
  padding: 70px !important;
}

.u-pt-unit14 {
  padding-top: 70px !important;
}

.u-pb-unit14 {
  padding-bottom: 70px !important;
}

.u-pl-unit14 {
  padding-left: 70px !important;
}

.u-pr-unit14 {
  padding-right: 70px !important;
}

.u-mbl-unit14 {
  margin-block: 70px !important;
}

.u-pbl-unit14 {
  padding-block: 70px !important;
}

.u-mil-unit14 {
  margin-inline: 70px !important;
}

.u-pil-unit14 {
  padding-inline: 70px !important;
}

.u-m-unit15 {
  margin: 75px !important;
}

.u-mt-unit15 {
  margin-top: 75px !important;
}

.u-mb-unit15 {
  margin-bottom: 75px !important;
}

.u-ml-unit15 {
  margin-left: 75px !important;
}

.u-mr-unit15 {
  margin-right: 75px !important;
}

.u-p-unit15 {
  padding: 75px !important;
}

.u-pt-unit15 {
  padding-top: 75px !important;
}

.u-pb-unit15 {
  padding-bottom: 75px !important;
}

.u-pl-unit15 {
  padding-left: 75px !important;
}

.u-pr-unit15 {
  padding-right: 75px !important;
}

.u-mbl-unit15 {
  margin-block: 75px !important;
}

.u-pbl-unit15 {
  padding-block: 75px !important;
}

.u-mil-unit15 {
  margin-inline: 75px !important;
}

.u-pil-unit15 {
  padding-inline: 75px !important;
}

.u-m-unit16 {
  margin: 80px !important;
}

.u-mt-unit16 {
  margin-top: 80px !important;
}

.u-mb-unit16 {
  margin-bottom: 80px !important;
}

.u-ml-unit16 {
  margin-left: 80px !important;
}

.u-mr-unit16 {
  margin-right: 80px !important;
}

.u-p-unit16 {
  padding: 80px !important;
}

.u-pt-unit16 {
  padding-top: 80px !important;
}

.u-pb-unit16 {
  padding-bottom: 80px !important;
}

.u-pl-unit16 {
  padding-left: 80px !important;
}

.u-pr-unit16 {
  padding-right: 80px !important;
}

.u-mbl-unit16 {
  margin-block: 80px !important;
}

.u-pbl-unit16 {
  padding-block: 80px !important;
}

.u-mil-unit16 {
  margin-inline: 80px !important;
}

.u-pil-unit16 {
  padding-inline: 80px !important;
}

.u-m-unit17 {
  margin: 85px !important;
}

.u-mt-unit17 {
  margin-top: 85px !important;
}

.u-mb-unit17 {
  margin-bottom: 85px !important;
}

.u-ml-unit17 {
  margin-left: 85px !important;
}

.u-mr-unit17 {
  margin-right: 85px !important;
}

.u-p-unit17 {
  padding: 85px !important;
}

.u-pt-unit17 {
  padding-top: 85px !important;
}

.u-pb-unit17 {
  padding-bottom: 85px !important;
}

.u-pl-unit17 {
  padding-left: 85px !important;
}

.u-pr-unit17 {
  padding-right: 85px !important;
}

.u-mbl-unit17 {
  margin-block: 85px !important;
}

.u-pbl-unit17 {
  padding-block: 85px !important;
}

.u-mil-unit17 {
  margin-inline: 85px !important;
}

.u-pil-unit17 {
  padding-inline: 85px !important;
}

.u-m-unit18 {
  margin: 90px !important;
}

.u-mt-unit18 {
  margin-top: 90px !important;
}

.u-mb-unit18 {
  margin-bottom: 90px !important;
}

.u-ml-unit18 {
  margin-left: 90px !important;
}

.u-mr-unit18 {
  margin-right: 90px !important;
}

.u-p-unit18 {
  padding: 90px !important;
}

.u-pt-unit18 {
  padding-top: 90px !important;
}

.u-pb-unit18 {
  padding-bottom: 90px !important;
}

.u-pl-unit18 {
  padding-left: 90px !important;
}

.u-pr-unit18 {
  padding-right: 90px !important;
}

.u-mbl-unit18 {
  margin-block: 90px !important;
}

.u-pbl-unit18 {
  padding-block: 90px !important;
}

.u-mil-unit18 {
  margin-inline: 90px !important;
}

.u-pil-unit18 {
  padding-inline: 90px !important;
}

.u-m-unit19 {
  margin: 95px !important;
}

.u-mt-unit19 {
  margin-top: 95px !important;
}

.u-mb-unit19 {
  margin-bottom: 95px !important;
}

.u-ml-unit19 {
  margin-left: 95px !important;
}

.u-mr-unit19 {
  margin-right: 95px !important;
}

.u-p-unit19 {
  padding: 95px !important;
}

.u-pt-unit19 {
  padding-top: 95px !important;
}

.u-pb-unit19 {
  padding-bottom: 95px !important;
}

.u-pl-unit19 {
  padding-left: 95px !important;
}

.u-pr-unit19 {
  padding-right: 95px !important;
}

.u-mbl-unit19 {
  margin-block: 95px !important;
}

.u-pbl-unit19 {
  padding-block: 95px !important;
}

.u-mil-unit19 {
  margin-inline: 95px !important;
}

.u-pil-unit19 {
  padding-inline: 95px !important;
}

.u-m-unit20 {
  margin: 100px !important;
}

.u-mt-unit20 {
  margin-top: 100px !important;
}

.u-mb-unit20 {
  margin-bottom: 100px !important;
}

.u-ml-unit20 {
  margin-left: 100px !important;
}

.u-mr-unit20 {
  margin-right: 100px !important;
}

.u-p-unit20 {
  padding: 100px !important;
}

.u-pt-unit20 {
  padding-top: 100px !important;
}

.u-pb-unit20 {
  padding-bottom: 100px !important;
}

.u-pl-unit20 {
  padding-left: 100px !important;
}

.u-pr-unit20 {
  padding-right: 100px !important;
}

.u-mbl-unit20 {
  margin-block: 100px !important;
}

.u-pbl-unit20 {
  padding-block: 100px !important;
}

.u-mil-unit20 {
  margin-inline: 100px !important;
}

.u-pil-unit20 {
  padding-inline: 100px !important;
}

.u-text-primary {
  font-family: var(--text-primary) !important;
}

.u-text-secondary {
  font-family: var(--text-secondary) !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-size-base {
  font-size: var(--text-size-base) !important;
}

.u-text-size-small {
  font-size: var(--text-size-small) !important;
}

.u-text-size-medium {
  font-size: var(--text-size-medium) !important;
}

.u-text-size-large {
  font-size: var(--text-size-large) !important;
}

.u-text-left {
  text-align: left !important;
}

.u-text-right {
  text-align: right !important;
}

.u-fs-xs {
  font-size: 12px !important;
}

.u-fs-sm {
  font-size: 14px !important;
}

.u-fs-md {
  font-size: 16px !important;
}

.u-fs-lg {
  font-size: 20px !important;
}

.u-fs-xl {
  font-size: 24px !important;
}

.u-title {
  font-weight: var(--text-weight-large);
  margin-bottom: 0.5em;
}

.u-bold {
  font-weight: bold !important;
}

.u-normal {
  font-weight: normal !important;
}

.u-italic {
  font-style: italic !important;
}

.u-uppercase {
  text-transform: uppercase !important;
}

.u-truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.u-color-primary {
  color: var(--primary-color);
}

.u-color-black {
  color: var(--text-color2);
}

.u-color-white {
  color: var(--text-color);
}

.u-color-error {
  color: var(--text-color-error);
}

.u-color-success {
  color: var(--text-color-success);
}

.u-bg-color-primary {
  --text-color: var(--light-color);
  background-color: var(--primary-color);
}

.u-bg-color-black {
  --text-color: var(--white-color);
  background-color: var(--black-color);
}

.u-bg-color-white {
  --text-color: var(--black-color);
  background-color: var(--white-color);
}

.u-bg-wall-primary {
  --text-color: var(--white-color);
  background-color: var(--black-color);
}

.u-bg-wall-black {
  background-image: url("/site_dns/assets/img/common/bg_wall_black.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .u-bg-wall-black {
    background-image: url("/site_dns/assets/img/common/sp/bg_wall_black.jpg");
  }
}

.u-border {
  border: 1px solid var(--border-color);
}
.u-border--white {
  border-color: var(--white-color);
}
.u-border--black {
  border-color: var(--black-color);
}

.u-border-dashed {
  border: 1px dashed var(--border-color);
}

.u-border-gray {
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.u-w-100 {
  width: 100% !important;
}

.u-h-100 {
  height: 100% !important;
}

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

.u-relative {
  position: relative !important;
}

.u-absolute {
  position: absolute !important;
}

.u-fixed {
  position: fixed !important;
}

.u-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* BEM構造を壊さない範囲で一時的な補助として使用 */
.u-shadow {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.u-transition {
  transition: all 0.3s ease !important;
}

.u-opacity-0 {
  opacity: 0 !important;
}

.u-opacity-50 {
  opacity: 0.5 !important;
}

.u-opacity-100 {
  opacity: 1 !important;
}

.u-z-top {
  z-index: 1000 !important;
}

.u-z-back {
  z-index: -1 !important;
}

.u-cursor-pointer {
  cursor: pointer !important;
}

.u-pointer-none {
  pointer-events: none !important;
}