@charset "UTF-8";
/* General */
.cf, .float-list {
  *zoom: 1;
}
.cf:after, .float-list:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

form ::-webkit-input-placeholder {
  color: #C6C6C6;
}
form :-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form ::-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form :-ms-input-placeholder {
  color: #C6C6C6;
}

::-moz-selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

::selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

.float-list, .cf {
  *zoom: 1;
}
.float-list:after, .cf:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

form ::-webkit-input-placeholder {
  color: #C6C6C6;
}
form :-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form ::-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form :-ms-input-placeholder {
  color: #C6C6C6;
}

::-moz-selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

::selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

.float-list li {
  float: left;
}

/* Base */
.cf, .float-list {
  *zoom: 1;
}
.cf:after, .float-list:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

form ::-webkit-input-placeholder {
  color: #C6C6C6;
}
form :-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form ::-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form :-ms-input-placeholder {
  color: #C6C6C6;
}

::-moz-selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

::selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(var(--base-color), 0.0001);
  block-size: 100%;
  -webkit-text-size-adjust: none;
}

body {
  line-height: 1.75;
  font-feature-settings: "palt";
  font-family: var(--ff-jp);
  font-weight: 500;
  color: var(--base-color);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeSpeed;
  min-block-size: 100%;
}
@media only screen and (min-width: 800px) {
  body {
    font-size: 16px;
  }
}
@media only screen and (max-width: 799px) {
  body {
    font-size: clamp(8px, 2.5vw, 1rem);
  }
}

.f-lora {
  font-family: var(--ff-en);
}

.f-serif {
  font-family: var(--ff-serif);
}

a {
  -webkit-text-decoration-skip: objects;
}
a:link, a:visited {
  text-decoration: none;
  color: var(--base-color);
}
@media (hover: hover) {
  a img {
    transition: opacity 0.3s;
  }
  a:hover, a:active, a:focus {
    color: var(--base-color);
  }
  a:hover img, a:active img, a:focus img {
    opacity: 0.7;
  }
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

img {
  max-width: 100%;
  height: auto;
  box-sizing: content-box;
  vertical-align: middle;
  line-height: 1;
}

:where(img, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}

h1, h2, h3, h4, h5, h6 {
  max-height: 100%;
}

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

input[type=button], input[type=submit], input[type=reset] {
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.0001);
  background: transparent;
}

.header-logo a:hover img,
.footer-logo a:hover img {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
}

b,
strong {
  font-weight: bolder;
}

:where(svg) {
  stroke: none;
  fill: currentColor;
}
:where(svg):not(:root) {
  overflow: hidden;
  vertical-align: middle;
}

:where(svg):where(:not([fill])) {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

:where(input[type=radio], input[type=checkbox]) {
  padding: 0;
}

:where(input[type=date], input[type=time], input[type=datetime-local], input[type=month]) {
  -webkit-appearance: listbox;
}

:where(textarea) {
  overflow: auto;
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset], [disabled]) {
  cursor: not-allowed;
}

:root {
  --base-color:#335277;
  --bg-color:#EFEFEF;
  --key-color:#52C1B0;
  --key-color02:#DAC290;
  --key-color03:hsl(15, 89%, 66%);
  --key-color04:#EDE0C7;
  --key-color05:#1B3972;
  --ff-jp:"Noto Sans JP", sans-serif;
  --ff-en:"Lora", serif;
  --ff-serif: "Noto Serif JP", serif;
}

/* Layout */
.cf, .float-list {
  *zoom: 1;
}
.cf:after, .float-list:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

form ::-webkit-input-placeholder {
  color: #C6C6C6;
}
form :-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form ::-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form :-ms-input-placeholder {
  color: #C6C6C6;
}

::-moz-selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

::selection {
  color: #FFF;
  background: rgba(0, 155, 210, 0.7);
}

/*==============================
共通要素
==============================*/
.show-xs {
  display: none;
}

