@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600&display=swap";
@layer theme {
  :root,:host {
    --font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --spacing:.25rem;
    --default-font-family:var(--font-sans);
    --default-mono-font-family:var(--font-mono)
  }
  }
@layer base {
  *,:after,:before {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0
  }
  ::backdrop {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0
  }
  ::file-selector-button {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0
  }
  html,:host {
    -webkit-text-size-adjust:100%;
    tab-size:4;
    line-height:1.5;
    font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings:var(--default-font-feature-settings,normal);
    font-variation-settings:var(--default-font-variation-settings,normal);
    -webkit-tap-highlight-color:transparent
  }
  hr {
    height:0;
    color:inherit;
    border-top-width:1px
  }
  abbr:where([title]) {
    -webkit-text-decoration:underline dotted;
    text-decoration:underline dotted
  }
  h1,h2,h3,h4,h5,h6 {
    font-size:inherit;
    font-weight:inherit
  }
  a {
    color:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    text-decoration:inherit
  }
  b,strong {
    font-weight:bolder
  }
  code,kbd,samp,pre {
    font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings:var(--default-mono-font-feature-settings,normal);
    font-variation-settings:var(--default-mono-font-variation-settings,normal);
    font-size:1em
  }
  small {
    font-size:80%
  }
  sub,sup {
    vertical-align:baseline;
    font-size:75%;
    line-height:0;
    position:relative
  }
  sub {
    bottom:-.25em
  }
  sup {
    top:-.5em
  }
  table {
    text-indent:0;
    border-color:inherit;
    border-collapse:collapse
  }
  :-moz-focusring {
    outline:auto
  }
  progress {
    vertical-align:baseline
  }
  summary {
    display:list-item
  }
  ol,ul,menu {
    list-style:none
  }
  img,svg,video,canvas,audio,iframe,embed,object {
    display:block
  }
  img,video {
    max-width:100%;
    height:auto
  }
  button,input,select,optgroup,textarea {
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0
  }
  ::file-selector-button {
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0
  }
  :where(select:is([multiple],[size])) optgroup {
    font-weight:bolder
  }
  :where(select:is([multiple],[size])) optgroup option {
    padding-inline-start:20px
  }
  ::file-selector-button {
    margin-inline-end:4px
  }
  ::placeholder {
    opacity:1
  }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
    ::placeholder {
      color:currentColor
    }
    @supports (color:color-mix(in lab, red, red)) {
      ::placeholder {
        color:color-mix(in oklab, currentcolor 50%, transparent)
      }
          }
      }
  textarea {
    resize:vertical
  }
  ::-webkit-search-decoration {
    -webkit-appearance:none
  }
  ::-webkit-date-and-time-value {
    min-height:1lh;
    text-align:inherit
  }
  ::-webkit-datetime-edit {
    display:inline-flex
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding:0
  }
  ::-webkit-datetime-edit {
    padding-block:0
  }
  ::-webkit-datetime-edit-year-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-month-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-day-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-second-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block:0
  }
  ::-webkit-calendar-picker-indicator {
    line-height:1
  }
  :-moz-ui-invalid {
    box-shadow:none
  }
  button,input:where([type=button],[type=reset],[type=submit]) {
    -webkit-appearance:button;
    appearance:button
  }
  ::file-selector-button {
    -webkit-appearance:button;
    appearance:button
  }
  ::-webkit-inner-spin-button {
    height:auto
  }
  ::-webkit-outer-spin-button {
    height:auto
  }
  [hidden]:where(:not([hidden=until-found])) {
    display:none!important
  }
  }
@layer components;
@layer utilities {
  .relative {
    position:relative
  }
  .start {
    inset-inline-start:var(--spacing)
  }
  .table {
    display:table
  }
  }