@media only screen and (min-width:768px) and (max-width:986px) {
  .sp-block {
    display: inline-block;
  }
}
@media only screen and (min-width:768px) {
  .hidden-sp {
    display: block;
  }
  .hidden-pc {
    display: none;
  }
  .fl-container {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width:767px) {
  .hidden-sp {
    display: none;
  }
  .hidden-pc {
    display: block;
  }
  .sp-block {
    display: inline-block;
  }
}
@media only screen and (max-width:480px) {
  .show-xs {
    display: block;
  }
}
@media only screen and (min-width: 800px) {
  body {
    background: url(../img/layout/lp_bg.jpg) no-repeat center/cover;
    background-attachment: fixed;
  }
}

.lp-container {
  position: relative;
}
@media only screen and (min-width: 800px) {
  .lp-container {
    max-width: 800px;
    margin: auto;
    box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.25);
  }
}
.lp-container .super {
  vertical-align: super;
}

/*==============================
ヘッダー
==============================*/
.l-header {
  position: absolute;
  top: 0;
  padding: 1.25em 5%;
  width: 100%;
  z-index: 10;
}
.l-header .header-logo {
  max-width: 35%;
}
.l-header .sp-menu {
  position: fixed;
  width: 2.8em;
  height: 1.25em;
  top: min(2.875em, 5.75vw);
  cursor: pointer;
  z-index: 50;
}
.l-header .sp-menu,
.l-header .sp-menu span {
  display: inline-block;
  transition: all 0.4s;
}
.l-header .sp-menu span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--base-color);
  transition: 0.3s;
}
.l-header .sp-menu span:nth-of-type(1) {
  top: 0;
}
.l-header .sp-menu span:nth-of-type(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}
.l-header .sp-menu span:nth-of-type(3) {
  bottom: 0;
}
.l-header .sp-menu.open span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(0.575em) rotate(-45deg);
}
.l-header .sp-menu.open span:nth-of-type(2) {
  opacity: 0;
}
.l-header .sp-menu.open span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-0.575em) rotate(45deg);
}
@media only screen and (min-width: 800px) {
  .l-header .sp-menu {
    right: calc((100% - 800px) / 2 + 40px);
  }
}
@media only screen and (max-width: 799px) {
  .l-header .sp-menu {
    right: 5%;
  }
}

.l-nav {
  position: fixed;
  background: rgba(218, 194, 144, 0.95);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 45;
  display: none;
}
.l-nav .nav-list {
  margin-top: min(4.5em, 8vw);
  padding: 2em 5%;
  font-size: 1.3em;
  text-align: center;
  overflow: auto;
  height: calc(100% - min(4.5em, 8vw));
}
.l-nav .nav-list li + li {
  margin-top: 1em;
}
.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.layer {
  position: fixed;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background: rgba(35, 24, 21, 0.4);
  z-index: 25;
  transition: width 0.3s;
}
.layer.open {
  width: 100%;
}

.md-btn {
  box-shadow: 0px 4px 4px 0px #DAC290;
  background: var(--key-color03);
  border-radius: 5px;
  max-width: 600px;
  overflow: hidden;
  margin: auto;
  font-size: min(1em,2.1vw);
}
.md-btn a {
  display: block;
  color: #fff;
  font-weight: 700;
  font-size: 2.25em;
  text-align: center;
  position: relative;
  z-index: 1;
  padding: 0.25em 1em 0.25em 0.5em;
}
.md-btn a:before {
  right: -1em;
  top: -2em;
  width: 7em;
  height: 8em;
  position: absolute;
  content: "";
  background: #FE602A;
  transform: rotate(36deg);
  border: 2px solid #FF9875;
  z-index: -1;
}
.md-btn a:after {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 5px;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/module/arw_01.svg) no-repeat right 0.5em center/0.88em;
}
@media (hover: hover) {
  .md-btn {
    transition: opacity 0.3s;
  }
  .md-btn:hover, .md-btn:active {
    opacity: 0.7;
  }
}
.md-btn.site {
  box-shadow: none;
  background: #63CFBE;
}
.md-btn.site a:before {
  background: var(--key-color);
  border-color: #73D6C6;
}
.md-btn + .md-btn {
  margin-top: 1.45em;
}

.lp-ttl {
  text-align: center;
  margin-bottom: 4.7em;
}
.lp-ttl .lp-ttl-en {
  font-size: 1.75em;
  color: var(--key-color);
  font-family: var(--ff-en);
  letter-spacing: 0.05em;
  line-height: 1.35;
}
.lp-ttl h2 {
  font-size: 2.625em;
  letter-spacing: 0.05em;
  line-height: 1.35;
}

.md-cta-box {
  padding: 3.125em 8.334% 3.525em;
  border-radius: 5px;
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.6);
}
.md-cta-box .cta-img {
  border: 1px solid var(--bg-color);
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 0.7em;
}
.md-cta-box .cta-size {
  margin-bottom: 1.5em;
  text-align: center;
  font-size: 1.25em;
  letter-spacing: 0.05em;
}
.md-cta-box .normal-price {
  color: #666;
  letter-spacing: 0.05em;
  display: inline-block;
  position: relative;
  line-height: 1.6;
}
.md-cta-box .normal-price:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../img/module/line_01.svg) no-repeat center/contain;
}
.md-cta-box .normal-price .txt {
  font-size: 1.25em;
  padding-right: 0.5em;
}
.md-cta-box .normal-price .price {
  font-size: 1.75em;
}
.md-cta-box .normal-price .unit {
  font-size: 1.25em;
}
.md-cta-box .coupon-pricebox {
  display: flex;
  border-bottom: 4px solid var(--key-color02);
  padding-bottom: 2px;
  margin-bottom: 2.2em;
  font-size: min(1em,2.4vw);
}
.md-cta-box .coupon-pricebox .arw {
  width: 35%;
  padding: 0.8em 1em 0.4em 3%;
  color: #fff;
  background: url(../img/module/arw_02.svg) no-repeat right center/cover;
  font-size: 1.125em;
  line-height: 1;
}
.md-cta-box .coupon-pricebox .arw .no {
  font-family: var(--ff-en);
  font-weight: 500;
  font-size: 2.22em;
}
.md-cta-box .coupon-pricebox .arw .unit {
  font-size: 1.55em;
  font-family: var(--ff-en);
  font-weight: 500;
}
.md-cta-box .coupon-pricebox .arw span:not(.no):not(.unit) {
  font-size: 0.8em;
}
.md-cta-box .coupon-pricebox .coupon-price {
  width: 65%;
  position: relative;
  text-align: right;
  line-height: 1;
}
.md-cta-box .coupon-pricebox .coupon-price .price {
  font-size: 5em;
  font-family: var(--ff-en);
  font-weight: 500;
  transform: translateY(0.1em);
  display: inline-block;
}
.md-cta-box .coupon-pricebox .coupon-price .unit {
  font-size: 3em;
  font-weight: 700;
}
.md-cta-box .coupon-pricebox .coupon-price .tax {
  position: absolute;
  right: 0;
  top: 0.25em;
  color: #666;
}
.md-cta-box .copy {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 0.5em;
  font-size: 1.75em;
  line-height: 1;
  color: var(--key-color03);
  white-space: nowrap;
}
.md-cta-box .copy:before, .md-cta-box .copy:after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1.5em;
  background: no-repeat bottom center;
}
.md-cta-box .copy:before {
  background-image: url(../img/module/deco_04.svg);
}
.md-cta-box .copy:after {
  background-image: url(../img/module/deco_05.svg);
}

.md-size-btn {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.475em;
  column-gap: 2%;
}
.md-size-btn li {
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9em;
  height: 3em;
  font-size: 1.25em;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.md-size-btn li:not(.active) {
  border: 2px solid var(--bg-color);
}
.md-size-btn li.active {
  color: #fff;
  background: var(--key-color05);
}

.md-cta-size {
  padding: min(3.125em, 6.25vw) 5%;
  background: url(../img/top/first_cta_bg.jpg) no-repeat center/cover;
}
.md-cta-size h3 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 0.5em;
  font-size: 1.75em;
  line-height: 1;
}
.md-cta-size h3:before, .md-cta-size h3:after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1.5em;
  background: no-repeat bottom center;
}
.md-cta-size h3:before {
  background-image: url(../img/module/deco_01.svg);
}
.md-cta-size h3:after {
  background-image: url(../img/module/deco_02.svg);
}
.md-cta-size .size-img {
  margin-bottom: 1.9em;
}