:root {
  --black:#111514;
  --teal:#10b9af;
  --mint:#dff8f4;
  --white:#fff;
  --off:#f5f7f6;
  --gray:#66706e;
  --line:#d9e1df
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  color:var(--black);
  background:var(--white);
  margin:0;
  font-family:Noto Sans JP,sans-serif
}
a {
  color:inherit;
  text-decoration:none
}
h1,h2,h3,p {
  margin-top:0
}
img {
  max-width:100%;
  display:block
}
.topbar {
  z-index:30;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  background:0 0;
  border:0;
  align-items:center;
  height:72px;
  padding:0 7vw;
  display:flex;
  position:absolute;
  inset:0 0 auto
}
.brand {
  background:0 0;
  border-radius:0;
  justify-content:center;
  align-items:center;
  width:150px;
  height:56px;
  padding:0;
  display:flex
}
.brand img {
  object-fit:contain;
  width:100%;
  height:100%;
  display:block
}
.topCta {
  background:var(--black);
  color:#fff;
  align-items:center;
  gap:18px;
  padding:13px 20px;
  font-size:12px;
  font-weight:700;
  display:flex
}
.topCta span {
  color:var(--teal);
  font-size:16px
}
.fv {
  color:#fff;
  background:url(../img/firstview_sp.png) top/contain no-repeat;
  height:auto;
  min-height:auto;
}
.fvInner {
  flex-direction:column;
  justify-content:center;
  width:min(700px,58%);
  min-height:100vh;
  padding:6vw 4vw 5vw 7vw;
  display:flex
}
.date {
  letter-spacing:.14em;
  color:#7be2db;
  font:600 12px Montserrat,sans-serif
}
.location {
  margin:15px 0;
  font-size:13px
}
.fv h1 {
  letter-spacing:.02em;
  margin:0 0 20px;
  font:600 clamp(42px,5vw,72px)/1.35 Noto Serif JP,serif
}
.fv h1 em {
  color:#bdf6ef;
  font-style:normal
}
.fvText {
  color:#e5ecea;
  font:500 16px/2 Noto Serif JP,serif
}
.trial {
  border-block:1px solid #ffffff73;
  align-items:baseline;
  gap:16px;
  margin:22px 0 10px;
  padding:14px 0;
  display:flex
}
.trial span {
  font-weight:700
}
.trial del {
  font-size:12px
}
.trial strong {
  color:#65ddd4;
  margin-left:auto;
  font:700 58px Montserrat,sans-serif
}
.trial small {
  font:600 15px Noto Sans JP,sans-serif
}
.rental {
  font-size:13px;
  font-weight:700
}
.cta {
  background:var(--teal);
  color:#061312;
  align-items:center;
  min-height:64px;
  padding:0 24px;
  font-size:15px;
  font-weight:700;
  display:flex;
  box-shadow:0 12px 30px #0003
}
.cta b {
  border-right:1px solid #087f78;
  padding-right:16px;
  font:700 13px Montserrat,sans-serif
}
.cta span {
  text-align:center;
  flex:1
}
.cta i {
  font-size:20px;
  font-style:normal
}
.underCta {
  text-align:center;
  color:#ced7d5;
  margin-top:9px;
  display:block
}
.section {
  padding:100px 7vw
}
.sectionTitle {
  margin-bottom:52px;
  position:relative
}
.sectionTitle.withLead {
  margin-bottom:16px
}
.sectionTitle>span {
  color:#edf2f1;
  font:700 clamp(65px,9vw,130px)/1 Montserrat,sans-serif;
  position:absolute;
  top:0;
  right:0
}
.sectionTitle>p {
  letter-spacing:.16em;
  color:#168d86;
  font:600 12px Montserrat,sans-serif
}
.sectionTitle h2 {
  margin:10px 0 0;
  font:600 clamp(35px,4.6vw,64px)/1.45 Noto Serif JP,serif;
  position:relative
}
.sectionTitle.light>span {
  color:#ffffff12
}
.sectionTitle.light h2 {
  color:#fff
}
.sectionLead {
  color:#56615f;
  max-width:760px;
  margin:0 0 52px;
  font:500 clamp(17px,1.65vw,22px)/1.9 Noto Serif JP,serif
}
.worryList {
  border-top:1px solid var(--line);
  width:66%;
  margin-left:auto
}
.worryList p {
  border-bottom:1px solid var(--line);
  margin:0;
  padding:20px 10px;
  font-size:15px
}
.worryList p:before {
  content:"✓";
  background:var(--mint);
  color:#087e77;
  place-items:center;
  width:22px;
  height:22px;
  margin-right:14px;
  font-weight:700;
  display:inline-grid
}
.turn {
  background:var(--off);
  border:4px solid var(--teal);
  width:66%;
  margin:55px 0 0 auto;
  padding:28px 32px
}
.turn p {
  font-size:13px
}
.turn strong {
  font:600 24px/1.7 Noto Serif JP,serif
}
.dark {
  background:var(--black);
  color:#fff
}
.solution {
  grid-template-columns:1.1fr 1fr;
  gap:9vw;
  display:grid
}
.solutionBody {
  align-self:end
}
.solutionBody p {
  color:#cbd2d0;
  font-size:15px;
  line-height:2.15
}
.featureGrid {
  border:1px solid var(--line);
  grid-template-columns:repeat(4,1fr);
  display:grid
}
.featureGrid article {
  border-right:1px solid var(--line);
  min-height:300px;
  padding:30px
}
.featureGrid article:last-child {
  border:0
}
.featureGrid b {
  color:#12978f;
  font:700 8vw/1 Montserrat
}
.featureGrid h3 {
  margin:75px 0 18px;
  font:600 23px Noto Serif JP
}
.featureGrid p {
  color:var(--gray);
  font-size:13px;
  line-height:2
}
.method {
  background:var(--black);
  color:#fff;
  justify-content:center;
  align-items:center;
  gap:4vw;
  margin-top:60px;
  padding:35px;
  display:flex
}
.method span {
  text-align:center;
  font:600 22px Noto Serif JP
}
.method small {
  color:#66dcd4;
  letter-spacing:.12em;
  margin-top:8px;
  font:600 10px Montserrat;
  display:block
}
.method i {
  color:var(--teal);
  font-size:26px;
  font-style:normal
}
.campaign {
  isolation:isolate;
  color:#fff;
  background:radial-gradient(circle at 88% 8%,#c576344d 0,#0000 30%),radial-gradient(circle at 7% 94%,#e0a3482e 0,#0000 34%),linear-gradient(135deg,#07312e 0%,#12312c 58%,#342819 100%);
  position:relative;
  overflow:hidden
}
.campaign>:not(.campaignLeaves) {
  z-index:1;
  position:relative
}
.campaignLeaves {
  z-index:0;
  pointer-events:none;
  position:absolute;
  inset:0
}
.campaignLeaves i {
  opacity:.18;
  filter:saturate(.82)brightness(1.08);
  transform-origin:50%;
  background:url(../img/autumn-maple.png) 50%/contain no-repeat;
  width:160px;
  height:160px;
  display:block;
  position:absolute
}
.campaignLeaves i:first-child {
  top:4%;
  right:3%;
  transform:rotate(18deg)scale(1.05)
}
.campaignLeaves i:nth-child(2) {
  top:31%;
  left:-52px;
  transform:rotate(126deg)scale(.82)
}
.campaignLeaves i:nth-child(3) {
  top:53%;
  right:-42px;
  transform:rotate(-26deg)scale(.72)
}
.campaignLeaves i:nth-child(4) {
  bottom:1%;
  left:8%;
  transform:rotate(47deg)scale(.65)
}
.campaignLeaves i:nth-child(5) {
  bottom:-6%;
  right:22%;
  transform:rotate(154deg)scale(.48)
}
.campaign .sectionTitle>p {
  color:#e8b96f
}
.campaign .sectionTitle h2 {
  color:#fff3dc
}
.campaign .sectionLead {
  color:#e7ddd0
}
.perkGrid {
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  background:#0b24209e;
  border:1px solid #6f6148;
  grid-template-columns:repeat(5,1fr);
  display:grid
}
.perkGrid article {
  border-right:1px solid #6f6148;
  min-height:270px;
  padding:25px;
  box-shadow:inset 0 3px #d89a4699
}
.perkGrid article:last-child {
  border-right:0
}
.perkGrid b {
  color:#e7b35f;
  font:700 14px Montserrat
}
.perkGrid h3 {
  margin:65px 0 15px;
  font:600 19px/1.6 Noto Serif JP
}
.perkGrid p {
  color:#ddd9ce;
  font-size:12px;
  line-height:1.9
}
.campaignCta {
  text-align:center;
  max-width:650px;
  margin:42px auto 0
}
.campaignCta p {
  margin-top:12px;
  font-size:12px
}
.notes {
  color:#93aaa6;
  margin-top:28px;
  font-size:10px;
  line-height:1.9
}
.campaignCta .cta {
  color:#fff;
  background:linear-gradient(135deg,#945215 0%,#63371a 100%);
  border:1px solid #efbd7399;
  transition:filter .2s,transform .2s,box-shadow .2s;
  box-shadow:0 0 0 1px #efbd7329,0 0 26px #f0a84f66,0 14px 32px #180d0666
}
.campaignCta .cta b {
  color:#fff;
  border-right-color:#ffffff70
}
.campaignCta .cta i {
  color:#ffe8c7
}
.campaignCta .cta:hover {
  filter:brightness(1.12)saturate(1.04);
  transform:translateY(-2px);
  box-shadow:0 0 0 1px #ffd28d52,0 0 34px #f5b55f85,0 16px 36px #180d0670
}
.campaignCta .cta:focus-visible {
  outline-offset:4px;
  outline:3px solid #ffd69b
}
.resultCards {
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:clamp(22px,5vw,64px);
  width:min(820px,100%);
  margin-inline:auto;
  display:grid
}
.resultCards img {
  border:1px solid var(--line);
  background:#fff;
  width:100%;
  box-shadow:0 10px 40px #17302a13
}
.resultNotes {
  color:var(--gray)
}
.voiceIntro {
  border-top:1px solid var(--line);
  margin-top:72px;
  padding-top:52px
}
.voiceIntro>p {
  letter-spacing:.16em;
  color:var(--teal);
  font:600 11px Montserrat,sans-serif
}
.voiceIntro h3 {
  margin:8px 0;
  font:600 clamp(25px,3vw,40px)/1.45 Noto Serif JP,serif
}
.voiceLead {
  color:var(--gray);
  margin:0 0 28px;
  font:500 clamp(16px,1.5vw,20px)/1.8 Noto Serif JP,serif
}
.voiceCards {
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  display:grid
}
.voiceCards article {
  border:1px solid var(--line);
  background:#fff;
  padding:34px 28px 28px;
  position:relative
}
.voiceCards article>span {
  color:#d7eeeb;
  font:700 54px/1 Georgia,serif;
  position:absolute;
  top:10px;
  right:20px
}
.voiceCards p {
  color:#384441;
  margin:0 0 24px;
  font-size:14px;
  line-height:2;
  position:relative
}
.voiceCards b {
  border-top:1px solid var(--line);
  color:var(--teal);
  padding-top:17px;
  font-size:13px;
  display:block
}
.voiceAccordion {
  display:none
}
.voiceSource {
  color:var(--gray);
  margin:16px 0 0;
  font-size:10px;
  line-height:1.8
}
.plans {
  background:var(--off)
}
.planFocus {
  grid-template-columns:1fr 1fr;
  gap:22px;
  max-width:1000px;
  margin:auto;
  display:grid
}
.planFocus article {
  border:1px solid var(--line);
  background:#fff;
  padding:40px;
  position:relative
}
.planFocus .recommend {
  border:2px solid var(--teal)
}
.planFocus label {
  background:var(--black);
  color:#fff;
  padding:8px 18px;
  font-size:11px;
  font-weight:700;
  position:absolute;
  top:0;
  left:0
}
.planFocus .recommend label {
  background:var(--teal);
  color:#061312
}
.planFocus h3 {
  margin:20px 0;
  font:600 28px Noto Serif JP
}
.planFocus strong {
  font:700 39px Montserrat;
  font-size: 10vw;
}
.planFocus strong small {
  font:500 11px Noto Sans JP
}
.planFocus>article>p {
  color:var(--gray);
  font-size:12px
}
.planFocus ul {
  border-top:1px solid var(--line);
  margin:22px 0 0;
  padding:18px 0 0;
  list-style:none
}
.planFocus li {
  padding:5px;
  font-size:13px
}
.planFocus li:before {
  content:"✓";
  color:#0a9c93;
  margin-right:10px
}
.priceList {
  border-top:1px solid var(--line);
  max-width:1000px;
  margin:22px auto 0
}
.priceList>div {
  border-bottom:1px solid var(--line);
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  padding:20px;
  display:grid
}
.priceList strong {
  font:700 18px Montserrat
}
.priceList span {
  color:var(--gray);
  font-size:12px
}
.planCta {
  max-width:650px;
  margin:35px auto 0
}
.access {
  background:#fff
}
.accessBody {
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:7vw;
  display:grid
}
.accessLead {
  min-width:0
}
.accessLead>strong {
  margin:0 0 12px;
  font:600 clamp(20px,2.1vw,30px)/1.6 Noto Serif JP,serif;
  display:block
}
.mapEmbed {
  aspect-ratio:16/9;
  border:1px solid var(--line);
  background:var(--off);
  width:100%;
  margin-bottom:28px;
  overflow:hidden
}
.mapEmbed iframe {
  border:0;
  width:100%;
  height:100%;
  display:block
}
.accessInfo {
  border-top:1px solid var(--line);
  width:100%;
  margin:0
}
.accessInfo>div {
  border-bottom:1px solid var(--line);
  grid-template-columns:110px 1fr;
  padding:22px 8px;
  display:grid
}
.accessInfo dt {
  color:var(--gray);
  font-size:.875rem;
  font-weight:700
}
.accessInfo dd {
  margin:0;
  font-size:1rem;
  line-height:1.8
}
.accessInfo dd a {
  text-decoration:underline;
  -webkit-text-decoration-color:var(--teal);
  -webkit-text-decoration-color:var(--teal);
  -webkit-text-decoration-color:var(--teal);
  text-decoration-color:var(--teal);
  text-underline-offset:4px
}
.accessInfo dd .mapInlineButton {
  background:var(--black);
  color:#fff;
  align-items:center;
  gap:18px;
  width:max-content;
  margin-top:12px;
  padding:8px 14px;
  font-size:.8125rem;
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
  display:flex
}
.mapInlineButton span {
  color:#e7a65b
}
.accessInfo small {
  color:var(--gray);
  font-size:.875rem
}
.flow {
  grid-template-columns:1fr 1.2fr;
  gap:7vw;
  display:grid
}
.flowHeading {
  align-self:center
}
.flowHeading .sectionTitle {
  margin-bottom:24px
}
.flowLead {
  color:#dce4e2;
  border-top:1px solid #39413f;
  margin:0;
  padding-top:22px;
  font:600 clamp(20px,2vw,28px)/1.75 Noto Serif JP,serif
}
.steps {
  grid-template-columns:1fr 1fr;
  align-self:end;
  display:grid
}
.steps article {
  border-bottom:1px solid #39413f;
  border-right:1px solid #39413f;
  min-height:190px;
  padding:25px
}
.steps article:nth-child(2n) {
  border-right:0
}
.steps article:nth-child(n+3) {
  border-bottom:0
}
.steps b {
  color:#52d5cc;
  font:700 12px Montserrat
}
.steps h3 {
  margin:38px 0 12px;
  font:600 18px Noto Serif JP
}
.steps p {
  color:#b7c0be;
  font-size:12px;
  line-height:1.8
}
.faq .sectionTitle {
  text-align:center
}
.faqs {
  text-align:left;
  width:min(900px,100%);
  margin:0 auto;
}
.faqs details {
  border-top:1px solid var(--line);
  padding:22px 0
}
.faqs details:last-child {
  border-bottom:1px solid var(--line)
}
.faqs summary {
  cursor:pointer;
  font-size:14px;
  font-weight:700;
  text-indent: -1em;
  padding-left: 1em;
}
.faqs p {
  color:var(--gray);
  margin:0;
  padding:12px 20px 0;
  font-size:13px;
  line-height:1.9
}
.last {
  text-align:center;
  color:#fff;
  background:linear-gradient(#100c0ab8 0%,#160d09d4 58%,#130b08e8 100%),url(../img/last_backimg01.png) 50% 54%/cover no-repeat;
  padding:100px 7vw 120px
}
.last h2 {
  margin:24px 0 8px;
  font:600 clamp(40px,5vw,70px)/1.45 Noto Serif JP
}
.last>p {
  font-family:Noto Serif JP
}
.lastCatch {
  color:#bdf6ef;
  margin:0 0 18px;
  font-size:clamp(20px,2.2vw,30px);
  line-height:1.7
}
.lastTrial {
  border-block:1px solid #fff5;
  grid-template-columns:max-content max-content;
  justify-content:center;
  align-items:baseline;
  gap:5px 15px;
  max-width:600px;
  margin:35px auto 16px;
  padding:18px;
  display:grid
}
.lastTrial span {
  letter-spacing:.04em;
  grid-column:1/-1;
  font:800 clamp(1.75rem,3vw,2.5rem)/1.35 Noto Sans JP,sans-serif;
  font-size: 4vw;
}
.lastTrial del {
  font-size:11px
}
.lastTrial strong {
  color:#62ddd4;
  font:700 40px Montserrat
}
.last>.cta {
  max-width:600px;
  margin:auto
}
.fixedCta {
  z-index:50;
  position:fixed;
  bottom:clamp(18px,2.5vw,36px);
  right:clamp(18px,2.5vw,36px)
}
.fixedCta a {
  aspect-ratio:1;
  text-align:center;
  color:#2a160f;
  letter-spacing:.04em;
  background:linear-gradient(135deg,#efbc70,#cf7a31);
  border:3px solid #fff;
  border-radius:50%;
  justify-content:center;
  align-items:center;
  width:176px;
  font-size:1.25rem;
  font-weight:800;
  line-height:1.45;
  transition:color .2s,transform .2s,box-shadow .2s;
  display:flex;
  box-shadow:0 0 0 3px #ffffff24,0 12px 34px #4b2b1766
}
.fixedCta a:hover {
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 0 0 4px #ffffff35,0 16px 38px #4b2b177a
}
:root {
  font-size:100%
}
body {
  font-size:1rem;
  line-height:1.75
}
.brand small,.method small {
  font-size:.75rem
}
.sectionTitle>p,.voiceIntro>p,.planFocus label,.planFocus strong small,.lastTrial del {
  font-size:.8125rem
}
.topbar nav,.topCta,.date,.trial del,.cta b,.underCta,.perkGrid b,.campaignCta p,.steps b,.last address {
  font-size:.875rem
}
.location,.rental,.turn p,.featureGrid p,.voiceCards b,.planFocus li,.faqs p {
  font-size:.9375rem
}
.fvText,.trial span,.cta,.worryList p,.solutionBody p,.voiceCards p,.faqs summary {
  font-size:1rem
}
.perkGrid p,.priceList span,.steps p {
  font-size:.875rem
}
.notes,.voiceSource {
  font-size:.75rem
}
.campaign {
  color:#fff
}
.last address {
  color:#c4d0ce
}
.worries .sectionTitle {
  text-align:center
}
.worryList,.turn {
  width:min(820px,100%);
  margin-left:auto;
  margin-right:auto
}
.turn {
  text-align:center
}
.turn strong {
  display:block
}
.fvInner {
  width:min(860px,68%)
}
.fv h1 {
  white-space:nowrap;
  font-size:clamp(40px,4.5vw,64px)
}
.solution {
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:3.5vw;
  padding-bottom:0;
  display:grid;
  position:relative;
  overflow:hidden
}
.solutionCopy {
  max-width:720px;
  padding-bottom:100px
}
.solution .sectionTitle {
  text-align:left
}
.solution .sectionTitle.withLead {
  margin-bottom:12px
}
.solution .sectionTitle h2 {
  white-space:nowrap;
  font-size:clamp(31px,3.2vw,48px);
  line-height:1.55
}
.solution .sectionLead {
  margin-bottom:30px;
  font-size:clamp(16px,1.35vw,20px)
}
.solutionBody {
  flex-direction:column;
  gap:24px;
  display:flex
}
.solutionBody p {
  margin:0
}
.solutionLead {
  color:#cbd2d0;
  border-top:1px solid #39413f;
  padding-top:22px;
  font-size:1rem;
  line-height:2.1
}
.solutionPoints {
  border-top:1px solid #39413f;
  flex-direction:column;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  display:flex
}
.solutionPoints li {
  color:#fff;
  border-bottom:1px solid #39413f;
  padding:14px 12px 14px 38px;
  font-weight:600;
  position:relative
}
.solutionPoints li:before {
  content:"✓";
  color:#64dcd4;
  font-weight:700;
  position:absolute;
  left:10px
}
.solutionClose {
  color:#fff;
  font:600 20px/1.9 Noto Serif JP,serif
}
.solutionImage {
  justify-content:center;
  align-self:end;
  align-items:flex-end;
  display:flex
}
.solutionImage img {
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 22px 34px #0008);
  width:min(100%,610px);
  max-height:650px
}
.topbar {
  background:0 0
}
.topCta span {
  color:#e3a353
}
.date {
  color:#f2c173
}
.fv h1 em {
  color:#ffe0a3
}
.fvText {
  color:#f2ebe4
}
.trial strong {
  color:#efaa5c
}
.cta {
  color:#2a160f;
  background:linear-gradient(135deg,#efbc70 0%,#cf7a31 100%);
  border:1px solid #f6d39f;
  box-shadow:0 0 22px #e99b4738,0 12px 30px #2112073d
}
.cta:hover {
  color:#fff
}
.cta b {
  border-right-color:#98511e
}
.underCta {
  color:#ded2c6
}
.sectionTitle>span {
  color:#f3ece5
}
.sectionTitle>p {
  color:#a85c23
}
.sectionTitle.light>p {
  color:#e7ae61
}
.sectionLead.lightLead {
  color:#d8cdc4
}
.worryList p:before {
  background:var(--mint);
  color:#9b531e
}
.turn {
  border-left-color:var(--teal)
}
.worries {
  color:#fff;
  background:#17100e
}
.worries .sectionTitle>p {
  color:#e7ae61
}
.worries .sectionTitle h2 {
  color:#fff
}
.worries .sectionTitle h2 em {
  color:#efaa5c;
  font-style:normal
}
.worries .worryList {
  border-top-color:#ffffff38
}
.worries .worryList p {
  color:#f5eee8;
  border-bottom-color:#ffffff38
}
.worries .worryList p:before {
  color:#fff;
  background:#c96e2e
}
.worries .turn {
  background:#ffffff0b;
  border-left-color:#e18b3e
}
.worries .turn p {
  color:#d9ccc2
}
.worries .turn strong {
  color:#fff
}
.worries .worryList {
  background:0 0;
  border:0;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  width:100%;
  margin:0;
  display:grid
}
.worries .worryList article {
  background:#ffffff05;
  border:1px solid #ffffff2b;
  flex-direction:column;
  grid-column:span 2;
  align-items:flex-start;
  padding:28px;
  display:flex
}
.worries .worryList article:nth-child(4) {
  grid-column:2/span 2
}
.worries .worryList article:nth-child(5) {
  grid-column:4/span 2
}
.worries .worryList article:last-child {
  border:1px solid #ffffff2b
}
.worries .worryList b {
  color:#ef9347;
  font:700 8vw/1 Montserrat,sans-serif
}
.worries .worryList h3 {
  color:#fff;
  margin:52px 0 16px;
  font:600 clamp(1.125rem,1.45vw,1.4rem)/1.55 Noto Serif JP,serif
}
.worries .worryList p {
  color:#cfc2b9;
  border:0;
  margin:0;
  padding:0;
  font-size:.9375rem;
  line-height:1.9
}
.worries .worryList p:before {
  content:none
}
.worries .turn {
  margin-top:48px
}
.solution {
  color:#17100e;
  background:#fffaf5
}
.solution .solutionLead {
  color:#5f554f;
  border-top-color:#d8cec6
}
.solution .solutionPoints {
  border-top-color:#d8cec6
}
.solution .solutionPoints li {
  color:#2d2521;
  border-bottom-color:#d8cec6
}
.solution .solutionPoints li:before {
  color:#c96e2e
}
.solution .solutionClose {
  color:#17100e
}
.solution .solutionImage {
  align-self:center;
  padding:40px 0 100px
}
.solution .solutionImage img {
  aspect-ratio:1;
  object-fit:cover;
  object-position:center;
  filter:drop-shadow(0 22px 34px #52301926);
  border-radius:20px;
  width:min(100%,560px);
  max-height:none
}
.featureGrid {
  border:0;
  grid-template-columns:1fr;
  gap:24px
}
.featureGrid article,.featureGrid article:last-child {
  background:#fff;
  border:1px solid #ded4cb;
  grid-template-columns:minmax(320px,48%) 1fr;
  min-height:360px;
  padding:0;
  display:grid;
  overflow:hidden
}
.featureGrid article:nth-child(2n) .featureVisual {
  order:2
}
.featureGrid article:nth-child(2n) .featureCopy {
  order:1
}
.featureVisual {
  background:#5f5147;
  align-items:flex-end;
  min-height:100%;
  padding:22px;
  display:flex;
  position:relative;
  overflow:hidden
}
.featureVisual:before {
  content:"";
  z-index:1;
  background:linear-gradient(#0000,#17100dcc);
  position:absolute;
  inset:45% 0 0
}
.featureVisual img {
  object-fit:cover;
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}
.featureVisual span {
  z-index:2;
  color:#fff;
  letter-spacing:.12em;
  text-shadow:0 1px 8px #000;
  font:700 .75rem Montserrat,sans-serif;
  position:relative
}
.featureCopy {
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(34px,5vw,70px);
  display:flex
}
.featureGrid .featureCopy>b {
  color:#b96625;
  letter-spacing:.08em;
  margin:0 0 14px;
  font:700 10vw/1 Montserrat,sans-serif;
  display:block
}
.featureGrid h3 {
  margin:0 0 22px;
  font-size:clamp(1.5rem,2.4vw,2.25rem);
  line-height:1.55
}
.featureGrid p {
  color:#655a52;
  max-width:650px;
  margin:0;
  font-size:1rem;
  line-height:2
}
.featurePlus {
  background:#fbf5ed;
  border:1px solid #dfd1c3;
  grid-template-columns:36% 1fr;
  width:min(920px,88%);
  min-height:220px;
  margin:30px auto 0;
  display:grid;
  overflow:hidden
}
.featurePlusImage {
  background:#5f5147;
  min-height:220px;
  position:relative;
  overflow:hidden
}
.featurePlusImage img {
  object-fit:cover;
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}
.featurePlusCopy {
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:28px 34px;
  display:flex
}
.featurePlusCopy>span {
  letter-spacing:.16em;
  color:#b96625;
  font:700 .75rem/1 Montserrat,sans-serif
}
.featurePlusCopy h3 {
  color:#2d2521;
  margin:12px 0;
  font:600 clamp(1.25rem,1.8vw,1.65rem)/1.6 Noto Serif JP,serif
}
.featurePlusCopy p {
  color:#655a52;
  margin:0;
  font-size:.9375rem;
  line-height:1.9
}
.features>.sectionLead {
  margin-bottom:30px
}
.supportRange {
  border-left:3px solid #c9782c;
  max-width:940px;
  margin:0 0 52px;
  padding:8px 0 8px 24px
}
.supportRange h3 {
  color:#2d2521;
  margin:0 0 12px;
  font:600 clamp(1.5rem,2.5vw,2.15rem)/1.6 Noto Serif JP,serif
}
.supportRange p {
  color:#655a52;
  max-width:880px;
  margin:0;
  font-size:1rem;
  line-height:2
}
.features .method {
  color:#75685f;
  background:0 0;
  border-top:1px solid #e4d8cc;
  border-bottom:1px solid #e4d8cc;
  gap:2.2vw;
  margin-top:32px;
  padding:18px 0
}
.features .method span {
  color:#75685f;
  font-size:1rem
}
.features .method small {
  color:#9b8b7f;
  margin-top:4px;
  font-size:6vw;
}
.features .method i {
  color:#c98244;
  font-size:1.25rem
}
.solutionBody p,.solutionLead {
  color:#d4cbc4
}
.solutionLead,.solutionPoints,.solutionPoints li {
  border-color:#4b3a30
}
.solutionPoints li:before {
  color:#e8a85a
}
.featureGrid b {
  color:#b96625
}
.method small,.method i {
  color:#e1a050
}
.campaign {
  background:radial-gradient(circle at 88% 8%,#d28b3b4f 0,#0000 30%),radial-gradient(circle at 7% 94%,#e5b05a35 0,#0000 34%),linear-gradient(135deg,#2b1c12 0%,#3b2517 58%,#59341d 100%)
}
.perkGrid {
  background:#24150fc7;
  border-color:#7a593b
}
.perkGrid article {
  border-right-color:#7a593b
}
.perkGrid p {
  color:#ded3c7
}
.notes {
  color:#b9a898
}
.resultCards img {
  box-shadow:0 10px 40px #4b2b1717
}
.voiceCards article>span {
  color:#f0dfca
}
.voiceCards p {
  color:#463b34
}
.planFocus .recommend label {
  color:#2a160f
}
.flowLead,.steps article,.solutionLead,.solutionPoints,.solutionPoints li {
  border-color:#4b3a30
}
.flowLead {
  color:#e2d8cf
}
.steps b {
  color:#e4a653
}
.steps p {
  color:#cfc3b9
}

.lastCatch {
  color:#ffe0a3
}
.lastTrial strong {
  color:#efaa5c
}
.planFocus {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1180px
}
.priceList {
  max-width:1180px
}
.planFocus .trialPlan {
  background:linear-gradient(145deg,#fffaf3 0%,#fff0d9 100%);
  border:2px solid #d38a3b;
  box-shadow:0 14px 35px #7a42131a
}
.planFocus .trialPlan label {
  color:#fff;
  background:#8d4a17
}
.planFocus .trialPlan ul {
  border-top:0;
  padding-top:0
}
.trialOfferPrice {
  border-block:1px solid #d7a76e80;
  flex-direction:column;
  align-items:center;
  gap:7px;
  margin:0 0 12px;
  padding:14px 0 12px;
  display:flex
}
.trialOfferPrice del {
  color:#8a7668;
  font-size:.9375rem
}
.trialOfferPrice strong {
  color:#8d430e;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.035em;
  white-space:nowrap;
  text-shadow:0 5px 20px #d6802d26;
  font-size:clamp(3.75rem,5vw,4.5rem);
  line-height:1
}
.trialOfferPrice strong small {
  letter-spacing:0;
  vertical-align:baseline;
  margin-left:8px;
  font-size:1.125rem;
  display:inline-block
}
.fv .cta {
  letter-spacing:.04em;
  width:100%;
  min-height:80px;
  padding:0 30px;
  font-size:1.25rem;
  box-shadow:0 0 28px #e99b4752,0 16px 38px #120a055c
}
.fv .cta span {
  font-weight:700
}
.fv .cta i {
  font-size:1.5rem
}
.heroEyebrow {
  color:#fff;
  letter-spacing:.05em;
  border-left:3px solid #efaa5c;
  margin:6px 0 10px;
  padding-left:15px;
  font:600 clamp(1.05rem,1.5vw,1.35rem)/1.5 Noto Serif JP,serif
}
.fv h1 {
  text-shadow:0 5px 26px #0008;
  font-size:clamp(3.25rem,5.8vw,5rem);
  line-height:1.25
}
.date {
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
  background:#24140eb8;
  border:1px solid #efaa5c99;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:fit-content;
  margin:0 0 22px;
  padding:13px 18px 15px;
  line-height:1.5;
  display:flex;
  box-shadow:0 12px 32px #0005,inset 0 0 24px #dc81231a
}
.date span {
  letter-spacing:.09em;
  color:#f4c785;
  font-family:Noto Sans JP,sans-serif;
  font-weight:700
}
.date .campaignPeriod {
  white-space:nowrap;
  letter-spacing:0;
  color:#fff;
  align-items:baseline;
  gap:8px;
  font-family:Montserrat,sans-serif;
  display:flex
}
.campaignPeriod small {
  color:#e4d5c9;
  font-size:.8125rem
}
.campaignPeriod em {
  letter-spacing:-.03em;
  color:#ffd083;
  text-shadow:0 0 20px #efaa5c66;
  font-size:clamp(2rem,3vw,2.75rem);
  font-style:normal;
  line-height:.95
}
.campaignPeriod i {
  color:#f4e8dd;
  font-size:1.35rem;
  font-style:normal
}
.fv h1 .autumnWord {
  color:#ee563c;
  text-shadow:0 0 18px #d7352770,0 4px 18px #0007
}
.fv .trial {
  color:#fff;
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  background:linear-gradient(110deg,#16100ddd,#26170fc4);
  border:1px solid #ffffffa6;
  grid-template-columns:108px minmax(0,1fr);
  align-items:center;
  gap:16px;
  width:min(100%,650px);
  margin:28px 0 0;
  padding:16px 20px;
  display:grid;
  position:relative;
  overflow:hidden;
  box-shadow:0 12px 32px #12090545
}
.fv .trial:before {
  content:"";
  pointer-events:none;
  background:linear-gradient(90deg,#ffffff09,#0000 45%,#dc7b3120);
  position:absolute;
  inset:0
}
.trialLabel,.trialOffer {
  z-index:1;
  position:relative
}
.fv .trialLabel {
  color:#fff;
  text-shadow:0 3px 14px #160b057a;
  border-right:1px solid #ffffffa6;
  flex-direction:column;
  justify-content:center;
  align-self:stretch;
  padding-right:16px;
  display:flex
}
.fv .trialLabel small {
  letter-spacing:.08em;
  font-weight:700
}
.fv .trialLabel b {
  letter-spacing:.03em;
  margin-top:2px;
  font:800 1.3rem/1.35 Noto Sans JP,sans-serif
}
.trialOffer {
  justify-content:flex-start;
  align-items:baseline;
  gap:10px;
  display:flex
}
.trialOffer>p {
  letter-spacing:-.04em;
  white-space:nowrap;
  text-shadow:0 4px 16px #160b057a;
  margin:0;
  font:800 1.9rem/1.15 Noto Sans JP,sans-serif
}
.trialPrice {
  white-space:nowrap;
  align-items:baseline;
  gap:5px;
  display:flex
}
.fv .trialPrice del {
  color:#d5c8bd;
  font-size: 5vw;
  text-decoration-color:#efaa5c;
  text-decoration-thickness:2px
}
.fv .trialPrice i {
  color:#f2c173;
  font-size:.875rem;
  font-style:normal;
  font-weight:700
}
.fv .trialPrice strong {
  color:#f18b46;
  letter-spacing:-.045em;
  white-space:nowrap;
  text-shadow:0 5px 18px #160b0566;
  margin:0;
  font:700 3rem/.95 Montserrat,sans-serif
}
.fv .trialPrice strong small {
  color:#fff;
  letter-spacing:0;
  margin-left:3px;
  font:700 .8125rem Noto Sans JP,sans-serif
}
.fv .cta {
  border-radius:14px;
  width:min(100%,520px);
  overflow:hidden
}
.perkGrid {
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  background:0 0;
  border:0;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px;
  max-width:1180px;
  margin:0 auto;
  display:grid
}
.perkGrid article,.perkGrid article:last-child {
  background:linear-gradient(#352116 0%,#24140e 100%);
  border:1px solid #8d6543;
  flex-direction:column;
  grid-column:span 2;
  min-height:0;
  padding:0;
  display:flex;
  overflow:hidden;
  box-shadow:0 18px 38px #13090542
}
.perkGrid article:nth-child(4) {
  grid-column:2/span 2
}
.perkGrid article:nth-child(5) {
  grid-column:4/span 2
}
.perkVisual {
  aspect-ratio:16/10;
  background:#f4eadc;
  position:relative;
  overflow:hidden
}
.perkVisual:after {
  content:"";
  pointer-events:none;
  background:linear-gradient(#0000,#1c100b73);
  height:34%;
  position:absolute;
  inset:auto 0 0
}
.perkVisual img {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block
}
.perkGrid article:nth-child(2) .perkVisual img {
  object-fit:contain;
  background:#fff;
  padding:10px
}
.perkGrid article:nth-child(3) .perkVisual img {
  object-position:70% center
}
.perkVisual b {
  z-index:1;
  color:#fff;
  letter-spacing:.04em;
  background:#a45222;
  border-radius:50%;
  place-items:center;
  width:48px;
  height:48px;
  font:800 .875rem Montserrat,sans-serif;
  display:grid;
  position:absolute;
  top:14px;
  left:14px;
  box-shadow:0 6px 18px #1b0b0757
}
.perkCopy {
  flex-direction:column;
  flex:1;
  padding:25px 24px 28px;
  display:flex
}
.perkGrid h3 {
  color:#fff7ec;
  margin:0 0 10px;
  font:700 1.3rem/1.55 Noto Serif JP,serif
}
.perkGrid p {
  color:#ded3c7;
  margin:0;
  font-size:.9375rem;
  line-height:1.85
}

.campaign:after {
  content:none
}
.campaignLeaves i {
  opacity:.07
}
.trainers {
  background:#f4efe9
}
.trainerGrid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  width:min(1080px,100%);
  margin:0 auto;
  display:grid
}
.trainerGrid article {
  background:#fff;
  border:1px solid #ded2c7;
  overflow:hidden;
  box-shadow:0 16px 36px #4b2b1717
}
.trainerPhoto {
  aspect-ratio:4/5;
  background:#201813;
  position:relative;
  overflow:hidden
}
.trainerPhoto:after {
  content:"";
  pointer-events:none;
  background:linear-gradient(#0000,#1c120d66);
  height:28%;
  position:absolute;
  inset:auto 0 0
}
.trainerPhoto img {
  object-fit:cover;
  object-position:center top;
  width:100%;
  height:100%;
  display:block
}
.trainerCopy {
  padding:24px 24px 28px
}
.trainerCopy p {
  color:#b56227;
  letter-spacing:.14em;
  margin:0 0 6px;
  font:700 .75rem Montserrat,sans-serif
}
.trainerCopy h3 {
  color:#251a14;
  letter-spacing:.03em;
  margin:0 0 14px;
  font:700 clamp(1.35rem,2vw,1.75rem)/1.4 Noto Sans JP,sans-serif;
  font-size: 8vw;
}
.trainerCopy h3 small {
  color:#9b7254;
  letter-spacing:.12em;
  margin-top:4px;
  font:700 .75rem/1.4 Montserrat,sans-serif;
  display:block
}
.trainerMeta {
  color:#8d6549;
  letter-spacing:.04em;
  margin:-5px 0 15px;
  font-size:.75rem;
  font-weight:700;
  line-height:1.6;
  display:block
}
.trainerCopy span {
  color:#5f554e;
  white-space:pre-line;
  font-size:.9375rem;
  line-height:1.9;
  display:block
}
.trainers .sectionLead {
  text-align:left
}
.trainerPromise {
  color:#251811;
  text-align:center;
  letter-spacing:-.04em;
  white-space:nowrap;
  width:max-content;
  max-width:100%;
  margin:52px auto 44px;
  font:800 clamp(2rem,4.6vw,4.25rem)/1.35 Noto Sans JP,sans-serif
}
.trainerPromise em {
  color:#b75525;
  text-shadow:0 5px 18px #b7552524;
  font-style:normal
}
.fixedCta {
  transition:opacity .4s,transform .4s,visibility .4s
}
.fixedCta.isHidden {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(22px)scale(.94)
}
.fixedCta a {
  background:linear-gradient(145deg,#f4c878 0%,#d97930 100%);
  border:4px solid #fff;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:9px;
  width:218px;
  padding:22px;
  animation:4s ease-in-out infinite fixedCtaPulse;
  display:flex;
  position:relative;
  overflow:hidden;
  box-shadow:0 0 0 4px #d37b3552,0 18px 44px #3d1c0d7a
}
.fixedCtaBenefit {
  color:#6f3216;
  letter-spacing:.04em;
  white-space:nowrap;
  font-size:.875rem;
  font-weight:800;
  line-height:1.3;
  display:block
}
.fixedCtaAction {
  color:#2a160f;
  text-align:center;
  letter-spacing:.05em;
  text-shadow:0 1px #fff6;
  font-size:1.45rem;
  font-weight:900;
  line-height:1.35;
  display:block
}
@keyframes fixedCtaPulse {
  0%,76%,to {
    box-shadow:0 0 0 4px #279f565c,0 18px 44px #102b1c7a
  }
  84% {
    box-shadow:0 0 0 10px #61d98235,0 20px 48px #102b1c8a
  }
  }
.fv h1 .heroHeadline,.fv h1 .heroCampaignTitle {
  white-space:nowrap;
  display:block
}
.fv h1 .heroHeadline {
  color:#fff;
  font-size:clamp(2.5rem,4.1vw,4rem);
  line-height:1.35
}
.fv h1 .heroCampaignTitle {
  color:#ffe0a3;
  letter-spacing:0;
  margin-top:4px;
  font-size:clamp(2.2rem,3.5vw,3.45rem);
  line-height:1.4
}
.flowSimple {
  color:#251a14;
  background:#f7f1e8;
  display:block
}
.flowSimple .steps {
  background:#fffaf4;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%;
  display:grid
}
.flowSimple .steps article,.flowSimple{
  background:0 0;
  border: 1px solid #ddd1c3;
  min-height:240px;
  padding:34px 26px
}

.flowSimple .steps b {
  color:#bd5b25;
  font:800 .8125rem Montserrat,sans-serif;
  font-size: 8vw;
}
.flowSimple .steps h3 {
  color:#251a14;
  margin:48px 0 12px;
  font:700 clamp(1.15rem,1.6vw,1.4rem)/1.55 Noto Serif JP,serif
}
.flowSimple .steps p {
  color:#75665a;
  margin:0;
  font-size:.875rem;
  line-height:1.8
}
.faq .faqs {
  width:min(620px,100%)
}
.last>p.lastCatch {
  color:#fff;
  letter-spacing:-.045em;
  text-shadow:0 7px 34px #000d;
  margin:0 0 18px;
  font:900 2rem/1.35 Noto Sans JP,sans-serif
}
.last .lastImpact {
  color:#fff;
  letter-spacing:-.05em;
  text-shadow:0 6px 28px #000b;
  width:min(980px,100%);
  margin:30px auto 0;
  font:900 clamp(3.5rem,5vw,4rem)/1.28 Noto Sans JP,sans-serif
}
.last .lastImpact:before {
  content:"";
  background:linear-gradient(90deg,#d65c31,#f2a24f);
  width:72px;
  height:2px;
  margin:0 auto 28px;
  display:block
}
.lastImpact em {
  color:#fff;
  font-style:normal;
  display:block
}
.last .lastTrial {
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  background:#170c08a8;
  border:1px solid #ffffff73;
  flex-direction:column;
  align-items:center;
  gap:8px;
  width:min(680px,100%);
  max-width:none;
  margin:36px auto 18px;
  padding:22px 28px;
  display:flex;
  box-shadow:0 14px 36px #0005
}
.lastTrial p {
  color:#fff;
  margin:0;
  font:700 clamp(1.15rem,2vw,1.55rem)/1.6 Noto Sans JP,sans-serif
}
.lastTrial p strong {
  color:#ffb965;
  white-space:nowrap;
  font:800 clamp(1.55rem,2.8vw,2.25rem)/1.35 Noto Sans JP,sans-serif
}
.lastTrial small {
  color:#eaded3;
  justify-content:center;
  align-items:center;
  gap:10px;
  font-size:.8125rem;
  display:flex
}
.lastTrial small span {
  color:inherit;
  grid-column:auto;
  display:inline
}
.lastTrial small span:before {
  content:"→";
  color:#efaa5c;
  margin-right:10px
}
.lastTrial small del {
  color:#cdbfb5;
  text-decoration-color:#efaa5c;
  text-decoration-thickness:2px
}
.trialDuration {
  color:#fff;
  text-align:center;
  background:#4a1e28;
  justify-content:center;
  align-items:center;
  gap:22px;
  width:100%;
  margin-top:30px;
  padding:20px 28px;
  display:flex
}
.trialDuration span {
  font-size:.875rem;
  font-weight:600;
  line-height:1.75
}
.trialDuration strong {
  color:#f0a85a;
  white-space:nowrap;
  font:800 clamp(1.8rem,3vw,2.5rem)/1.2 Noto Sans JP,sans-serif
}
:root {
  --black:#1b120e;
  --teal:#b65b25;
  --mint:#f5e4d3;
  --off:#f7f1e8;
  --gray:#655a52;
  --line:#ded2c6
}
.worries {
  background:#211613
}
.features {
  color:#251a14;
  background:#fff9f3
}
.results {
  color:#251a14;
  background:#fff
}
.trainers {
  color:#251a14;
  background:#f4efe9
}
.plans {
  color:#251a14;
  background:#fff
}
.flowSimple {
  color:#251a14;
  background:#f7f1e8
}
.faq {
  color:#251a14;
  background:#fff
}
.access {
  color:#251a14;
  background:#f7f1e8
}
.sectionTitle h2 {
  color:#251a14
}
.sectionLead {
  color:#655a52
}
.planFocus .recommend {
  border-color:#b65b25
}
.planFocus .recommend label {
  color:#fff7ec;
  background:#b65b25
}
.planFocus li:before,.voiceIntro>p,.voiceCards b {
  color:#b65b25
}
.accessInfo dd a {
  text-decoration-color:#b65b25
}
.mapEmbed {
  background:#f7f1e8
}
.trialDuration {
  background:#4a231b
}
.trialDuration strong {
  color:#f0a85a
}
.cta,.campaignCta .cta {
  color:#fff;
  background:linear-gradient(135deg,#42cf72 0%,#12b85a 48%,#087d3e 100%);
  border:1px solid #eff8e7;
  transition:filter .2s,transform .2s,box-shadow .2s,color .2s;
  box-shadow:0 0 0 1px #189f5040,0 0 24px #20b65a40,0 14px 32px #132a1c4d
}
.cta b,.campaignCta .cta b {
  color:#fff;
  border-right-color:#ffffff75
}
.cta span {
  color:#fff
}
.cta i,.campaignCta .cta i {
  color:#f2ffe9
}
.cta:hover,.campaignCta .cta:hover {
  color:#fff;
  filter:brightness(1.08)saturate(1.05);
  transform:translateY(-2px);
  box-shadow:0 0 0 2px #eef8e8,0 0 30px #20bd6066,0 16px 36px #132a1c5c
}
.cta:focus-visible {
  outline-offset:4px;
  outline:3px solid #a9e9b4
}
.campaignCta .cta:focus-visible {
  outline-offset:4px;
  outline:3px solid #a9e9b4
}
.fixedCta a {
  color:#fff;
  background:linear-gradient(145deg,#42cf72 0%,#12b85a 48%,#087d3e 100%);
  border-color:#f4f7e9;
  box-shadow:0 0 0 4px #279f565c,0 18px 44px #102b1c7a
}
.fixedCtaBenefit {
  color:#e9ffdf;
  text-shadow:0 1px 6px #07371d80
}
.fixedCtaAction {
  color:#fff;
  text-shadow:0 2px 8px #07371da3
}
.fixedCta a:hover {
  color:#fff;
  box-shadow:0 0 0 5px #eaf5e4,0 20px 48px #102b1c8a
}
.fixedCta a:hover .fixedCtaAction {
  color:#fff;
  text-shadow:0 2px 9px #07371db3
}
.fv .cta {
  box-shadow:0 0 0 1px #189f5040,0 0 28px #20b65a52,0 16px 38px #102b1c66
}
.fv .cta:hover {
  box-shadow:0 0 0 2px #eef8e8,0 0 32px #20bd6070,0 18px 42px #102b1c70
}
.fixedCta {
  opacity:1;
  visibility:visible;
  will-change:opacity,transform;
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),visibility linear
}
.fixedCta.isHidden {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s;
  transform:translateY(30px)scale(.92)
}
.referralBonus {
  text-align:center;
  background:#1d120dcc;
  border:1px solid #7a593b;
  width:min(920px,100%);
  margin:38px auto 0;
  padding:26px 30px 24px;
}
.referralBonusHead>span {
  letter-spacing:.16em;
  color:#e7b35f;
  font:700 .75rem Montserrat,sans-serif;
  display:block
}
.referralBonusHead h3 {
  color:#fff3dc;
  margin:6px 0 0;
  font:600 clamp(1.35rem,2.4vw,1.9rem)/1.4 Noto Serif JP,serif
}
.referralBonus>p {
  color:#e7ddd0;
  margin:12px 0 18px;
  font-size:.95rem;
  line-height:1.8
}
.referralProducts {
  grid-template-columns:repeat(1,1fr);
  gap:10px;
  margin:0 auto;
  display:grid
}
.referralProducts figure {
  position:relative;
  margin:0
}
.referralProducts img {
  aspect-ratio:1;
  object-fit:cover;
  background:#fff;
  width:100%;
  display:block
}
.recommendBadge {
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  background:#b85b32;
  color:#fff;
  font:700 .7rem/1 "Noto Sans JP",sans-serif;
  letter-spacing:.04em;
  box-shadow:0 3px 10px #0004
}
.referralProducts figcaption {
  letter-spacing:.06em;
  color:#f0d3ae;
  margin-top:7px;
  font:600 .8rem Montserrat,sans-serif
}
.referralBonus>small {
  color:#b9a898;
  margin-top:16px;
  font-size:.75rem;
  display:block
}
.referralProducts figcaption span,.referralProducts figcaption b {
  display:block
}
.referralProducts figcaption span {
  letter-spacing:.08em;
  color:#cdb89f;
  font:500 .62rem/1.4 Montserrat,sans-serif;
  font-size: 3.5vw;
}
.referralProducts figcaption b {
  letter-spacing:.06em;
  color:#f0d3ae;
  font:600 .8rem/1.4 Montserrat,sans-serif;
  font-size: 5vw;
}
.fv h1 .heroSeasonAccent {
  color:#d94b32;
  text-shadow:0 3px 18px #3b120d99
}
.fv h1,.fvText,.sectionTitle h2,.sectionLead,.worryList h3,.turn strong,.featureGrid h3,.perkGrid h3,.voiceIntro h3,.voiceLead,.planFocus h3,.accessLead>strong,.flowLead,.flowSimple .steps h3,.faqs summary,.last h2,.trainerPromise,.referralBonusHead h3 {
  font-family:Noto Sans JP,sans-serif!important
}
.lastImpact .seasonAccent {
  color:#d94b32
}
.lastImpact .yearAccent {
  color:#f29a4a
}
.featureGrid article.featurePlusCard {
  border:4px solid #b96625!important;
  background:linear-gradient(135deg,#fffaf4 0%,#f5e7d8 100%);
  box-sizing:border-box
}
.featurePlusCard .featureVisual {
  background:#5f5147
}
.featurePlusCard .featureCopy b {
  font-size:1.2rem;
  letter-spacing:.06em;
  color:#b96625
}
.fv h1 .heroTitleImage {
  display:block;
  width:100%;
  height:auto;
  max-width:720px
}
.voiceCards b,.voiceAccordion summary b {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  text-align:right;
  gap:14px
}
.genderIcon {
  box-sizing:border-box;
  width:36px;
  height:36px;
  padding:6px;
  border:2px solid #b65b25;
  border-radius:50%;
  background:#fff7ee;
  object-fit:contain;
  flex:none
}
.topbar {
  height:58px;
  padding:0 20px
}
.brand {
  width:116px;
  height:44px;
  padding:0
}
.topCta {
  gap:9px;
  margin:0;
  padding:10px 13px;
  font-size:11px;
  display:flex
}
.topCta span {
  font-size:14px
}

.fvInner {
  justify-content:flex-end;
  width:100%;
  min-height:100svh;
  padding:140px 20px 35px
}
.date {
  font-size:10px
}
.location {
  font-size:11px
}
.fv h1 {
  font-size:clamp(31px,9vw,42px)
}
.fvText {
  font-size:13px
}
.trial {
  gap:9px
}
.trial span {
  font-size:12px
}
.trial strong {
  font-size:40px
}
.cta {
  padding:0 15px;
  font-size:13px
}
.section {
  padding:70px 20px
}
.sectionTitle>span {
  font-size:74px
}
.sectionTitle h2 {
  font-size: 8vw;
}
.worryList,.turn,.faqs {
  width:100%;
  margin-left:0
}
.worryList p {
  font-size:13px
}
.turn strong {
  font-size:20px
}
.solution,.flow,.featureGrid,.perkGrid,.resultCards,.planFocus,.voiceCards {
  grid-template-columns:1fr
}
.featureGrid article {
  border:1px solid var(--line);
  min-height:auto
}
.perkGrid article {
  border-bottom-color:#32625e
}

.method {
  flex-direction:column;
  gap:18px
}
.method i {
  line-height:1
}
.resultCards {
  gap:16px
}
.voiceIntro {
  margin-top:52px;
  padding-top:38px
}
.voiceCards {
  gap:12px
}
.voiceCards article {
  padding:28px 22px 24px
}
.planFocus article {
  padding:36px 24px
}
.priceList>div {
  grid-template-columns:1fr 1fr
}
.priceList span {
  grid-column:1/-1;
  margin-top:7px
}
.steps {
  grid-template-columns:1fr
}


.last {
  padding:75px 20px 105px
}
.lastTrial {
  flex-wrap:wrap
}
.lastTrial small {
  width:100%
}
.fixedCta {
  right:14px;
  bottom:calc(14px + env(safe-area-inset-bottom))
}
.fixedCta a {
  width:148px;
  padding:0;
  font-size:1.125rem;
  box-shadow:0 0 0 3px #ffffff24,0 10px 28px #4b2b1766
}
body {
  font-size:1rem
}
.date,.underCta,.campaignCta p,.perkGrid p,.priceList span,.steps p,.last address {
  font-size:.875rem
}
.location,.rental,.voiceCards b,.planFocus li,.faqs p {
  font-size:.9375rem
}
.fvText,.trial span,.cta,.worryList p,.solutionBody p,.featureGrid p,.voiceCards p,.faqs summary {
  font-size:1rem
}
.fixedCta a {
  font-size:1.125rem
}
.notes,.voiceSource {
  font-size:.75rem;
  line-height:1.8
}
.turn p {
  font-size:.9375rem
}
.sectionTitle>p,.voiceIntro>p {
  font-size:.8125rem
}
.voiceCardsDesktop {
  display:none
}
.voiceAccordion {
  border-top:1px solid var(--line);
  display:block
}
.voiceAccordion details {
  border-bottom:1px solid var(--line);
  background:#fff
}
.voiceAccordion summary {
  cursor:pointer;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  min-height:68px;
  padding:16px 4px;
  list-style:none;
  display:flex
}
.voiceAccordion summary::-webkit-details-marker {
  display:none
}
.voiceAccordion summary b {
  color:#8d4a17;
  font-size:.9375rem
}
.voiceAccordion summary span {
  color:#b96525;
  place-items:center;
  width:32px;
  height:32px;
  font-size:.875rem;
  line-height:1;
  display:grid
}
.voiceAccordion summary span:after {
  content:"▼"
}
.voiceAccordion details[open] summary span:after {
  content:"▲"
}
.voiceAccordion details>div {
  border-top:1px solid #eee4da;
  padding:20px 4px 24px;
  position:relative
}
.voiceAccordion details>div i {
  color:#f0dfca;
  font:700 48px/1 Georgia,serif;
  position:absolute;
  top:12px;
  right:8px
}
.voiceAccordion details>div p {
  color:#463b34;
  margin:0;
  padding-right:24px;
  font-size:1rem;
  line-height:1.9;
  position:relative
}
.campaignLeaves i {
  opacity:.16;
  width:120px;
  height:120px
}
.campaignLeaves i:first-child {
  top:3%;
  right:-36px
}
.campaignLeaves i:nth-child(2) {
  top:31%;
  left:-58px
}
.campaignLeaves i:nth-child(3),.campaignLeaves i:nth-child(5) {
  display:none
}
.campaignLeaves i:nth-child(4) {
  bottom:2%;
  left:-28px
}
.perkGrid {
  -webkit-backdrop-filter:none;
  backdrop-filter:none
}
.accessBody {
  grid-template-columns:1fr;
  gap:42px
}
.accessLead>strong {
  font-size:1.125rem
}
.mapEmbed {
  aspect-ratio:4/3;
  margin-bottom:22px
}
.accessInfo>div {
  grid-template-columns:88px 1fr;
  padding:18px 4px
}
.accessInfo dt {
  font-size:.875rem
}
.accessInfo dd {
  font-size:1rem
}
.fvInner {
  width:100%
}
.fv h1 {
  letter-spacing:0;
  white-space:nowrap;
  font-size:clamp(23px,7.2vw,29px);
  line-height:1.45
}
.solution {
  padding-bottom:0;
  display:block
}
.solutionCopy {
  padding-bottom:22px
}
.solution .sectionTitle {
  text-align:left
}
.solution .sectionTitle.withLead {
  margin-bottom:10px
}
.solution .sectionTitle h2 {
  white-space:normal;
  font-size:clamp(27px,8vw,35px);
  line-height:1.55
}
.solution .sectionLead {
  margin-bottom:24px;
  font-size:1rem
}
.solutionBody {
  gap:20px
}
.solutionLead {
  padding-top:18px;
  line-height:1.95
}
.solutionPoints li {
  padding:13px 8px 13px 34px;
  font-size:.9375rem
}
.solutionPoints li:before {
  left:7px
}
.solutionClose {
  font-size:1.125rem;
  line-height:1.8
}
.solutionImage {
  margin:0 -34px
}
.solutionImage img {
  width:min(118%,560px);
  max-height:480px
}
.worries .worryList {
  grid-template-columns:1fr;
  gap:10px
}
.worries .worryList article,.worries .worryList article:nth-child(4),.worries .worryList article:nth-child(5) {
  border:1px solid #ffffff2b;
  grid-column:1;
  min-height:auto;
  padding:24px 22px
}
.worries .worryList article:last-child {
  border:1px solid #ffffff2b
}
.worries .worryList h3 {
  margin:28px 0 10px;
  font-size:1.25rem
}
.worries .worryList p {
  font-size:.9375rem
}
.worries .turn {
  text-align:left;
  margin-top:36px
}
.solution .solutionImage {
  margin:0;
  padding:12px 0 70px
}
.solution .solutionImage img {
  border-radius:16px;
  width:100%
}
.featureGrid {
  grid-template-columns:1fr;
  gap:16px
}
.featureGrid article,.featureGrid article:last-child {
  border:1px solid #ded4cb;
  grid-template-columns:1fr;
  min-height:0
}
.featureGrid article:nth-child(2n) .featureVisual,.featureGrid article:nth-child(2n) .featureCopy {
  order:initial
}
.featureVisual {
  aspect-ratio:16/10;
  min-height:0;
  padding:16px
}
.featureCopy {
  padding:28px 22px 32px
}
.featureGrid h3 {
  margin:0 0 14px;
  font-size:1.35rem
}
.featureGrid p {
  font-size:1rem;
  line-height:1.9
}
.featurePlus {
  grid-template-columns:1fr;
  width:100%;
  margin-top:18px
}
.featurePlusImage {
  aspect-ratio:16/9;
  min-height:0
}
.featurePlusCopy {
  padding:24px 22px 28px
}
.featurePlusCopy h3 {
  font-size:1.2rem
}
.featurePlusCopy p {
  font-size:.9375rem
}
.features>.sectionLead {
  margin-bottom:24px
}
.supportRange {
  margin-bottom:38px;
  padding-left:18px
}
.supportRange h3 {
  font-size:1.35rem
}
.supportRange p {
  font-size:1rem;
  line-height:1.9
}
.features .method {
  gap:12px;
  margin-top:24px;
  padding-top:18px
}
.features .method span {
  font-size: 10vw;
}
.features .method i {
  font-size: 8vw;
}

.perkGrid article {
  border-bottom-color:#765238
}
.fixedCta a {
  color:#2a160f;
  background:linear-gradient(135deg,#efbc70,#cf7a31);
  box-shadow:0 0 0 3px #ffffff24,0 10px 28px #4b2b1766
}
.fixedCta a:hover {
  color:#fff
}
.planFocus {
  grid-template-columns:1fr;
  max-width:720px
}
.fv .cta {
  min-height:72px;
  padding:0 22px;
  font-size:1.125rem
}
.fv .cta i {
  font-size:1.35rem
}
.heroEyebrow {
  margin:4px 0 8px;
  padding-left:11px;
  font-size:1rem
}
.fv h1 {
  font-size:clamp(2.25rem,11vw,3rem);
  line-height:1.28
}
.date {
  gap:5px;
  margin-bottom:18px;
  padding:11px 13px 13px
}
.date span {
  font-size:.75rem
}
.date .campaignPeriod {
  gap:5px
}
.campaignPeriod small {
  font-size:.7rem
}
.campaignPeriod em {
  font-size:2.15rem
}
.campaignPeriod i {
  font-size:1rem
}
.fv .trial {
  grid-template-columns:104px minmax(0,1fr);
  gap:14px;
  width:min(100%,580px);
  padding:15px 18px
}
.fv .trialLabel {
  padding-right:14px
}
.trialOffer {
  grid-template-columns:1fr;
  gap:2px;
  display:grid
}
.trialOffer>p {
  font-size:1.75rem
}
.trialPrice {
  justify-content:flex-start
}
.fv .trialPrice strong {
  font-size:2.8rem
}
.fv .trial {
  grid-template-columns:1fr;
  gap:12px;
  width:100%;
  margin-top:24px;
  padding:16px clamp(14px,4.5vw,20px)
}
.fv .trialLabel {
  border-bottom:1px solid #ffffff80;
  border-right:0;
  flex-direction:row;
  justify-content:flex-start;
  align-self:auto;
  align-items:baseline;
  gap:8px;
  padding:0 0 10px
}
.fv .trialLabel b {
  margin:0;
  font-size:1.35rem
}
.trialOffer {
  width:100%;
  display:block
}
.trialOffer>p {
  letter-spacing:-.055em;
  width:100%;
  margin:0 0 4px;
  font-size:clamp(1.8rem,8.5vw,2.3rem)
}
.trialPrice {
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:baseline;
  gap:clamp(5px,1.8vw,9px);
  width:100%;
  display:grid
}

.fv .trialPrice i {
  font-size:clamp(1rem,4.2vw,1.2rem)
}
.fv .trialPrice strong {
  justify-self:end;
  font-size:clamp(3.25rem,15vw,4rem)
}
.fv .trialPrice strong small {
  margin-left:3px;
  font-size:clamp(.875rem,3.8vw,1rem)
}
.perkGrid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.perkGrid article,.perkGrid article:nth-child(4),.perkGrid article:nth-child(5) {
  grid-column:auto
}
.perkGrid article:last-child {
  grid-column:1/-1;
  justify-self:center;
  width:calc(50% - 11px)
}
.perkGrid {
  grid-template-columns:1fr;
  gap:16px
}
.perkGrid article,.perkGrid article:nth-child(4),.perkGrid article:nth-child(5),.perkGrid article:last-child {
  grid-column:1;
  width:100%
}
.perkVisual {
  aspect-ratio:16/9
}
.perkCopy {
  padding:22px 20px 24px
}
.perkGrid h3 {
  font-size:1.25rem
}
.perkGrid p {
  font-size:.9375rem
}
.campaignLeaves i {
  opacity:.05
}
.trainerGrid {
  grid-template-columns:1fr;
  gap:16px;
  width:min(520px,100%)
}
.trainerCopy {
  padding:22px 20px 25px
}
.trainers .sectionLead {
  text-align:left
}
.trainerPromise {
  text-align:left;
  white-space:normal;
  width:100%;
  margin:38px 0 30px;
  font-size:clamp(1.75rem,8vw,2.6rem);
  line-height:1.5
}
.fixedCta a {
  gap:7px;
  width:180px;
  padding:18px
}
.fixedCtaBenefit {
  font-size:.75rem
}
.fixedCtaAction {
  font-size:1.2rem
}
.fvInner {
  justify-content:flex-start;
  height:auto;
  min-height:auto;
  padding:92px 20px 44px
}
.fv h1 .heroHeadline {
  font-size:clamp(1.4rem,7vw,2rem)
}
.fv h1 .heroCampaignTitle {
  margin-top:3px;
  font-size:clamp(1rem,5.2vw,1.55rem)
}
.flowSimple .steps {
  scroll-snap-type:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:visible
}


.flowSimple .steps h3 {
  margin-top:32px;
  font-size:clamp(1rem,4.8vw,1.25rem)
}
.last {
  background-position:50%
}
.last>p.lastCatch {
  font-size:clamp(1.6rem,8vw,2rem);
  line-height:1.35
}
.last .lastImpact {
  margin-top:26px;
  font-size:clamp(2.1rem,9vw,3rem);
  line-height:1.35
}
.last .lastImpact:before {
  width:56px;
  margin-bottom:22px
}
.last .lastTrial {
  margin-top:28px;
  padding:20px 16px
}
.lastTrial p strong {
  display:block
}
.lastTrial small {
  gap:7px;
  font-size:.75rem
}
.lastTrial small span:before {
  margin-right:7px
}
.trialDuration {
  flex-direction:column;
  gap:4px;
  margin-top:20px;
  padding:17px 14px
}
.trialDuration span {
  font-size:.8125rem;
  line-height:1.65
}
.trialDuration strong {
  font-size:2rem
}
.fixedCta a {
  color:#fff;
  background:linear-gradient(145deg,#42cf72 0%,#12b85a 48%,#087d3e 100%);
  border-color:#f4f7e9;
  box-shadow:0 0 0 4px #279f565c,0 14px 34px #102b1c75
}
.fixedCta a:hover {
  color:#fff
}
.fixedCta {
  right:clamp(10px,3.2vw,16px);
  bottom:calc(clamp(10px,3.2vw,16px) + env(safe-area-inset-bottom))
}
.fixedCta a {
  border-width:3px;
  gap:clamp(2px,.8vw,4px);
  width:clamp(100px,30vw,132px);
  padding:clamp(8px,2.4vw,11px);
  box-shadow:0 0 0 3px #279f5652,0 10px 25px #102b1c70
}
.fixedCtaBenefit {
  letter-spacing:0;
  white-space:normal;
  max-width:100%;
  font-size:clamp(.6rem,2.6vw,.7rem);
  line-height:1.2
}
.fixedCtaAction {
  letter-spacing:.025em;
  font-size:clamp(.82rem,3.7vw,1rem);
  line-height:1.3
}
.referralBonus {
  margin-top:24px;
  padding:22px 18px 20px
}
.referralBonus>p {
  font-size:.9rem
}
.referralProducts figcaption {
  font-size:.7rem
}

.fvInner {
  padding-top:85vw
}
.featurePlusCard .featureCopy b {
  font-size:8vw
}
.referralBreak {
  display:none
}
.referralBonus>p {
  text-align:left
}
.genderIcon {
  width:33px;
  height:33px;
  padding:5px
}
.fv {
  background-size:100%;
  background-color:#000
}
.voiceAccordion summary span::after {
  content:none!important;
  display:none!important
}
.voiceAccordion summary>span {
  display:none
}
.voiceAccordion summary span {
  width:auto;
  height:auto
}
.voiceAccordion summary b>span {
  display:inline
}
.voiceAccordion summary>span {
  display:grid;
  width:32px;
  height:32px;
  color:#b65b25;
  place-items:center;
  flex:none
}
.voiceAccordion summary>span::after {
  content:"▼"!important;
  display:block!important
}
.voiceAccordion details[open] summary>span::after {
  content:"▲"!important
}
@media (prefers-reduced-motion:reduce) {
  .fixedCta {
    transition:none
  }
  .fixedCta a {
    animation:none
  }
  }
@media (prefers-reduced-motion:reduce) {
  .fixedCta,.fixedCta.isHidden {
    transition:none
  }
  }
/* ===== PC（1025px〜） ===== */@media screen and (min-width: 1025px) {
  @layer theme {
    :root,:host {
      --font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
      --font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      --spacing:.25rem;
      --default-font-family:var(--font-sans);
      --default-mono-font-family:var(--font-mono)
    }
      }
  @layer base {
    *,:after,:before {
      box-sizing:border-box;
      border:0 solid;
      margin:0;
      padding:0
    }
    ::backdrop {
      box-sizing:border-box;
      border:0 solid;
      margin:0;
      padding:0
    }
    ::file-selector-button {
      box-sizing:border-box;
      border:0 solid;
      margin:0;
      padding:0
    }
    html,:host {
      -webkit-text-size-adjust:100%;
      tab-size:4;
      line-height:1.5;
      font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
      font-feature-settings:var(--default-font-feature-settings,normal);
      font-variation-settings:var(--default-font-variation-settings,normal);
      -webkit-tap-highlight-color:transparent
    }
    hr {
      height:0;
      color:inherit;
      border-top-width:1px
    }
    abbr:where([title]) {
      -webkit-text-decoration:underline dotted;
      text-decoration:underline dotted
    }
    h1,h2,h3,h4,h5,h6 {
      font-size:inherit;
      font-weight:inherit
    }
    a {
      color:inherit;
      -webkit-text-decoration:inherit;
      -webkit-text-decoration:inherit;
      -webkit-text-decoration:inherit;
      -webkit-text-decoration:inherit;
      text-decoration:inherit
    }
    b,strong {
      font-weight:bolder
    }
    code,kbd,samp,pre {
      font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
      font-feature-settings:var(--default-mono-font-feature-settings,normal);
      font-variation-settings:var(--default-mono-font-variation-settings,normal);
      font-size:1em
    }
    small {
      font-size:80%
    }
    sub,sup {
      vertical-align:baseline;
      font-size:75%;
      line-height:0;
      position:relative
    }
    sub {
      bottom:-.25em
    }
    sup {
      top:-.5em
    }
    table {
      text-indent:0;
      border-color:inherit;
      border-collapse:collapse
    }
    :-moz-focusring {
      outline:auto
    }
    progress {
      vertical-align:baseline
    }
    summary {
      display:list-item
    }
    ol,ul,menu {
      list-style:none
    }
    img,svg,video,canvas,audio,iframe,embed,object {
      display:block
    }
    img,video {
      max-width:100%;
      height:auto
    }
    button,input,select,optgroup,textarea {
      font-feature-settings:inherit;
      font-variation-settings:inherit;
      letter-spacing:inherit;
      color:inherit;
      opacity:1;
      background-color:#0000;
      border-radius:0
    }
    ::file-selector-button {
      font-feature-settings:inherit;
      font-variation-settings:inherit;
      letter-spacing:inherit;
      color:inherit;
      opacity:1;
      background-color:#0000;
      border-radius:0
    }
    :where(select:is([multiple],[size])) optgroup {
      font-weight:bolder
    }
    :where(select:is([multiple],[size])) optgroup option {
      padding-inline-start:20px
    }
    ::file-selector-button {
      margin-inline-end:4px
    }
    ::placeholder {
      opacity:1
    }
    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
      ::placeholder {
        color:currentColor
      }
      @supports (color:color-mix(in lab, red, red)) {
        ::placeholder {
          color:color-mix(in oklab, currentcolor 50%, transparent)
        }
              }
          }
    textarea {
      resize:vertical
    }
    ::-webkit-search-decoration {
      -webkit-appearance:none
    }
    ::-webkit-date-and-time-value {
      min-height:1lh;
      text-align:inherit
    }
    ::-webkit-datetime-edit {
      display:inline-flex
    }
    ::-webkit-datetime-edit-fields-wrapper {
      padding:0
    }
    ::-webkit-datetime-edit {
      padding-block:0
    }
    ::-webkit-datetime-edit-year-field {
      padding-block:0
    }
    ::-webkit-datetime-edit-month-field {
      padding-block:0
    }
    ::-webkit-datetime-edit-day-field {
      padding-block:0
    }
    ::-webkit-datetime-edit-hour-field {
      padding-block:0
    }
    ::-webkit-datetime-edit-minute-field {
      padding-block:0
    }
    ::-webkit-datetime-edit-second-field {
      padding-block:0
    }
    ::-webkit-datetime-edit-millisecond-field {
      padding-block:0
    }
    ::-webkit-datetime-edit-meridiem-field {
      padding-block:0
    }
    ::-webkit-calendar-picker-indicator {
      line-height:1
    }
    :-moz-ui-invalid {
      box-shadow:none
    }
    button,input:where([type=button],[type=reset],[type=submit]) {
      -webkit-appearance:button;
      appearance:button
    }
    ::file-selector-button {
      -webkit-appearance:button;
      appearance:button
    }
    ::-webkit-inner-spin-button {
      height:auto
    }
    ::-webkit-outer-spin-button {
      height:auto
    }
    [hidden]:where(:not([hidden=until-found])) {
      display:none!important
    }
      }
  @layer components;
  @layer utilities {
    .relative {
      position:relative
    }
    .start {
      inset-inline-start:var(--spacing)
    }
    .table {
      display:table
    }
      }
  :root {
    --black:#111514;
    --teal:#10b9af;
    --mint:#dff8f4;
    --white:#fff;
    --off:#f5f7f6;
    --gray:#66706e;
    --line:#d9e1df
  }
  * {
    box-sizing:border-box
  }
  html {
    scroll-behavior:smooth
  }
  body {
    color:var(--black);
    background:var(--white);
    margin:0;
    font-family:Noto Sans JP,sans-serif
  }
  a {
    color:inherit;
    text-decoration:none
  }
  h1,h2,h3,p {
    margin-top:0
  }
  img {
    max-width:100%;
    display:block
  }
  .topbar {
    z-index:30;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    background:0 0;
    border:0;
    align-items:center;
    height:72px;
    padding:0 7vw;
    display:flex;
    position:absolute;
    inset:0 0 auto
  }
  .brand {
    background:0 0;
    border-radius:0;
    justify-content:center;
    align-items:center;
    width:150px;
    height:56px;
    padding:0;
    display:flex
  }
  .brand img {
    object-fit:contain;
    width:100%;
    height:100%;
    display:block
  }
  .topCta {
    background:var(--black);
    color:#fff;
    align-items:center;
    gap:18px;
    padding:13px 20px;
    font-size:12px;
    font-weight:700;
    display:flex
  }
  .topCta span {
    color:var(--teal);
    font-size:16px
  }
  .fv {
    color:#fff;
    background:linear-gradient(90deg,#0a0d0de8 0%,#0a0d0dae 48%,#0a0d0d22 78%),url(../img/firstview.png) 50%/cover;
    min-height:100vh
  }
  .fvInner {
    flex-direction:column;
    justify-content:center;
    width:min(700px,58%);
    min-height:100vh;
    padding:6vw 4vw 5vw 7vw;
    display:flex
  }
  .date {
    letter-spacing:.14em;
    color:#7be2db;
    font:600 12px Montserrat,sans-serif
  }
  .location {
    margin:15px 0;
    font-size:13px
  }
  .fv h1 {
    letter-spacing:.02em;
    margin:0 0 20px;
    font:600 clamp(42px,5vw,72px)/1.35 Noto Serif JP,serif
  }
  .fv h1 em {
    color:#bdf6ef;
    font-style:normal
  }
  .fvText {
    color:#e5ecea;
    font:500 16px/2 Noto Serif JP,serif;
    font-size: clamp(1.125rem, 0.696rem + 0.67vw, 1.5rem);
  }
  .trial {
    border-block:1px solid #ffffff73;
    align-items:baseline;
    gap:16px;
    margin:22px 0 10px;
    padding:14px 0;
    display:flex
  }
  .trial span {
    font-weight:700
  }
  .trial del {
    font-size:12px
  }
  .trial strong {
    color:#65ddd4;
    margin-left:auto;
    font:700 58px Montserrat,sans-serif
  }
  .trial small {
    font:600 15px Noto Sans JP,sans-serif
  }
  .rental {
    font-size:13px;
    font-weight:700
  }
  .cta {
    background:var(--teal);
    color:#061312;
    align-items:center;
    min-height:64px;
    padding:0 24px;
    font-size:15px;
    font-weight:700;
    display:flex;
    box-shadow:0 12px 30px #0003
  }
  .cta b {
    border-right:1px solid #087f78;
    padding-right:16px;
    font:700 13px Montserrat,sans-serif
  }
  .cta span {
    text-align:center;
    flex:1
  }
  .cta i {
    font-size:20px;
    font-style:normal
  }
  .underCta {
    text-align:center;
    color:#ced7d5;
    margin-top:9px;
    display:block
  }
  .section {
    padding:100px 7vw
  }
  .sectionTitle {
    margin-bottom:52px;
    position:relative
  }
  .sectionTitle.withLead {
    margin-bottom:16px
  }
  .sectionTitle>span {
    color:#edf2f1;
    font:700 clamp(65px,9vw,130px)/1 Montserrat,sans-serif;
    position:absolute;
    top:0;
    right:0
  }
  .sectionTitle>p {
    letter-spacing:.16em;
    color:#168d86;
    font:600 12px Montserrat,sans-serif
  }
  .sectionTitle h2 {
    margin:10px 0 0;
    font:600 clamp(35px,4.6vw,64px)/1.45 Noto Serif JP,serif;
    position:relative
  }
  .sectionTitle.light>span {
    color:#ffffff12
  }
  .sectionTitle.light h2 {
    color:#fff
  }
  .sectionLead {
    color:#56615f;
    max-width:760px;
    margin:0 0 52px;
    font:500 clamp(17px,1.65vw,22px)/1.9 Noto Serif JP,serif
  }
  .worryList {
    border-top:1px solid var(--line);
    width:66%;
    margin-left:auto
  }
  .worryList p {
    border-bottom:1px solid var(--line);
    margin:0;
    padding:20px 10px;
    font-size:15px
  }
  .worryList p:before {
    content:"✓";
    background:var(--mint);
    color:#087e77;
    place-items:center;
    width:22px;
    height:22px;
    margin-right:14px;
    font-weight:700;
    display:inline-grid
  }
  .turn {
    background:var(--off);
    border-left:4px solid var(--teal);
    width:66%;
    margin:55px 0 0 auto;
    padding:28px 32px
  }
  .turn p {
    font-size:13px
  }
  .turn strong {
    font:600 24px/1.7 Noto Serif JP,serif
  }
  .dark {
    background:var(--black);
    color:#fff
  }
  .solution {
    grid-template-columns:1.1fr 1fr;
    gap:9vw;
    display:grid
  }
  .solutionBody {
    align-self:end
  }
  .solutionBody p {
    color:#cbd2d0;
    font-size:15px;
    line-height:2.15
  }
  .featureGrid {
    border:1px solid var(--line);
    grid-template-columns:repeat(4,1fr);
    display:grid
  }
  .featureGrid article {
    border-right:1px solid var(--line);
    min-height:300px;
    padding:30px
  }
  .featureGrid article:last-child {
    border:0
  }
  .featureGrid b {
    color:#12978f;
    font:700 13px Montserrat
  }
  .featureGrid h3 {
    margin:75px 0 18px;
    font:600 23px Noto Serif JP
  }
  .featureGrid p {
    color:var(--gray);
    font-size:13px;
    line-height:2
  }
  .method {
    background:var(--black);
    color:#fff;
    justify-content:center;
    align-items:center;
    gap:4vw;
    margin-top:60px;
    padding:35px;
    display:flex
  }
  .method span {
    text-align:center;
    font:600 22px Noto Serif JP
  }
  .method small {
    color:#66dcd4;
    letter-spacing:.12em;
    margin-top:8px;
    font:600 10px Montserrat;
    display:block
  }
  .method i {
    color:var(--teal);
    font-size:26px;
    font-style:normal
  }
  .campaign {
    isolation:isolate;
    color:#fff;
    background:radial-gradient(circle at 88% 8%,#c576344d 0,#0000 30%),radial-gradient(circle at 7% 94%,#e0a3482e 0,#0000 34%),linear-gradient(135deg,#07312e 0%,#12312c 58%,#342819 100%);
    position:relative;
    overflow:hidden
  }
  .campaign>:not(.campaignLeaves) {
    z-index:1;
    position:relative
  }
  .campaignLeaves {
    z-index:0;
    pointer-events:none;
    position:absolute;
    inset:0
  }
  .campaignLeaves i {
    opacity:0.5;
    filter:saturate(.82)brightness(1.08);
    transform-origin:50%;
    background:url(../img/autumn-maple.png) 50%/contain no-repeat;
    width:160px;
    height:160px;
    display:block;
    position:absolute
  }
  .campaignLeaves i:first-child {
    top:4%;
    right:3%;
    transform:rotate(18deg)scale(1.05)
  }
  .campaignLeaves i:nth-child(2) {
    top:31%;
    left:-52px;
    transform:rotate(126deg)scale(.82)
  }
  .campaignLeaves i:nth-child(3) {
    top:53%;
    right:-42px;
    transform:rotate(-26deg)scale(.72)
  }
  .campaignLeaves i:nth-child(4) {
    bottom:1%;
    left:8%;
    transform:rotate(47deg)scale(.65)
  }
  .campaignLeaves i:nth-child(5) {
    bottom:-6%;
    right:22%;
    transform:rotate(154deg)scale(.48)
  }
  .campaign .sectionTitle>p {
    color:#e8b96f
  }
  .campaign .sectionTitle h2 {
    color:#fff3dc
  }
  .campaign .sectionLead {
    color:#e7ddd0
  }
  .perkGrid {
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
    background:#0b24209e;
    border:1px solid #6f6148;
    grid-template-columns:repeat(5,1fr);
    display:grid
  }
  .perkGrid article {
    border-right:1px solid #6f6148;
    min-height:270px;
    padding:25px;
    box-shadow:inset 0 3px #d89a4699
  }
  .perkGrid article:last-child {
    border-right:0
  }
  .perkGrid b {
    color:#e7b35f;
    font:700 14px Montserrat
  }
  .perkGrid h3 {
    margin:65px 0 15px;
    font:600 19px/1.6 Noto Serif JP;
    font-size: clamp(1.25rem, 0.677rem + 0.89vw, 1.75rem);
    color: #fff7ec;
    margin: 0 0 10px;
  }
  .perkGrid p {
    color:#ddd9ce;
    font-size:12px;
    line-height:1.9
  }
  .campaignCta {
    text-align:center;
    max-width:650px;
    margin:42px auto 0
  }
  .campaignCta p {
    margin-top:12px;
    font-size:12px
  }
  .notes {
    color:#93aaa6;
    margin-top:28px;
    font-size:10px;
    line-height:1.9
  }
  .campaignCta .cta {
    color:#fff;
    background:linear-gradient(135deg,#945215 0%,#63371a 100%);
    border:1px solid #efbd7399;
    transition:filter .2s,transform .2s,box-shadow .2s;
    box-shadow:0 0 0 1px #efbd7329,0 0 26px #f0a84f66,0 14px 32px #180d0666
  }
  .campaignCta .cta b {
    color:#fff;
    border-right-color:#ffffff70
  }
  .campaignCta .cta i {
    color:#ffe8c7
  }
  .campaignCta .cta:hover {
    filter:brightness(1.12)saturate(1.04);
    transform:translateY(-2px);
    box-shadow:0 0 0 1px #ffd28d52,0 0 34px #f5b55f85,0 16px 36px #180d0670
  }
  .campaignCta .cta:focus-visible {
    outline-offset:4px;
    outline:3px solid #ffd69b
  }
  .resultCards {
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:clamp(22px,5vw,64px);
    width:min(820px,100%);
    margin-inline:auto;
    display:grid
  }
  .resultCards img {
    border:1px solid var(--line);
    background:#fff;
    width:100%;
    box-shadow:0 10px 40px #17302a13
  }
  .resultNotes {
    color:var(--gray)
  }
  .voiceIntro {
    border-top:1px solid var(--line);
    margin-top:72px;
    padding-top:52px
  }
  .voiceIntro>p {
    letter-spacing:.16em;
    color:var(--teal);
    font:600 11px Montserrat,sans-serif
  }
  .voiceIntro h3 {
    margin:8px 0;
    font:600 clamp(25px,3vw,40px)/1.45 Noto Serif JP,serif
  }
  .voiceLead {
    color:var(--gray);
    margin:0 0 28px;
    font:500 clamp(16px,1.5vw,20px)/1.8 Noto Serif JP,serif
  }
  .voiceCards {
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    display:grid
  }
  .voiceCards article {
    border:1px solid var(--line);
    background:#fff;
    padding:34px 28px 28px;
    position:relative
  }
  .voiceCards article>span {
    color:#d7eeeb;
    font:700 54px/1 Georgia,serif;
    position:absolute;
    top:10px;
    right:20px
  }
  .voiceCards p {
    color:#384441;
    margin:0 0 24px;
    font-size:14px;
    line-height:2;
    position:relative
  }
  .voiceCards b {
    border-top:1px solid var(--line);
    color:var(--teal);
    padding-top:17px;
    font-size:13px;
    display:block
  }
  .voiceAccordion {
    display:none
  }
  .voiceSource {
    color:var(--gray);
    margin:16px 0 0;
    font-size:10px;
    line-height:1.8
  }
  .plans {
    background:var(--off)
  }
  .planFocus {
    grid-template-columns:1fr 1fr;
    gap:22px;
    max-width:1000px;
    margin:auto;
    display:grid
  }
  .planFocus article {
    border:1px solid var(--line);
    background:#fff;
    padding:40px;
    position:relative
  }
  .planFocus .recommend {
    border:2px solid var(--teal)
  }
  .planFocus label {
    background:var(--black);
    color:#fff;
    padding:8px 18px;
    font-size:11px;
    font-weight:700;
    position:absolute;
    top:0;
    left:0
  }
  .planFocus .recommend label {
    background:var(--teal);
    color:#061312
  }
  .planFocus h3 {
    margin:20px 0;
    font:600 28px Noto Serif JP
  }
  .planFocus strong {
    font:700 39px Montserrat
  }
  .planFocus strong small {
    font:500 11px Noto Sans JP
  }
  .planFocus>article>p {
    color:var(--gray);
    font-size:12px
  }
  .planFocus ul {
    border-top:1px solid var(--line);
    margin:22px 0 0;
    padding:18px 0 0;
    list-style:none
  }
  .planFocus li {
    padding:5px;
    font-size:13px
  }
  .planFocus li:before {
    content:"✓";
    color:#0a9c93;
    margin-right:10px
  }
  .priceList {
    border-top:1px solid var(--line);
    max-width:1000px;
    margin:22px auto 0
  }
  .priceList>div {
    border-bottom:1px solid var(--line);
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
    padding:20px;
    display:grid
  }
  .priceList strong {
    font:700 18px Montserrat
  }
  .priceList span {
    color:var(--gray);
    font-size:12px
  }
  .planCta {
    max-width:650px;
    margin:35px auto 0
  }
  .access {
    background:#fff
  }
  .accessBody {
    grid-template-columns:1fr 1fr;
    align-items:start;
    gap:7vw;
    display:grid
  }
  .accessLead {
    min-width:0
  }
  .accessLead>strong {
    margin:0 0 12px;
    font:600 clamp(20px,2.1vw,30px)/1.6 Noto Serif JP,serif;
    display:block
  }
  .mapEmbed {
    aspect-ratio:16/9;
    border:1px solid var(--line);
    background:var(--off);
    width:100%;
    margin-bottom:28px;
    overflow:hidden
  }
  .mapEmbed iframe {
    border:0;
    width:100%;
    height:100%;
    display:block
  }
  .accessInfo {
    border-top:1px solid var(--line);
    width:100%;
    margin:0
  }
  .accessInfo>div {
    border-bottom:1px solid var(--line);
    grid-template-columns:110px 1fr;
    padding:22px 8px;
    display:grid
  }
  .accessInfo dt {
    color:var(--gray);
    font-size:.875rem;
    font-weight:700
  }
  .accessInfo dd {
    margin:0;
    font-size:1rem;
    line-height:1.8
  }
  .accessInfo dd a {
    text-decoration:underline;
    -webkit-text-decoration-color:var(--teal);
    -webkit-text-decoration-color:var(--teal);
    -webkit-text-decoration-color:var(--teal);
    text-decoration-color:var(--teal);
    text-underline-offset:4px
  }
  .accessInfo dd .mapInlineButton {
    background:var(--black);
    color:#fff;
    align-items:center;
    gap:18px;
    width:max-content;
    margin-top:12px;
    padding:8px 14px;
    font-size:.8125rem;
    font-weight:700;
    line-height:1.5;
    text-decoration:none;
    display:flex
  }
  .mapInlineButton span {
    color:#e7a65b
  }
  .accessInfo small {
    color:var(--gray);
    font-size:.875rem
  }
  .flow {
    grid-template-columns:1fr 1.2fr;
    gap:7vw;
    display:grid
  }
  .flowHeading {
    align-self:center
  }
  .flowHeading .sectionTitle {
    margin-bottom:24px
  }
  .flowLead {
    color:#dce4e2;
    border-top:1px solid #39413f;
    margin:0;
    padding-top:22px;
    font:600 clamp(20px,2vw,28px)/1.75 Noto Serif JP,serif
  }
  .steps {
    border:1px solid #39413f;
    grid-template-columns:1fr 1fr;
    align-self:end;
    display:grid
  }
  .steps article {
    border-bottom:1px solid #39413f;
    border-right:1px solid #39413f;
    min-height:190px;
    padding:25px
  }
  .steps article:nth-child(2n) {
    border-right:0
  }
  .steps article:nth-child(n+3) {
    border-bottom:0
  }
  .steps b {
    color:#52d5cc;
    font:700 12px Montserrat
  }
  .steps h3 {
    margin:38px 0 12px;
    font:600 18px Noto Serif JP
  }
  .steps p {
    color:#b7c0be;
    font-size:12px;
    line-height:1.8
  }
  .faq .sectionTitle {
    text-align:center
  }
  .faqs {
    text-align:left;
    width:min(900px,100%);
    margin:0 auto
  }
  .faqs details {
    border-top:1px solid var(--line);
    padding:22px 50px;
  }
  .faqs details:last-child {
    border-bottom:1px solid var(--line)
  }
  .faqs summary {
    cursor:pointer;
    font-size:14px;
    font-weight:700
  }
  .faqs p {
    color:var(--gray);
    margin:0;
    padding:12px 20px 0;
    font-size:20px;
    line-height:1.9
  }
  .last {
    text-align:center;
    color:#fff;
    background:linear-gradient(#100c0ab8 0%,#160d09d4 58%,#130b08e8 100%),url(../img/last_backimg01.png) 50% 54%/cover no-repeat;
    padding:100px 7vw 120px
  }
  .last h2 {
    margin:24px 0 8px;
    font:600 clamp(40px,5vw,70px)/1.45 Noto Serif JP
  }
  .last>p {
    font-family:Noto Serif JP
  }
  .lastCatch {
    color:#bdf6ef;
    margin:0 0 18px;
    font-size:clamp(20px,2.2vw,30px);
    line-height:1.7
  }
  .lastTrial {
    border-block:1px solid #fff5;
    grid-template-columns:max-content max-content;
    justify-content:center;
    align-items:baseline;
    gap:5px 15px;
    max-width:600px;
    margin:35px auto 16px;
    padding:18px;
    display:grid
  }
  .lastTrial span {
    letter-spacing:.04em;
    grid-column:1/-1;
    font:800 clamp(1.75rem,3vw,2.5rem)/1.35 Noto Sans JP,sans-serif
  }
  .lastTrial del {
    font-size:11px
  }
  .lastTrial strong {
    color:#62ddd4;
    font:700 40px Montserrat
  }
  .last>.cta {
    max-width:600px;
    margin:auto
  }
  .fixedCta {
    z-index:50;
    position:fixed;
    bottom:clamp(18px,2.5vw,36px);
    right:clamp(18px,2.5vw,36px)
  }
  .fixedCta a {
    aspect-ratio:1;
    text-align:center;
    color:#2a160f;
    letter-spacing:.04em;
    background:linear-gradient(135deg,#efbc70,#cf7a31);
    border:3px solid #fff;
    border-radius:50%;
    justify-content:center;
    align-items:center;
    width:176px;
    font-size:1.25rem;
    font-weight:800;
    line-height:1.45;
    transition:color .2s,transform .2s,box-shadow .2s;
    display:flex;
    box-shadow:0 0 0 3px #ffffff24,0 12px 34px #4b2b1766
  }
  .fixedCta a:hover {
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 0 0 4px #ffffff35,0 16px 38px #4b2b177a
  }
  :root {
    font-size:100%
  }
  body {
    font-size:1rem;
    line-height:1.75
  }
  .brand small,.method small {
    font-size:.75rem
  }
  .sectionTitle>p,.voiceIntro>p,.planFocus label,.planFocus strong small,.lastTrial del {
    font-size:.8125rem
  }
  .topbar nav,.topCta,.date,.trial del,.cta b,.underCta,.perkGrid b,.campaignCta p,.steps b,.last address {
    font-size:.875rem
  }
  .location,.rental,.turn p,.featureGrid p,.voiceCards b,.planFocus li{
    font-size:.9375rem
  }
  .trial span,.cta,.worryList p,.solutionBody p,.voiceCards p,.faqs summary {
    font-size:1rem
  }
  .perkGrid p,.priceList span,.steps p {
    font-size:.875rem
  }
  .notes,.voiceSource {
    font-size:.75rem
  }
  .campaign {
    color:#fff
  }
  .last address {
    color:#c4d0ce
  }
  .worries .sectionTitle {
    text-align:center
  }
  .worryList,.turn {
    width:min(820px,100%);
    margin-left:auto;
    margin-right:auto
  }
  .turn {
    text-align:center
  }
  .turn strong {
    display:block
  }
  .fvInner {
    width:min(860px,57%)
  }
  .fv h1 {
    white-space:nowrap;
    font-size:clamp(40px,4.5vw,64px)
  }
  .solution {
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
    align-items:center;
    gap:3.5vw;
    padding-bottom:0;
    display:grid;
    position:relative;
    overflow:hidden
  }
  .solutionCopy {
    max-width:720px;
    padding-bottom:100px
  }
  .solution .sectionTitle {
    text-align:left
  }
  .solution .sectionTitle.withLead {
    margin-bottom:12px
  }
  .solution .sectionTitle h2 {
    white-space:nowrap;
    font-size:clamp(31px,3.2vw,48px);
    line-height:1.55
  }
  .solution .sectionLead {
    margin-bottom:30px;
    font-size:clamp(16px,1.35vw,20px)
  }
  .solutionBody {
    flex-direction:column;
    gap:24px;
    display:flex
  }
  .solutionBody p {
    margin:0
  }
  .solutionLead {
    color:#cbd2d0;
    border-top:1px solid #39413f;
    padding-top:22px;
    font-size:1rem;
    line-height:2.1
  }
  .solutionPoints {
    border-top:1px solid #39413f;
    flex-direction:column;
    gap:0;
    margin:0;
    padding:0;
    list-style:none;
    display:flex
  }
  .solutionPoints li {
    color:#fff;
    border-bottom:1px solid #39413f;
    padding:14px 12px 14px 38px;
    font-weight:600;
    position:relative
  }
  .solutionPoints li:before {
    content:"✓";
    color:#64dcd4;
    font-weight:700;
    position:absolute;
    left:10px
  }
  .solutionClose {
    color:#fff;
    font:600 20px/1.9 Noto Serif JP,serif
  }
  .solutionImage {
    justify-content:center;
    align-self:end;
    align-items:flex-end;
    display:flex
  }
  .solutionImage img {
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 22px 34px #0008);
    width:min(100%,610px);
    max-height:650px
  }
  .topbar {
    background:0 0
  }
  .topCta span {
    color:#e3a353
  }
  .fv {
    background:linear-gradient(90deg,#17100ee8 0%,#17100eb8 48%,#17100e2e 78%),url(../img/firstview.png) 50%/cover
  }
  .date {
    color:#f2c173
  }
  .fv h1 em {
    color:#ffe0a3
  }
  .trial strong {
    color:#efaa5c
  }
  .cta {
    color:#2a160f;
    background:linear-gradient(135deg,#efbc70 0%,#cf7a31 100%);
    border:1px solid #f6d39f;
    box-shadow:0 0 22px #e99b4738,0 12px 30px #2112073d
  }
  .cta:hover {
    color:#fff
  }
  .cta b {
    border-right-color:#98511e
  }
  .underCta {
    color:#ded2c6
  }
  .sectionTitle>span {
    color:#f3ece5
  }
  .sectionTitle>p {
    color:#a85c23
  }
  .sectionTitle.light>p {
    color:#e7ae61
  }
  .sectionLead.lightLead {
    color:#d8cdc4
  }
  .worryList p:before {
    background:var(--mint);
    color:#9b531e
  }
  .turn {
    border-left-color:var(--teal)
  }
  .worries {
    color:#fff;
    background:#17100e
  }
  .worries .sectionTitle>p {
    color:#e7ae61
  }
  .worries .sectionTitle h2 {
    color:#fff
  }
  .worries .sectionTitle h2 em {
    color:#efaa5c;
    font-style:normal
  }
  .worries .worryList {
    border-top-color:#ffffff38
  }
  .worries .worryList p {
    color:#f5eee8;
    border-bottom-color:#ffffff38
  }
  .worries .worryList p:before {
    color:#fff;
    background:#c96e2e
  }
  .worries .turn {
    background:#ffffff0b;
    border-left-color:#e18b3e;
    margin-top:50px;
    text-align:center;
  }
  .worries .turn p {
    color:#d9ccc2
  }
  .worries .turn strong {
    color:#fff
  }
  .worries .worryList {
    background:0 0;
    border:0;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
    width:100%;
    margin:0;
    display:grid
  }
  .worries .worryList article,
  .worries .worryList article:nth-child(4),
  .worries .worryList article:nth-child(5) {
    background:#ffffff05;
    border:1px solid #ffffff2b;
    flex-direction:column;
    grid-column:span 2;
    align-items:flex-start;
    padding:60px 30px;
    display:flex
  }
  .worries .worryList article:nth-child(4) {
    grid-column:2/span 2
  }
  .worries .worryList article:nth-child(5) {
    grid-column:4/span 2
  }
  .worries .worryList article:last-child {
    border:1px solid #ffffff2b
  }
  .worries .worryList b {
    color:#ef9347;
    font:700 clamp(42px,calc(-2.46px + 4.34vw),50px)/1 Montserrat,sans-serif
  }
  .worries .worryList h3 {
    color:#fff;
    margin:32px 0 16px;
    font:600 clamp(1.125rem,1.45vw,1.4rem)/1.55 Noto Serif JP,serif
  }
  .worries .worryList p {
    color:#cfc2b9;
    border:0;
    margin:0;
    padding:0;
    font-size:.9375rem;
    line-height:1.9
  }
  .worries .worryList p:before {
    content:none
  }
  .solution {
    color:#17100e;
    background:#fffaf5
  }
  .solution .solutionLead {
    color:#5f554f;
    border-top-color:#d8cec6
  }
  .solution .solutionPoints {
    border-top-color:#d8cec6
  }
  .solution .solutionPoints li {
    color:#2d2521;
    border-bottom-color:#d8cec6
  }
  .solution .solutionPoints li:before {
    color:#c96e2e
  }
  .solution .solutionClose {
    color:#17100e
  }
  .solution .solutionImage {
    align-self:center;
    padding:40px 0 100px
  }
  .solution .solutionImage img {
    aspect-ratio:1;
    object-fit:cover;
    object-position:center;
    filter:drop-shadow(0 22px 34px #52301926);
    border-radius:20px;
    width:min(100%,560px);
    max-height:none
  }
  .featureGrid {
    border:0;
    grid-template-columns:1fr;
    gap:24px
  }
  .featureGrid article,.featureGrid article:last-child {
    background:#fff;
    border:1px solid #ded4cb;
    grid-template-columns:minmax(320px,48%) 1fr;
    min-height:360px;
    padding:0;
    display:grid;
    overflow:hidden
  }
  .featureGrid article:nth-child(2n) .featureVisual {
    order:2
  }
  .featureGrid article:nth-child(2n) .featureCopy {
    order:1
  }
  .featureVisual {
    background:#5f5147;
    align-items:flex-end;
    min-height:100%;
    padding:22px;
    display:flex;
    position:relative;
    overflow:hidden;
    width: 100%;
  }
  .featureVisual:before {
    content:"";
    z-index:1;
    background:linear-gradient(#0000,#17100dcc);
    position:absolute;
    inset:45% 0 0
  }
  .featureVisual img {
    object-fit:cover;
    width:100%;
    height:100%;
    position:absolute;
    inset:0
  }
  .featureVisual span {
    z-index:2;
    color:#fff;
    letter-spacing:.12em;
    text-shadow:0 1px 8px #000;
    font:700 .75rem Montserrat,sans-serif;
    position:relative
  }
  .featureCopy {
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:clamp(34px,5vw,70px);
    display:flex
  }
  .featureGrid .featureCopy>b {
    color:#b96625;
    letter-spacing:.08em;
    margin:0 0 14px;
    font:700 clamp(42px,calc(-2.46px + 4.34vw),50px)/1 Montserrat;
    display:block
  }
  .featureGrid h3 {
    margin:0 0 22px;
    font-size:clamp(1.5rem,2.4vw,2.25rem);
    line-height:1.55
  }
  .featureGrid p {
    color:#655a52;
    max-width:650px;
    margin:0;
    font-size: clamp(1rem, 0.427rem + 0.89vw, 1.5rem);
    line-height:2
  }
  .featurePlus {
    background:#fbf5ed;
    border:1px solid #dfd1c3;
    grid-template-columns:36% 1fr;
    width:min(920px,88%);
    min-height:220px;
    margin:30px auto 0;
    display:grid;
    overflow:hidden
  }
  .featurePlusImage {
    background:#5f5147;
    min-height:220px;
    position:relative;
    overflow:hidden
  }
  .featurePlusImage img {
    object-fit:cover;
    width:100%;
    height:100%;
    position:absolute;
    inset:0
  }
  .featurePlusCopy {
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:28px 34px;
    display:flex
  }
  .featurePlusCopy>span {
    letter-spacing:.16em;
    color:#b96625;
    font:700 .75rem/1 Montserrat,sans-serif
  }
  .featurePlusCopy h3 {
    color:#2d2521;
    margin:12px 0;
    font:600 clamp(1.25rem,1.8vw,1.65rem)/1.6 Noto Serif JP,serif
  }
  .featurePlusCopy p {
    color:#655a52;
    margin:0;
    font-size:.9375rem;
    line-height:1.9
  }
  .features>.sectionLead {
    margin-bottom:30px
  }
  .supportRange {
    border-left:3px solid #c9782c;
    max-width:940px;
    margin:0 0 52px;
    padding:8px 0 8px 24px
  }
  .supportRange h3 {
    color:#2d2521;
    margin:0 0 12px;
    font:600 clamp(1.5rem,2.5vw,2.15rem)/1.6 Noto Serif JP,serif
  }
  .supportRange p {
    color:#655a52;
    max-width:880px;
    margin:0;
    font-size:1rem;
    line-height:2
  }
  .features .method {
    color:#75685f;
    background:0 0;
    border-top:1px solid #e4d8cc;
    border-bottom:1px solid #e4d8cc;
    gap:2.2vw;
    margin-top:32px;
    padding:18px 0
  }
  .features .method span {
    color:#75685f;
    font-size:clamp(1.875rem, -1.786rem + 5.71vw, 2.5rem);
  }
  .features .method small {
    color:#9b8b7f;
    margin-top:4px;
    font-size:clamp(0.938rem, -0.893rem + 2.86vw, 1.25rem);
  }
  .features .method i {
    color:#c98244;
    font-size:1.25rem
  }
  .solutionBody p,.solutionLead {
    color:#d4cbc4
  }
  .solutionLead,.solutionPoints,.solutionPoints li {
    border-color:#4b3a30
  }
  .solutionPoints li:before {
    color:#e8a85a
  }
  .featureGrid b {
    color:#b96625
  }
  .method small,.method i {
    color:#e1a050
  }
  .campaign {
    background:radial-gradient(circle at 88% 8%,#d28b3b4f 0,#0000 30%),radial-gradient(circle at 7% 94%,#e5b05a35 0,#0000 34%),linear-gradient(135deg,#2b1c12 0%,#3b2517 58%,#59341d 100%)
  }
  .perkGrid {
    background:#24150fc7;
    border-color:#7a593b
  }
  .perkGrid article {
    border-right-color:#7a593b
  }
  .perkGrid p {
    color:#ded3c7
  }
  .notes {
    color:#b9a898
  }
  .resultCards img {
    box-shadow:0 10px 40px #4b2b1717
  }
  .voiceCards article>span {
    color:#f0dfca
  }
  .voiceCards p {
    color:#463b34
  }
  .planFocus .recommend label {
    color:#2a160f
  }
  .flowLead,.steps,.steps article,.solutionLead,.solutionPoints,.solutionPoints li {
    border-color:#4b3a30
  }
  .flowLead {
    color:#e2d8cf
  }
  .steps b {
    color:#e4a653
  }
  .steps p {
    color:#cfc3b9
  }
  .lastCatch {
    color:#ffe0a3
  }
  .lastTrial strong {
    color:#efaa5c
  }
  .planFocus {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    max-width:1180px
  }
  .priceList {
    max-width:1180px
  }
  .planFocus .trialPlan {
    background:linear-gradient(145deg,#fffaf3 0%,#fff0d9 100%);
    border:2px solid #d38a3b;
    box-shadow:0 14px 35px #7a42131a
  }
  .planFocus .trialPlan label {
    color:#fff;
    background:#8d4a17
  }
  .planFocus .trialPlan ul {
    border-top:0;
    padding-top:0
  }
  .trialOfferPrice {
    border-block:1px solid #d7a76e80;
    flex-direction:column;
    align-items:center;
    gap:7px;
    margin:0 0 12px;
    padding:14px 0 12px;
    display:flex
  }
  .trialOfferPrice del {
    color:#8a7668;
    font-size:.9375rem
  }
  .trialOfferPrice strong {
    color:#8d430e;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.035em;
    white-space:nowrap;
    text-shadow:0 5px 20px #d6802d26;
    font-size:clamp(3.75rem,5vw,4.5rem);
    line-height:1
  }
  .trialOfferPrice strong small {
    letter-spacing:0;
    vertical-align:baseline;
    margin-left:8px;
    font-size:1.125rem;
    display:inline-block
  }
  .fv .cta {
    letter-spacing:.04em;
    width:100%;
    min-height:80px;
    padding:0 30px;
    font-size:1.25rem;
    box-shadow:0 0 28px #e99b4752,0 16px 38px #120a055c
  }
  .fv .cta span {
    font-weight:700
  }
  .fv .cta i {
    font-size:1.5rem
  }
  .heroEyebrow {
    color:#fff;
    letter-spacing:.05em;
    border-left:3px solid #efaa5c;
    margin:6px 0 10px;
    padding-left:15px;
    font:600 clamp(1.05rem,1.5vw,1.35rem)/1.5 Noto Serif JP,serif
  }
  .fv h1 {
    text-shadow:0 5px 26px #0008;
    font-size:clamp(3.25rem,5.8vw,5rem);
    line-height:1.25
  }
  .date {
    -webkit-backdrop-filter:blur(7px);
    backdrop-filter:blur(7px);
    background:#24140eb8;
    border:1px solid #efaa5c99;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    width:fit-content;
    margin:0 0 22px;
    padding:13px 18px 15px;
    line-height:1.5;
    display:flex;
    box-shadow:0 12px 32px #0005,inset 0 0 24px #dc81231a
  }
  .date span {
    letter-spacing:.09em;
    color:#f4c785;
    font-family:Noto Sans JP,sans-serif;
    font-weight:700
  }
  .date .campaignPeriod {
    white-space:nowrap;
    letter-spacing:0;
    color:#fff;
    align-items:baseline;
    gap:8px;
    font-family:Montserrat,sans-serif;
    display:flex
  }
  .campaignPeriod small {
    color:#e4d5c9;
    font-size:.8125rem
  }
  .campaignPeriod em {
    letter-spacing:-.03em;
    color:#ffd083;
    text-shadow:0 0 20px #efaa5c66;
    font-size:clamp(2rem,3vw,2.75rem);
    font-style:normal;
    line-height:.95
  }
  .campaignPeriod i {
    color:#f4e8dd;
    font-size:1.35rem;
    font-style:normal
  }
  .fv h1 .autumnWord {
    color:#ee563c;
    text-shadow:0 0 18px #d7352770,0 4px 18px #0007
  }
  .fv .trial {
    color:#fff;
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    background:linear-gradient(110deg,#16100ddd,#26170fc4);
    border:1px solid #ffffffa6;
    grid-template-columns:108px minmax(0,1fr);
    align-items:center;
    gap:16px;
    width:min(100%,650px);
    margin:28px 0 0;
    padding:16px 20px;
    display:grid;
    position:relative;
    overflow:hidden;
    box-shadow:0 12px 32px #12090545
  }
  .fv .trial:before {
    content:"";
    pointer-events:none;
    background:linear-gradient(90deg,#ffffff09,#0000 45%,#dc7b3120);
    position:absolute;
    inset:0
  }
  .trialLabel,.trialOffer {
    z-index:1;
    position:relative
  }
  .fv .trialLabel {
    color:#fff;
    text-shadow:0 3px 14px #160b057a;
    border-right:1px solid #ffffffa6;
    flex-direction:column;
    justify-content:center;
    align-self:stretch;
    padding-right:16px;
    display:flex
  }
  .fv .trialLabel small {
    letter-spacing:.08em;
    font-size:.8125rem;
    font-weight:700
  }
  .fv .trialLabel b {
    letter-spacing:.03em;
    margin-top:2px;
    font:800 1.3rem/1.35 Noto Sans JP,sans-serif
  }
  .trialOffer {
    justify-content:flex-start;
    align-items:baseline;
    gap:10px;
    display:flex
  }
  .trialOffer>p {
    letter-spacing:-.04em;
    white-space:nowrap;
    text-shadow:0 4px 16px #160b057a;
    margin:0;
    font:800 1.9rem/1.15 Noto Sans JP,sans-serif
  }
  .trialPrice {
    white-space:nowrap;
    align-items:baseline;
    gap:5px;
    display:flex
  }
  .fv .trialPrice del {
    color:#d5c8bd;
    font-size:.7rem;
    text-decoration-color:#efaa5c;
    text-decoration-thickness:2px
  }
  .fv .trialPrice i {
    color:#f2c173;
    font-size:.875rem;
    font-style:normal;
    font-weight:700
  }
  .fv .trialPrice strong {
    color:#f18b46;
    letter-spacing:-.045em;
    white-space:nowrap;
    text-shadow:0 5px 18px #160b0566;
    margin:0;
    font:700 3rem/.95 Montserrat,sans-serif;
    font-size: clamp(2.5rem, 1.068rem + 2.23vw, 3.75rem);
  }
  .fv .trialPrice strong small {
    color:#fff;
    letter-spacing:0;
    margin-left:3px;
    font:700 .8125rem Noto Sans JP,sans-serif
  }
  .fv .cta {
    border-radius:14px;
    width:min(100%,520px);
    overflow:hidden
  }
  .perkGrid {
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    background:0 0;
    border:0;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:22px;
    max-width:1180px;
    margin:0 auto;
    display:grid
  }
  .perkGrid article,.perkGrid article:last-child {
    background:linear-gradient(#352116 0%,#24140e 100%);
    border:1px solid #8d6543;
    flex-direction:column;
    grid-column:span 2;
    min-height:0;
    padding:0;
    display:flex;
    overflow:hidden;
    box-shadow:0 18px 38px #13090542
  }
  .perkGrid article:nth-child(4) {
    grid-column:2/span 2
  }
  .perkGrid article:nth-child(5) {
    grid-column:4/span 2
  }
  .perkVisual {
    aspect-ratio:16/10;
    background:#f4eadc;
    position:relative;
    overflow:hidden
  }
  .perkVisual:after {
    content:"";
    pointer-events:none;
    background:linear-gradient(#0000,#1c100b73);
    height:34%;
    position:absolute;
    inset:auto 0 0
  }
  .perkVisual img {
    object-fit:cover;
    width:100%;
    height:100%;
    display:block
  }
  .perkGrid article:nth-child(2) .perkVisual img {
    object-fit:contain;
    background:#fff;
    padding:10px
  }
  .perkGrid article:nth-child(3) .perkVisual img {
    object-position:70% center
  }
  .perkVisual b {
    z-index:1;
    color:#fff;
    letter-spacing:.04em;
    background:#a45222;
    border-radius:50%;
    place-items:center;
    width:48px;
    height:48px;
    font:800 .875rem Montserrat,sans-serif;
    display:grid;
    position:absolute;
    top:14px;
    left:14px;
    box-shadow:0 6px 18px #1b0b0757
  }
  .perkCopy {
    flex-direction:column;
    flex:1;
    padding:25px 24px 28px;
    display:flex
  }
  .perkGrid p {
    color:#ded3c7;
    margin:0;
    font-size:16px;
    line-height:1.85
  }
  .perkGrid article:nth-child(4),.perkGrid article:nth-child(5) {
    border-color:#d69a55;
  }
  .campaign:after {
    content:none
  }
  .trainers {
    background:#f4efe9
  }
  .trainerGrid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    width:min(1080px,100%);
    margin:0 auto;
    display:grid
  }
  .trainerGrid article {
    background:#fff;
    border:1px solid #ded2c7;
    overflow:hidden;
    box-shadow:0 16px 36px #4b2b1717
  }
  .trainerPhoto {
    aspect-ratio:4/5;
    background:#201813;
    position:relative;
    overflow:hidden
  }
  .trainerPhoto:after {
    content:"";
    pointer-events:none;
    background:linear-gradient(#0000,#1c120d66);
    height:28%;
    position:absolute;
    inset:auto 0 0
  }
  .trainerPhoto img {
    object-fit:cover;
    object-position:center top;
    width:100%;
    height:100%;
    display:block
  }
  .trainerCopy {
    padding:24px 24px 28px
  }
  .trainerCopy p {
    color:#b56227;
    letter-spacing:.14em;
    margin:0 0 6px;
    font:700 .75rem Montserrat,sans-serif
  }
  .trainerCopy h3 {
    color:#251a14;
    letter-spacing:.03em;
    margin:0 0 14px;
    font:700 clamp(1.35rem,2vw,1.75rem)/1.4 Noto Sans JP,sans-serif;
    font-size: 40px;
  }
  .trainerCopy h3 small {
    color:#9b7254;
    letter-spacing:.12em;
    margin-top:4px;
    font:700 .75rem/1.4 Montserrat,sans-serif;
    display:block
  }
  .trainerMeta {
    color:#8d6549;
    letter-spacing:.04em;
    margin:-5px 0 15px;
    font-size:.75rem;
    font-weight:700;
    line-height:1.6;
    display:block
  }
  .trainerCopy span {
    color:#5f554e;
    white-space:pre-line;
    font-size: 16px;
    line-height:1.9;
    display:block
  }
  .trainers .sectionLead {
    text-align:left
  }
  .trainerPromise {
    color:#251811;
    text-align:center;
    letter-spacing:-.04em;
    white-space:nowrap;
    width:max-content;
    max-width:100%;
    margin:52px auto 44px;
    font:800 clamp(2rem,4.6vw,4.25rem)/1.35 Noto Sans JP,sans-serif
  }
  .trainerPromise em {
    color:#b75525;
    text-shadow:0 5px 18px #b7552524;
    font-style:normal
  }
  .fixedCta {
    transition:opacity .4s,transform .4s,visibility .4s
  }
  .fixedCta.isHidden {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(22px)scale(.94)
  }
  .fixedCta a {
    background:linear-gradient(145deg,#f4c878 0%,#d97930 100%);
    border:4px solid #fff;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:9px;
    width:218px;
    padding:22px;
    animation:4s ease-in-out infinite fixedCtaPulse;
    display:flex;
    position:relative;
    overflow:hidden;
    box-shadow:0 0 0 4px #d37b3552,0 18px 44px #3d1c0d7a
  }
  .fixedCtaBenefit {
    color:#6f3216;
    letter-spacing:.04em;
    white-space:nowrap;
    font-size:.875rem;
    font-weight:800;
    line-height:1.3;
    display:block
  }
  .fixedCtaAction {
    color:#2a160f;
    text-align:center;
    letter-spacing:.05em;
    text-shadow:0 1px #fff6;
    font-size:1.45rem;
    font-weight:900;
    line-height:1.35;
    display:block
  }
  @keyframes fixedCtaPulse {
    0%,76%,to {
      box-shadow:0 0 0 4px #279f565c,0 18px 44px #102b1c7a
    }
    84% {
      box-shadow:0 0 0 10px #61d98235,0 20px 48px #102b1c8a
    }
      }
  .fv h1 .heroHeadline,.fv h1 .heroCampaignTitle {
    white-space:nowrap;
    display:block
  }
  .fv h1 .heroHeadline {
    color:#fff;
    font-size:clamp(2.5rem,4.1vw,4rem);
    line-height:1.35
  }
  .fv h1 .heroCampaignTitle {
    color:#ffe0a3;
    letter-spacing:0;
    margin-top:4px;
    font-size:clamp(2.2rem,3.5vw,3.45rem);
    line-height:1.4
  }
  .flowSimple {
    color:#251a14;
    background:#f7f1e8;
    display:block
  }
  .flowSimple .steps {
    background:#fffaf4;
    border:1px solid #ddd1c3;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%;
    display:grid
  }
  .flowSimple .steps article,.flowSimple .steps article:nth-child(2n),.flowSimple .steps article:nth-child(n+3) {
    background:0 0;
    border:0;
    border-right:1px solid #ddd1c3;
    min-height:240px;
    padding:34px 26px
  }
  .flowSimple .steps article:last-child {
    border-right:0
  }
  .flowSimple .steps b {
    color:#bd5b25;
    font:800 clamp(42px,calc(-2.46px + 4.34vw),50px)/1 Montserrat,sans-serif
  }
  .flowSimple .steps h3 {
    color:#251a14;
    margin:48px 0 12px;
    font:700 clamp(1.15rem,1.6vw,1.4rem)/1.55 Noto Serif JP,serif
  }
  .flowSimple .steps p {
    color:#75665a;
    margin:0;
    font-size:.875rem;
    line-height:1.8
  }
  .faq .faqs {
    width:min(1000px,100%)
  }
  .last>p.lastCatch {
    color:#fff;
    letter-spacing:-.045em;
    text-shadow:0 7px 34px #000d;
    margin:0 0 18px;
    font:900 2rem/1.35 Noto Sans JP,sans-serif
  }
  .last .lastImpact {
    color:#fff;
    letter-spacing:-.05em;
    text-shadow:0 6px 28px #000b;
    width:min(980px,100%);
    margin:30px auto 0;
    font:900 clamp(3.5rem,5vw,4rem)/1.28 Noto Sans JP,sans-serif
  }
  .last .lastImpact:before {
    content:"";
    background:linear-gradient(90deg,#d65c31,#f2a24f);
    width:72px;
    height:2px;
    margin:0 auto 28px;
    display:block
  }
  .lastImpact em {
    color:#fff;
    font-style:normal;
    display:block
  }
  .last .lastTrial {
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    background:#170c08a8;
    border:1px solid #ffffff73;
    flex-direction:column;
    align-items:center;
    gap:8px;
    width:min(680px,100%);
    max-width:none;
    margin:36px auto 18px;
    padding:22px 28px;
    display:flex;
    box-shadow:0 14px 36px #0005
  }
  .lastTrial p {
    color:#fff;
    margin:0;
    font:700 clamp(1.15rem,2vw,1.55rem)/1.6 Noto Sans JP,sans-serif
  }
  .lastTrial p strong {
    color:#ffb965;
    white-space:nowrap;
    font:800 clamp(1.55rem,2.8vw,2.25rem)/1.35 Noto Sans JP,sans-serif
  }
  .lastTrial small {
    color:#eaded3;
    justify-content:center;
    align-items:center;
    gap:10px;
    font-size:.8125rem;
    display:flex
  }
  .lastTrial small span {
    color:inherit;
    font:inherit;
    grid-column:auto;
    display:inline
  }
  .lastTrial small span:before {
    content:"→";
    color:#efaa5c;
    margin-right:10px
  }
  .lastTrial small del {
    color:#cdbfb5;
    text-decoration-color:#efaa5c;
    text-decoration-thickness:2px
  }
  .trialDuration {
    color:#fff;
    text-align:center;
    background:#4a1e28;
    justify-content:center;
    align-items:center;
    gap:22px;
    width:100%;
    margin-top:30px;
    padding:20px 28px;
    display:flex
  }
  .trialDuration span {
    font-size:.875rem;
    font-weight:600;
    line-height:1.75
  }
  .trialDuration strong {
    color:#f0a85a;
    white-space:nowrap;
    font:800 clamp(1.8rem,3vw,2.5rem)/1.2 Noto Sans JP,sans-serif
  }
  :root {
    --black:#1b120e;
    --teal:#b65b25;
    --mint:#f5e4d3;
    --off:#f7f1e8;
    --gray:#655a52;
    --line:#ded2c6
  }
  .worries {
    background:#211613
  }
  .features {
    color:#251a14;
    background:#fff9f3
  }
  .results {
    color:#251a14;
    background:#fff
  }
  .trainers {
    color:#251a14;
    background:#f4efe9
  }
  .plans {
    color:#251a14;
    background:#fff
  }
  .flowSimple {
    color:#251a14;
    background:#f7f1e8
  }
  .faq {
    color:#251a14;
    background:#fff
  }
  .access {
    color:#251a14;
    background:#f7f1e8
  }
  .sectionTitle h2 {
    color:#251a14
  }
  .sectionLead {
    color:#655a52
  }
  .planFocus .recommend {
    border-color:#b65b25
  }
  .planFocus .recommend label {
    color:#fff7ec;
    background:#b65b25
  }
  .planFocus li:before,.voiceIntro>p,.voiceCards b {
    color:#b65b25
  }
  .accessInfo dd a {
    text-decoration-color:#b65b25
  }
  .mapEmbed {
    background:#f7f1e8
  }
  .trialDuration {
    background:#4a231b
  }
  .trialDuration strong {
    color:#f0a85a
  }
  .cta,.campaignCta .cta {
    color:#fff;
    background:linear-gradient(135deg,#42cf72 0%,#12b85a 48%,#087d3e 100%);
    border:1px solid #eff8e7;
    transition:filter .2s,transform .2s,box-shadow .2s,color .2s;
    box-shadow:0 0 0 1px #189f5040,0 0 24px #20b65a40,0 14px 32px #132a1c4d;
    font-size: clamp(1.5rem, -0.696rem + 3.43vw, 1.875rem);
  }
  .cta b,.campaignCta .cta b {
    color:#fff;
    border-right-color:#ffffff75
  }
  .cta span {
    color:#fff
  }
  .cta i,.campaignCta .cta i {
    color:#f2ffe9
  }
  .cta:hover,.campaignCta .cta:hover {
    color:#fff;
    filter:brightness(1.08)saturate(1.05);
    transform:translateY(-2px);
    box-shadow:0 0 0 2px #eef8e8,0 0 30px #20bd6066,0 16px 36px #132a1c5c
  }
  .cta:focus-visible {
    outline-offset:4px;
    outline:3px solid #a9e9b4
  }
  .campaignCta .cta:focus-visible {
    outline-offset:4px;
    outline:3px solid #a9e9b4
  }
  .fixedCta a {
    color:#fff;
    background:linear-gradient(145deg,#42cf72 0%,#12b85a 48%,#087d3e 100%);
    border-color:#f4f7e9;
    box-shadow:0 0 0 4px #279f565c,0 18px 44px #102b1c7a
  }
  .fixedCtaBenefit {
    color:#e9ffdf;
    text-shadow:0 1px 6px #07371d80
  }
  .fixedCtaAction {
    color:#fff;
    text-shadow:0 2px 8px #07371da3
  }
  .fixedCta a:hover {
    color:#fff;
    box-shadow:0 0 0 5px #eaf5e4,0 20px 48px #102b1c8a
  }
  .fixedCta a:hover .fixedCtaAction {
    color:#fff;
    text-shadow:0 2px 9px #07371db3
  }
  .fv .cta {
    box-shadow:0 0 0 1px #189f5040,0 0 28px #20b65a52,0 16px 38px #102b1c66
  }
  .fv .cta:hover {
    box-shadow:0 0 0 2px #eef8e8,0 0 32px #20bd6070,0 18px 42px #102b1c70
  }
  .fixedCta {
    opacity:1;
    visibility:visible;
    will-change:opacity,transform;
    transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),visibility linear
  }
  .fixedCta.isHidden {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s;
    transform:translateY(30px)scale(.92)
  }
  .referralBonus {
    text-align:center;
    background:#1d120dcc;
    border:1px solid #7a593b;
    width:min(920px,100%);
    margin:38px auto 0;
    padding:26px 30px 24px;
    box-shadow:inset 0 2px #d89a4666
  }
  .referralBonusHead>span {
    letter-spacing:.16em;
    color:#e7b35f;
    font:700 .75rem Montserrat,sans-serif;
    display:block
  }
  .referralBonusHead h3 {
    color:#fff3dc;
    margin:6px 0 0;
    font:600 clamp(1.35rem,2.4vw,1.9rem)/1.4 Noto Serif JP,serif
  }
  .referralBonus>p {
    color:#e7ddd0;
    margin:12px 0 18px;
    font-size:.95rem;
    line-height:1.8
  }
  .referralProducts {
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin:0 auto;
    display:grid
  }
  .referralProducts figure {
    position:relative;
    margin:0
  }
  .referralProducts img {
    aspect-ratio:1;
    object-fit:cover;
    background:#fff;
    width:100%;
    display:block
  }
  .recommendBadge {
    position:absolute;
    top:8px;
    right:8px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 9px;
    border-radius:999px;
    background:#b85b32;
    color:#fff;
    font:700 .7rem/1 "Noto Sans JP",sans-serif;
    letter-spacing:.04em;
    box-shadow:0 3px 10px #0004
  }
  .referralProducts figcaption {
    letter-spacing:.06em;
    color:#f0d3ae;
    margin-top:7px;
    font:600 .8rem Montserrat,sans-serif
  }
  .referralBonus>small {
    color:#b9a898;
    margin-top:16px;
    font-size:.75rem;
    display:block
  }
  .referralProducts figcaption span,.referralProducts figcaption b {
    display:block
  }
  .referralProducts figcaption span {
    letter-spacing:.08em;
    color:#cdb89f;
    font:500 .62rem/1.4 Montserrat,sans-serif;
    font-size: 16px;
  }
  .referralProducts figcaption b {
    letter-spacing:.06em;
    color:#f0d3ae;
    font:600 .8rem/1.4 Montserrat,sans-serif;
    font-size: 24px;
  }
  .fv h1 .heroSeasonAccent {
    color:#d94b32;
    text-shadow:0 3px 18px #3b120d99
  }
  .fv h1,.fvText,.sectionTitle h2,.sectionLead,.worryList h3,.turn strong,.featureGrid h3,.perkGrid h3,.voiceIntro h3,.voiceLead,.planFocus h3,.accessLead>strong,.flowLead,.flowSimple .steps h3,.faqs summary,.last h2,.trainerPromise,.referralBonusHead h3 {
    font-family:Noto Sans JP,sans-serif!important
  }
  .lastImpact .seasonAccent {
    color:#d94b32
  }
  .lastImpact .yearAccent {
    color:#f29a4a
  }
  .featureGrid article.featurePlusCard {
    border:4px solid #b96625!important;
    background:linear-gradient(135deg,#fffaf4 0%,#f5e7d8 100%);
    box-sizing:border-box
  }
  .featurePlusCard .featureVisual {
    background:#5f5147
  }
  .featurePlusCard .featureCopy b {
    font-size:clamp(42px,calc(22.24px + 1.93vw),50px);
    letter-spacing:.06em;
    color:#b96625
  }
  .fv h1 .heroTitleImage {
    display:block;
    width:100%;
    height:auto;
    max-width:720px
  }
  .voiceCards b,.voiceAccordion summary b {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    text-align:right;
    gap:14px
  }
  .genderIcon {
    box-sizing:border-box;
    width:36px;
    height:36px;
    padding:6px;
    border:2px solid #b65b25;
    border-radius:50%;
    background:#fff7ee;
    object-fit:contain;
    flex:none
  }
  .worries .sectionTitle h2 {
    white-space:nowrap
  }
  .fv .trial {
    grid-template-columns:104px minmax(0,1fr);
    gap:14px;
    width:min(100%,580px);
    padding:15px 18px
  }
  .fv .trialLabel {
    padding-right:14px
  }
  .trialOffer {
    grid-template-columns:1fr;
    gap:2px;
    display:grid
  }
  .trialOffer>p {
    font-size:1.75rem
  }
  .trialPrice {
    justify-content:flex-start
  }
  .last .lastTrial {
    margin-bottom:64px
  }
  .fv {
    background:url(../img/firstview_pc.png) top/cover no-repeat
  }
  .featurePlus {
    box-sizing:border-box;
    width:100%;
    grid-template-columns:50% 50%;
    min-height:300px;
    border:4px solid #b96625;
    box-shadow:0 14px 34px rgba(69,39,22,.14)
  }
  .featurePlusImage {
    width:auto;
    min-width:0;
    min-height:300px
  }
  .featurePlusCopy {
    width:auto;
    min-width:0
  }
  .featurePlusCopy {
    background:linear-gradient(135deg,#fffaf4 0%,#f5e7d8 100%)
  }
  .featurePlusCopy>span {
    font-size:1.2rem;
    line-height:1.2
  }
  .voiceCardsDesktop article {
    display:flex;
    flex-direction:column
  }
  .voiceCardsDesktop article p {
    flex:1
  }
  }
@media screen and (min-width: 1025px) {
  .fv .trial {
    grid-template-columns:auto auto;
    gap:16px;
    width:min(100%,650px);
    margin-top:50px;
    padding:16px 20px
  }
  .fv .trialLabel {
    border-bottom:0;
    border-right:1px solid #ffffffa6;
    flex-direction:column;
    justify-content:center;
    align-self:stretch;
    align-items:normal;
    gap:normal;
    padding:0 16px 0 0;
    width:clamp(4.688rem, 3.614rem + 1.68vw, 5.625rem);
  }
  .fv .trialLabel b {
    margin-top:2px;
    font-size:1.3rem
  }
  .trialOffer {
    width:auto;
    display:flex;
    gap:10px
  }
  .trialOffer>p {
    letter-spacing:-.04em;
    width:auto;
    margin:0;
    font-size: clamp(1.25rem, 0.534rem + 1.12vw, 1.875rem);
  }
  .trialPrice {
    grid-template-columns:none;
    display:flex;
    gap:5px
  }
  .features .method {
    flex-direction:row;
    gap:2.2vw;
    margin-top:32px;
    padding:18px 0
  }

  .features .method i {
    line-height:normal;
    font-size:1.25rem
  }
  .perkGrid {
    grid-template-columns:repeat(5,1fr);
    gap:0
  }
  .perkGrid article:last-child {
    grid-column:auto;
    justify-self:stretch;
    width:auto
  }
  .campaignLeaves i:nth-child(3),.campaignLeaves i:nth-child(5) {
    display:block
  }
  }
@media screen and (min-width: 1025px) {
  .perkGrid {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:22px;
    max-width:1200px;
    margin:0 auto
  }
  .perkGrid article,.perkGrid article:last-child {
    border:1px solid #8d6543;
    flex-direction:column;
    grid-column:span 2;
    min-height:0;
    width:auto;
    padding:0;
    display:flex;
    overflow:hidden
  }
  .perkGrid article:nth-child(4) {
    grid-column:2/span 2
  }
  .perkGrid article:nth-child(5) {
    grid-column:4/span 2
  }

  .perkCopy {
    padding:25px 24px 28px
  }
  }
@media screen and (min-width: 1025px) {
  .priceList>div {
    grid-template-columns:1fr 1fr 1fr
  }
  .priceList span {
    grid-column:auto;
    margin-top:0
  }
  }
@media screen and (min-width: 1025px) {
  .trialDuration {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center
  }
}
@media screen and (min-width: 1025px) {
  .lastTrial p strong {
    display:inline-block
  }
}
.perkGrid small {
  color:#b9a898;
  margin-top:10px;
  font-size:.75rem;
  line-height:1.6
}
.trainerPhoto img {
  transform:scale(1.3);
  transform-origin:center
}

/* PC（1025px〜）：固定px指定 */
@media screen and (min-width: 1025px) {
  .topCta {
    font-size:12px;
  }
  .topCta span {
    font-size:16px;
  }
  .date {
    font:600 12px Montserrat,sans-serif;
  }
  .location {
    font-size:13px;
  }
  .fv h1 {
    font:600 72px/1.35 Noto Serif JP,serif;
  }
  .trial del {
    font-size:12px
  }
  .trial strong {
    font:700 58px Montserrat,sans-serif
  }
  .trial small {
    font:600 15px Noto Sans JP,sans-serif
  }
  .rental {
    font-size:13px
  }
  .cta b {
    font:700 13px Montserrat,sans-serif
  }
  .cta i {
    font-size:20px
  }
  .sectionTitle>span {
    font:700 130px/1 Montserrat,sans-serif
  }
  .sectionTitle>p {
    font:600 12px Montserrat,sans-serif
  }
  .sectionTitle h2 {
    font:600 64px/1.45 Noto Serif JP,serif
  }
  .sectionLead {
    font:500 22px/1.9 Noto Serif JP,serif
  }
  .worryList p {
    font-size:15px
  }
  .turn p {
    font-size:13px
  }
  .turn strong {
    font:600 24px/1.7 Noto Serif JP,serif
  }
  .solutionBody p {
    font-size:15px
  }
  .featureGrid b {
    font:700 clamp(42px,calc(-2.46px + 4.34vw),60px)/1 Montserrat
  }
  .featureGrid h3 {
    font:600 23px Noto Serif JP
  }
  .method span {
    font:600 22px Noto Serif JP
  }
  .method small {
    font:600 12px Montserrat
  }
  .method i {
    font-size:26px
  }
  .perkGrid b {
    font:700 14px Montserrat
  }
  .campaignCta p {
    font-size:12px
  }
  .notes {
    font-size:12px
  }
  .voiceIntro>p {
    font:600 12px Montserrat,sans-serif
  }
  .voiceIntro h3 {
    font:600 40px/1.45 Noto Serif JP,serif
  }
  .voiceLead {
    font:500 20px/1.8 Noto Serif JP,serif
  }
  .voiceCards article>span {
    font:700 54px/1 Georgia,serif
  }
  .voiceCards p {
    font-size:14px
  }
  .voiceCards b {
    font-size:13px
  }
  .voiceSource {
    font-size:12px
  }
  .planFocus label {
    font-size:12px
  }
  .planFocus h3 {
    font:600 28px Noto Serif JP
  }
  .planFocus strong small {
    font:500 12px Noto Sans JP
  }
  .planFocus>article>p {
    font-size:12px
  }
  .planFocus li {
    font-size:13px
  }
  .priceList strong {
    font:700 18px Montserrat
  }
  .priceList span {
    font-size:12px
  }
  .accessLead>strong {
    font:600 30px/1.6 Noto Serif JP,serif
  }
  .accessInfo dt {
    font-size:14px
  }
  .accessInfo dd {
    font-size:16px
  }
  .accessInfo dd .mapInlineButton {
    font-size:13px
  }
  .accessInfo small {
    font-size:14px
  }
  .flowLead {
    font:600 28px/1.75 Noto Serif JP,serif
  }

  .steps h3 {
    font:600 18px Noto Serif JP
  }
  .steps p {
    font-size:12px
  }
  .faqs summary {
    font-size:24px
  }
  .last h2 {
    font:600 70px/1.45 Noto Serif JP
  }
  .lastCatch {
    font-size:30px
  }
  .lastTrial span {
    font:800 40px/1.35 Noto Sans JP,sans-serif
  }
  .lastTrial del {
    font-size:12px
  }
  .lastTrial strong {
    font:700 40px Montserrat
  }
  .fixedCta a {
    font-size:20px
  }
  .trialLabel b {
    font-size:20px
  }

  .features .method i {
    font-size:20px
  }
  .perkGrid small {
    font-size:12px
  }
  .featurePlusCopy>span {
    font-size:clamp(42px,calc(-2.46px + 4.34vw),60px)
  }
  .fixedCta a {
    width:190px;
    font-size:20px
  }
  .fixedCtaBenefit {
    font-size:14px
  }
  .fixedCtaAction {
    font-size:23px
  }
  .featureGrid h3 {
    font-size:36px
  }
  .turn p {
    font-size:16px
  }
  .voiceCards p {
    font-size:16px
  }
  .voiceCardsDesktop article p {
    font-size:16px
  }
  .flowSimple .steps {
    grid-template-columns:repeat(5,minmax(0,1fr))
  }
}