.point-list li {
  padding-left: 1.2em;
  position: relative;
  line-height: 1.5;
  font-size: 1.625em;
}
.point-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.8em;
  height: 0.8em;
  background: url(../img/module/hexagon.svg) no-repeat center/contain;
}
.point-list li + li {
  margin-top: 0.25em;
}

/*==============================
コンテンツ
==============================*/
.lp-fv {
  position: relative;
}
.lp-fv .fv-cta {
  position: absolute;
  left: 5%;
  top: min(8.125em,16.25vw);
  font-size: min(1em,2.2vw);
}
.lp-fv .fv-cta .md-btn a {
  font-size: 1.625em;
}
.lp-fv .fv-cta-tag {
  display: flex;
  column-gap: 0.375em;
  margin-bottom: 0.625em;
}
.lp-fv .fv-cta-tag li {
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--key-color02);
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.5;
  padding: 0.167em 0.67em;
}

.lp-first {
  padding: min(3.125em, 6.25vw) 5%;
  background: url(../img/top/first_cta_bg.jpg) no-repeat center/cover;
}
.lp-first .lp-first-inner {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 5px;
  padding: 6.7em 8.3% min(4em, 8vw);
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
  position: relative;
  font-size: min(1em,2.1vw);
  margin-top: -4em;
}
.lp-first .lp-first-inner:after {
  position: absolute;
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  top: 10px;
  left: 10px;
  border: 2px solid var(--key-color);
  border-radius: 5px;
  pointer-events: none;
}
.lp-first .ribbon12 {
  display: inline-block;
  position: relative;
  padding: 0.25em 0.5em 0.25em 1em;
  margin: 0 0 0 -1em;
  width: 17em;
  line-height: 1.35;
  font-size: 1.125em;
  transform: translateY(1.5em);
  z-index: 1;
  background: var(--key-color04);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}
.lp-first .ribbon12 span {
  font-size: 1.75em;
  padding-left: 0.25em;
}
.lp-first .ribbon12:before {
  position: absolute;
  content: "";
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 1em var(--key-color02);
}
.lp-first h2 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 2.1em;
}
.lp-first h2:before, .lp-first h2:after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 2em;
  background: no-repeat bottom center/contain;
  margin-bottom: 0.4em;
}
.lp-first h2:before {
  background-image: url(../img/module/deco_01.svg);
}
.lp-first h2:after {
  background-image: url(../img/module/deco_02.svg);
}
.lp-first .lp-first-ttlInner {
  display: inline-block;
  font-weight: 700;
  background: url(../img/module/deco_03.svg) no-repeat bottom center;
  line-height: 1;
}
.lp-first .lp-first-ttlInner .f-lora {
  font-size: 3.75em;
  font-weight: 400;
}
.lp-first .lp-first-ttlInner .day {
  font-size: 1.5em;
}
.lp-first .lp-first-ttlInner .txt {
  font-size: 1.75em;
}

.lp-doctor {
  position: relative;
}
.lp-doctor p {
  position: absolute;
  bottom: 2em;
  left: min(30vw,19.4em);
  font-size: min(12px,1.4vw);
}

.lp-problem .lp-problem-first {
  color: #fff;
  background: var(--key-color05);
  padding: min(5.125em, 10.25vw) 5% 0;
}
.lp-problem .lp-problem-first .lp-problem-ttl {
  max-inline-size: max-content;
  margin-inline: auto;
  position: relative;
  margin-bottom: 2.7em;
  font-size: min(1em,3vw);
}
.lp-problem .lp-problem-first .lp-problem-ttl h2 {
  font-size: 2em;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.lp-problem .lp-problem-first .lp-problem-ttl .lp-problem-ttlEn {
  position: absolute;
  right: 1em;
  font-size: 1.25em;
  letter-spacing: 0.3em;
  color: var(--key-color02);
}
.lp-problem .lp-problem-first .lp-problem-ttl .lp-problem-ttlNo {
  font-size: 1.625em;
  margin: 0 -0.125em;
}
.lp-problem .lp-problem-first .lp-problem-ttl .lp-problem-ttlTxt {
  font-size: 1.1875em;
}
.lp-problem .lp-problem-list {
  padding-bottom: 1.1em;
  margin: 0 auto;
  max-width: 590px;
}
.lp-problem .lp-problem-list dt {
  font-weight: 700;
  font-size: 1.125em;
  letter-spacing: 0.05em;
  border-bottom: 2px solid var(--bg-color);
  margin-bottom: 0.1em;
}
.lp-problem .lp-problem-list dd {
  padding-left: 1.6em;
  font-family: var(--ff-en);
  font-size: min(1.5em,3.8vw);
  letter-spacing: 0.05em;
  background: url(../img/module/icon_exclamation.svg) no-repeat left 0.25em/1.2em;
}
.lp-problem .lp-problem-list div + div {
  margin-top: 1.2em;
}
.lp-problem .lp-problem-second {
  position: relative;
  padding-bottom: min(6.5em, 13vw);
  background: url(../img/top/problem_bg.jpg) no-repeat left center/cover;
}
.lp-problem .lp-problem-second .lp-problem-secondTxt {
  position: relative;
  z-index: 5;
  padding: 1.975em 5%;
  background: url(../img/top/problem_img_pad@2x.png) no-repeat center/10.625em;
}
.lp-problem .lp-problem-second .lp-problem-secondTxt p {
  text-align: center;
  font-size: 2.625em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.9;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.lp-problem .lp-problem-second .lp-problem-secondTxt span {
  font-size: 0.714em;
}
.lp-problem .lp-problem-second .lp-problem-secondTxt .white {
  color: #fff;
}
.lp-problem .lp-problem-second .lp-problem-secondImg {
  position: absolute;
  bottom: 0;
  right: 0;
}
.lp-problem .lp-problem-third {
  margin-top: -3.1em;
  padding: min(4em, 8vw) 5% min(5.625em, 11.25vw);
  position: relative;
  z-index: 10;
  background: url(../img/top/problem_bg_02.png) no-repeat top center/cover;
}
.lp-problem .lp-problem-third dl {
  position: relative;
  background: rgba(255, 255, 255, 0.95);
  padding: 1em 4.16% 1.4em;
  color: var(--base-color);
}
.lp-problem .lp-problem-third dl:before {
  position: absolute;
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  top: 10px;
  left: 10px;
  border: 2px solid var(--key-color);
}
.lp-problem .lp-problem-third dl dt {
  font-size: 2em;
  color: var(--key-color);
  margin-bottom: 0.5em;
  padding-bottom: 0.2em;
}
.lp-problem .lp-problem-third dl dt:before {
  position: absolute;
  left: 10px;
  top: 2.2em;
  height: 2px;
  content: "";
  width: 3.75em;
  background: var(--key-color);
}
.lp-problem .lp-problem-third dl dd {
  padding-left: 1.2em;
  position: relative;
  line-height: 1.5;
  font-size: 1.625em;
}
.lp-problem .lp-problem-third dl dd:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.8em;
  height: 0.8em;
  background: url(../img/module/hexagon.svg) no-repeat center/contain;
}
.lp-problem .lp-problem-third dl dd + dd {
  margin-top: 0.25em;
}
.lp-problem .lp-problem-thirdStl {
  text-align: center;
  font-size: 1.75em;
  background: var(--Linear, linear-gradient(180deg, #52C1B0 0%, #63AFB8 51.56%, #1B3972 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.lp-problem .lp-problem-thirdTtl {
  font-size: 1.625em;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.lp-problem .lp-problem-thirdName {
  font-size: 2.625em;
  text-align: center;
  margin-top: 0.4em;
  letter-spacing: 0.05em;
}
.lp-problem .lp-problem-thirdBody {
  font-size: 1.25em;
  letter-spacing: 0.05em;
  margin-bottom: 2.5em;
  margin-top: 1.4em;
}

.lp-nrem {
  color: #fff;
  background: var(--key-color05) url(../img/top/nrem_bg_01.jpg) no-repeat center top/contain;
}
.lp-nrem .first {
  padding: min(5.625em, 11.25vw) 5% 0;
}
.lp-nrem .first .note {
  max-inline-size: max-content;
  margin-inline-start: auto;
  letter-spacing: 0.05em;
  margin-top: 3em;
}
.lp-nrem .lp-nrem-intro {
  font-size: 2em;
  text-align: center;
  line-height: 1.35;
}
.lp-nrem .lp-nrem-intro span {
  display: inline-block;
  color: var(--key-color02);
  transform: rotate(90deg);
}
.lp-nrem .lp-nrem-answer {
  font-size: 2em;
  text-align: center;
  font-weight: 700;
}
.lp-nrem .lp-nrem-answer strong {
  display: inline-block;
  padding: 0 0.5em;
  font-size: 1.5em;
  background: url(../img/module/deco_07.svg) no-repeat center bottom/contain;
}
.lp-nrem .lp-nrem-answer .super {
  margin-left: -0.75em;
}
.lp-nrem .second {
  padding: min(4em, 8vw) 5% min(5.625em, 11.25vw);
}
.lp-nrem .second .note {
  font-size: 12px;
  max-inline-size: max-content;
  margin-inline-start: auto;
  margin-top: 1em;
}
.lp-nrem .second .expected {
  font-size: 1.75em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 0.8em;
}
.lp-nrem .second .point-list {
  position: relative;
  background: rgba(255, 255, 255, 0.95);
  padding: 2.2em 4.16% 2.4em;
  columns: 2;
  color: var(--base-color);
  font-size: min(1em,2vw);
}
.lp-nrem .second .point-list:before {
  position: absolute;
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  top: 10px;
  left: 10px;
  border: 2px solid var(--key-color);
}
.lp-nrem .second .point-list li + li {
  margin-top: 0;
}
.lp-nrem .second .point-list li {
  margin-bottom: 0.25em;
}

.lp-evidence {
  padding-top: min(5.625em,11.25vw);
  background: var(--key-color04);
}
.lp-evidence h2 {
  font-size: min(2.625em,5.8vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.lp-evidence .lp-evidence-bg {
  background: #aacad1;
  padding: min(2em, 4vw) 5% min(5.625em, 11.25vw);
}
.lp-evidence .lp-evidence-intro p {
  font-size: 1.25em;
  letter-spacing: 0.05em;
}
.lp-evidence .lp-evidence-intro p + p {
  margin-top: 1.75em;
}
.lp-evidence .lp-evidence-intro strong {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.lp-evidence .lp-evidence-intro strong:after {
  position: absolute;
  bottom: 0.3em;
  left: 0;
  content: "";
  width: 100%;
  height: 0.5em;
  background: rgba(255, 255, 255, 0.75);
  z-index: -1;
}
.lp-evidence .lp-evidence-list {
  margin-top: min(3.125em, 6.25vw);
}
.lp-evidence .lp-evidence-list li {
  padding: 2em 4.167% 2.3em;
  background: #fff;
}
.lp-evidence .lp-evidence-list li + li {
  margin-top: min(3.75em, 7.5vw);
}
.lp-evidence .lp-evidence-list h3 {
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 2em;
  margin-bottom: 1em;
}
.lp-evidence .lp-evidence-list h3 strong {
  color: var(--key-color);
}
.lp-evidence .lp-evidence-list h4 {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 1.5em;
  margin-top: 2.7em;
  margin-bottom: 0.9em;
}
.lp-evidence .lp-evidence-listNo {
  background: var(--Linear, linear-gradient(180deg, #52C1B0 0%, #63AFB8 51.56%, #1B3972 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.25em;
  margin-bottom: 0.4em;
}
.lp-evidence .lp-evidence-listImg {
  margin-bottom: 2em;
}
.lp-evidence .lp-evidence-listTxt p {
  letter-spacing: 0.05em;
  font-size: 1.25em;
}
.lp-evidence .lp-evidence-listTxt p .note {
  font-size: 0.875em;
}
.lp-evidence .lp-evidence-listTxt p + p {
  margin-top: 1.25em;
}
.lp-evidence .lp-evidence-listTxt + .lp-evidence-listImg {
  margin-top: 2em;
}
.lp-evidence .lp-evidence-sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lp-evidence .lp-evidence-sub > * {
  width: 48.5%;
}
.lp-evidence .lp-evidence-sub p {
  font-size: 1.09375em;
}

.lp-cta {
  padding: 3.125em 5%;
  background: #fff;
}
.lp-cta .topper {
  margin-top: 2.5em;
}

.lp-quality {
  padding: 5.625em 5%;
  background: var(--key-color04);
}
.lp-quality .lp-quality-list li {
  padding: 1.875em 4.16%;
  background: #fff;
}
.lp-quality .lp-quality-list li + li {
  margin-top: min(3.75em, 7.5vw);
}
.lp-quality .lp-quality-list h3 {
  font-size: 1.75em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  position: relative;
  padding-left: 0.65em;
  margin-bottom: 1em;
}
.lp-quality .lp-quality-list h3:before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  width: 3px;
  height: 100%;
  background: var(--key-color);
}
.lp-quality .lp-quality-listImg {
  margin-bottom: 1.8em;
}
.lp-quality .lp-quality-listTxt p {
  font-size: 1.25em;
}
.lp-quality .lp-quality-listTxt p + p {
  margin-top: 1.75em;
}

.lp-voice {
  padding: 5.625em 5%;
  background: #fff;
}
.lp-voice h3 {
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: min(2em,4.8vw);
  background: var(--key-color);
  margin-bottom: 0.625em;
  padding: 0.35em 0.25em;
}
.lp-voice p + h3 {
  margin-top: 1.9em;
}
.lp-voice .lp-voice-slider .swiper-slide {
  max-width: 360px;
  width: 80%;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 2em 2.778%;
}
.lp-voice .lp-voice-slider .swiper-slide h4 {
  font-weight: 700;
  font-size: 1.75em;
  max-inline-size: max-content;
  margin-inline: auto;
  margin-bottom: 0.6em;
}
.lp-voice .lp-voice-slider .swiper-slide p {
  font-size: 1.25em;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.lp-voice .lp-voice-slider .swiper-slide .prof {
  margin-top: 1.3em;
  text-align: right;
}

.lp-about {
  padding: 5.625em 5%;
  background: var(--bg-color) url(../img/module/bg_pattern_01.png) repeat 0 0/200px;
}
.lp-about h2 {
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: min(2.25em,5.1vw);
  margin-bottom: 2.2em;
}
.lp-about .lp-about-logo {
  text-align: center;
  margin-bottom: 5em;
}
.lp-about .lp-about-logo img {
  max-width: 55%;
}
.lp-about .lp-about-intro {
  font-size: 1.625em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  max-inline-size: max-content;
  margin-inline: auto;
  margin-bottom: 2.1em;
}
.lp-about .lp-about-body p {
  font-size: 1.25em;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.lp-about .lp-about-body p + p {
  margin-top: 1.5em;
}
.lp-about h3 {
  text-align: center;
  font-size: 1.625em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 2.6em;
  margin-bottom: 2.3em;
}
.lp-about .lp-about-story {
  margin-top: 3.75em;
  padding: 3.125em 4.16%;
  background: #fff;
}
.lp-about .lp-about-story h3 {
  font-size: 2em;
  margin-top: 0;
  margin-bottom: 1.5625em;
}
.lp-about .lp-about-story .f-serif {
  text-align: center;
  margin: 0 auto 1.75em;
  font-size: min(1.75em,4vw);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.lp-about .lp-about-story p:not(.f-serif) {
  font-size: 1.25em;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.lp-about .lp-about-story p:not(.f-serif) + p {
  margin-top: 1.75em;
}

.lp-flow {
  padding: min(4.625em,9.25vw) 5% min(5.625em,11.25vw);
  background: #fff;
}
.lp-flow h2 {
  line-height: 1;
  color: var(--key-color);
  font-weight: 700;
  text-align: center;
}
.lp-flow h2 .f-lora {
  font-size: 5.15em;
  font-weight: 400;
}
.lp-flow h2 .day {
  font-size: 1.75em;
}
.lp-flow h2 .txt {
  font-size: 2.25em;
}
.lp-flow h3 {
  font-size: 2em;
  text-align: center;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 2em;
}
.lp-flow .lp-flow-list li {
  display: flex;
  align-items: center;
  border-left: 5px solid var(--key-color);
  padding: 1.875em 4% 1.2em 0;
}
.lp-flow .lp-flow-list li:first-child {
  background: #eef9f7;
}
.lp-flow .lp-flow-list li:nth-child(2) {
  background: #dcf3ef;
}
.lp-flow .lp-flow-list li:nth-child(3) {
  padding: 3.75em 0;
  position: relative;
}
.lp-flow .lp-flow-list li:nth-child(3) h4 {
  color: var(--key-color);
  font-size: min(2em,4.8vw);
  margin: 0;
}
.lp-flow .lp-flow-list li:nth-child(3):after {
  content: "";
  top: -0.625em;
  bottom: -0.625em;
  right: -0.625em;
  left: -0.625em;
  width: calc(100% + 1.25em);
  height: calc(100% + 1.25em);
  margin: auto;
  position: absolute;
  border: 0.625em solid var(--key-color);
  border-radius: 5px;
  pointer-events: none;
}
.lp-flow .lp-flow-list li:nth-child(4) {
  background: #f8f3e9;
  border-color: #666;
}
.lp-flow .lp-flow-list li:nth-child(4) .step {
  color: #666;
}
.lp-flow .lp-flow-listIcon {
  width: 23%;
}
.lp-flow .lp-flow-listIcon p {
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--key-color);
  aspect-ratio: 1/1;
  width: 64.5%;
  letter-spacing: 0.05em;
  margin: auto;
}
.lp-flow .lp-flow-listTxt {
  width: 77%;
}
.lp-flow .lp-flow-listTxt .step {
  font-size: 1.25em;
  color: var(--key-color);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
.lp-flow .lp-flow-listTxt h4 {
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 1.5em;
  margin-bottom: 0.4em;
  margin-top: 0.2em;
}
.lp-flow .lp-flow-listTxt p {
  font-size: 1.25em;
  letter-spacing: 0.05em;
}

.lp-faq {
  padding: min(5.625em,11.25vw) 5%;
  background: #fff;
}
.lp-faq dl div {
  padding-bottom: 1.2em;
}
.lp-faq dl div + div {
  border-top: 1px dashed #ccc;
}
.lp-faq dt {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 3.4em;
  padding-top: 1em;
  position: relative;
}
.lp-faq dt:before {
  position: absolute;
  line-height: 1;
  left: 0;
  top: 0;
  content: "Q";
  font-size: 2.5em;
  color: var(--key-color);
  font-family: var(--ff-en);
  font-weight: 500;
}
.lp-faq dd {
  padding-left: 4.3em;
  font-size: 1.25em;
  margin-top: 0.9em;
  letter-spacing: 0.05em;
  display: none;
  line-height: 1.5;
}
.lp-faq dd .note {
  font-size: 0.875em;
  padding-left: 1.5em;
  position: relative;
  margin-top: 0.4em;
  line-height: 1.5;
}
.lp-faq dd .note:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.lp-faq dd p + p {
  margin-top: 1.5em;
}
.lp-faq dd ol {
  counter-reset: number 0;
}
.lp-faq dd ol li {
  line-height: 1.5;
  position: relative;
  padding-left: 1.5em;
}
.lp-faq dd ol li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  position: absolute;
  left: 0;
  top: 0.25em;
}
.lp-faq dd ol li + li {
  margin-top: 0.25em;
}

/*==============================
フッター
==============================*/
.l-footer {
  background: var(--key-color04);
  padding: min(4.375em, 8.75vw) 5%;
  text-align: center;
}
.l-footer .soeru-logo {
  max-width: 20%;
  margin: 0 auto 2em;
}
.l-footer .soeru-url {
  margin-bottom: 4em;
  font-size: 1.25em;
  letter-spacing: 0.05em;
}
.l-footer .kinshido-logo {
  width: 42%;
  margin: 0 auto 3.75em;
}
.l-footer .kinshido-overview {
  font-weight: 700;
  font-size: 1.5em;
  letter-spacing: 0.05em;
  margin: 0 auto 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 2px solid var(--key-color02);
  max-width: 550px;
}
.l-footer table {
  max-width: 550px;
  width: 100%;
  margin: auto;
  font-size: 1.25em;
  letter-spacing: 0.05em;
}
.l-footer table th {
  width: 6em;
}
.l-footer table td {
  width: calc(100% - 6em);
}
.l-footer table td:before {
  content: "：";
  padding-right: 0.25em;
}
.l-footer .l-footer-nav .footer-nav-list li {
  line-height: 1.5;
}/*# sourceMappingURL=common.css.map */