@charset "UTF-8";
:root {
  --base-bg: #EDFCFF;
  --key-color: #00C6F7;
  --price-color: #FF628B;
  --price-bg: rgba(255, 98, 139, 0.1);
  --vertical-p: clamp(6rem, 13.333vw, 10rem);
  --side-p: clamp(2rem, 5.333vw, 5rem);
}

.tokuSpe {
  background: var(--base-bg);
  color: #333333;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Meiryo, sans-serif;
  font-size: clamp(1.3rem, 2.133vw, 1.6rem);
  -webkit-font-feature-settings: "palt","pnum";
          font-feature-settings: "palt","pnum";
  line-height: 1.6;
}
.tokuSpe em {
  font-style: normal;
}
.tokuSpe :where(a) {
  color: inherit;
}
@media screen and (hover: hover) {
  .tokuSpe :where(a):hover {
    color: inherit;
  }
}
.tokuSpe :where(a):not([class]) {
  text-decoration: underline;
}
.tokuSpe :where(a):not([class]) * {
  text-decoration: inherit;
}
@media screen and (hover: hover) {
  .tokuSpe :where(a):not([class]):hover {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .tokuSpe {
    letter-spacing: normal;
  }
}

.tokuSpeInnerW {
  --side-p: clamp(2rem, 5.333vw, 10rem);
  max-width: calc(100% - (var(--side-p) * 2));
  margin: 0 auto;
}
@media (max-width: 767px) {
  .tokuSpeInnerW {
    --side-p: max(2rem, 5.333vw);
  }
}

.tokuSpeInner {
  max-width: 95rem;
  margin: 0 auto;
}

.tokuSpeInnerLg {
  max-width: 120rem;
  margin: 0 auto;
}

.tokuSpeSecTitle {
  color: #00C6F7;
  font-size: clamp(3.8rem, 9.333vw, 7rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.15;
}
.tokuSpeSecTitle + * {
  margin-top: var(--mt, clamp(2rem, 5.333vw, 4rem));
}
.tokuSpeSecTitle .tokuSpeBalloon {
  color: #333;
  font-size: clamp(1.7rem, 4vw, 3rem);
  --balloon-w: clamp(1.2rem, 2vw, 1.5rem);
}
.tokuSpeSecTitle .tokuSpePlus {
  display: inline-block;
  font-size: clamp(2.2rem, 5.867vw, 4.8rem);
}

.tokuSpeBalloon {
  --border-w: clamp(0.2rem, 0.08em, 4px);
  --balloon-w: 1em;
  --balloon-bg: var(--base-bg);
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0.1em;
  border: solid currentColor;
  border-width: 0 0 var(--border-w);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.tokuSpeBalloon::before, .tokuSpeBalloon::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: var(--balloon-w);
  margin: auto;
}
.tokuSpeBalloon::before {
  background: currentColor;
}
.tokuSpeBalloon::after {
  background: var(--balloon-bg);
  margin-top: calc(-1 * (var(--border-w) * 1.5));
}

.tokuSpePriceBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  color: var(--price-color);
}
.tokuSpePriceBox + * {
  margin-top: var(--mt, clamp(1rem, 2.667vw, 2.5rem));
}
.tokuSpePriceBox_head {
  display: block;
  width: 100%;
  padding: 0.2em 0.8em;
  border: 1px solid;
  font-size: clamp(1.2rem, 1.867vw, 1.4rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}
.tokuSpePriceBox .tokuSpePriceText:where(:not(:last-child)) {
  padding-bottom: 0.2em;
}

.tokuSpePriceText {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.15em;
  vertical-align: bottom;
  color: var(--price-color);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
.tokuSpePriceText_title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.2em;
}
.tokuSpePriceText_title .tokuSpeBalloon {
  margin-top: auto;
}
.tokuSpePriceText_vertical {
  font-size: 1em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.tokuSpePriceText_num {
  position: relative;
  font-family: "Roboto";
  font-size: 2.7em;
  font-weight: 500;
  line-height: 0.8;
  letter-spacing: -0.03em;
}
.tokuSpePriceText_num_comma {
  position: relative;
  top: -0.12em;
}
.tokuSpePriceText_num_head {
  display: block;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Meiryo, sans-serif;
  font-size: clamp(1.5rem, 2.667vw, 2rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}
.tokuSpePriceText_unit {
  margin-top: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  --mt: 0;
}
.tokuSpePriceText_unit .tokuSpeNote, .tokuSpePriceText_unit .tokuSpeNoteList {
  width: 100%;
  padding: 0 0.5em 0.2em;
  text-align: left;
}
.tokuSpePriceText_tax {
  font-size: 0.28em;
}
.tokuSpePriceText .tokuSpeNote, .tokuSpePriceText .tokuSpeNoteList {
  --mt: 0;
}
.tokuSpePriceText-star .tokuSpePriceText_unit {
  position: relative;
}
.tokuSpePriceText-star .tokuSpePriceText_unit::after {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, currentColor);
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: inline-block;
  vertical-align: middle;
  width: var(--size);
  aspect-ratio: 1;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/webtoku_speed/ic_glitter.webp);
          mask-image: url(../img/webtoku_speed/ic_glitter.webp);
  background-color: var(--color);
  position: absolute;
  bottom: 100%;
  max-width: clamp(1.8rem, 4.8vw, 3.6rem);
}
.tokuSpePriceText-through .tokuSpePriceText_num {
  position: relative;
}
.tokuSpePriceText-through .tokuSpePriceText_num::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0.1em;
  margin: auto;
  border-width: clamp(0.2rem, 0.4vw, 0.3rem) 0;
  border-style: solid;
}

.tokuSpeNote, .tokuSpeNoteList {
  color: #333333;
  font-size: clamp(1.2rem, 1.733vw, 1.4rem);
  font-weight: normal;
  letter-spacing: 0.1em;
}
.tokuSpeNote + *, .tokuSpeNoteList + * {
  margin-top: var(--mt, clamp(2.5rem, 6.667vw, 5rem));
}
.tokuSpeNote + .tokuSpeNote, .tokuSpeNoteList + .tokuSpeNote, .tokuSpeNote + .tokuSpeNoteList, .tokuSpeNoteList + .tokuSpeNoteList, .tokuSpeNote:where(:not(:first-child)), .tokuSpeNoteList:where(:not(:first-child)) {
  margin-top: var(--mt, clamp(0.5rem, 1.333vw, 1rem));
}

.tokuSpeNoteList {
  --space: var(--text-space, 1.5em);
}
.tokuSpeNoteList li {
  list-style: none;
  padding-left: var(--space);
}
.tokuSpeNoteList li::before {
  content: "※";
  display: inline-block;
  width: var(--space);
  margin-left: calc(-1 * var(--space));
}
.tokuSpeNoteList li[data-note] {
  --space: var(--text-space, 2.5em);
}
.tokuSpeNoteList li[data-note]::before {
  content: attr(data-note);
}
.tokuSpeNoteList-noStar > li:not([data-note]) {
  padding-left: 0;
}
.tokuSpeNoteList-noStar > li:not([data-note])::before {
  content: none;
}
.tokuSpeNoteList-dot li::before {
  content: '・';
}

.tokuSpeLead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4em;
  color: #00C6F7;
  font-size: clamp(1.6rem, 4.267vw, 3.2rem);
  font-weight: bold;
  line-height: 1.5;
}
.tokuSpeLead::before, .tokuSpeLead::after {
  content: '';
  width: 0.5em;
  height: 1em;
  background: currentColor;
  -webkit-clip-path: polygon(0 0, 45% 0, 100% 100%, 88% 100%);
          clip-path: polygon(0 0, 45% 0, 100% 100%, 88% 100%);
}
.tokuSpeLead::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.tokuSpeLead + * {
  margin-top: var(--mt, clamp(0.5rem, 1.333vw, 1rem));
}

.tokuSpePlus {
  display: block;
  padding: 0.1em 0.5em;
  background: #FFFF00;
  -webkit-clip-path: polygon(4% 0%, 100% 0%, 96% 100%, 0% 100%);
          clip-path: polygon(4% 0%, 100% 0%, 96% 100%, 0% 100%);
  color: #00C6F7;
  font-size: clamp(3rem, 7.9vw, 9rem);
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
}
.tokuSpePlus + * {
  margin-top: var(--mt, clamp(1rem, 2.667vw, 3rem));
}

.tokuSpeMaker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #FFFF00));
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}

.tokuSpeClm {
  --gap: clamp(2.3rem, 4.667vw, 3.5rem);
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
  counter-reset: boxNum;
}
.tokuSpeClm + * {
  margin-top: var(--mt, clamp(2.5rem, 7.333vw, 5.5rem));
}
.tokuSpeClm + *.tokuSpeNote, .tokuSpeClm + .tokuSpeNoteList {
  --mt: clamp(1rem, 3.333vw, 2.5rem);
}
@media (min-width: 767px) {
  .tokuSpeClm-clm2 {
    --gap: 3rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .tokuSpeClm-clm2 > * {
    width: calc(100%/2 - var(--gap)/2);
  }
  .tokuSpeClm-clm3 {
    --gap: 1.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .tokuSpeClm-clm3 > * {
    width: calc(100% / 3 - (var(--gap) - var(--gap)/3));
  }
}

.tokuSpeHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1rem clamp(1rem, 4vw, 4rem);
  background: #fff;
}
.tokuSpeHead .logo {
  width: clamp(10.9rem, 19.733vw, 14.8rem);
  margin: -1rem 0;
}

.tokuSpeCvBtn {
  --icon-size: clamp(0.5rem, 1.067vw, 0.8rem);
  --icon-aspect: 1/1.5;
  --shadow-w: clamp(0.2rem, 0.533vw, 0.4rem);
  position: relative;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0.5rem, 1.333vw, 1rem);
  padding: clamp(1rem, 2.4vw, 1.8rem) clamp(1.5rem, 3.333vw, 2.5rem);
  background: #FFF100;
  border-radius: 50em;
  -webkit-box-shadow: var(--shadow-w) var(--shadow-w) 0 #D2C700;
          box-shadow: var(--shadow-w) var(--shadow-w) 0 #D2C700;
  color: inherit;
  font-size: clamp(1.3rem, 2.133vw, 1.6rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.tokuSpeCvBtn::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
  margin-right: -1rem;
  margin-right: -0.5em;
}
@media screen and (hover: hover) {
  .tokuSpeCvBtn:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    top: var(--shadow-w);
    left: var(--shadow-w);
  }
}
.tokuSpeCvBtn_balloon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.3em 2.4em;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  background: #fff;
  border: clamp(0.1rem, 0.4vw, 0.3rem) solid #FFF100;
  border-radius: 2em;
  font-size: clamp(1.2rem, 2.4vw, 1.8rem);
}
.tokuSpeCvBtn_balloon::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  --icon-color: #fff;
  --icon-size: 3rem;
  --icon-aspect: 1/0.25;
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: auto;
}
@media (max-width: 767px) {
  .tokuSpeCvBtn_balloon {
    padding: 0.3em 3em;
  }
}
.tokuSpeCvBtn_text small {
  font-size: 0.8em;
  margin-inline: 0.3em;
}

.tokuSpeCvFix {
  position: fixed;
  bottom: 1.6rem;
  right: 1.6rem;
  z-index: 10;
}
@media (max-width: 767px) {
  .tokuSpeCvFix {
    bottom: 1.2rem;
    left: 1.8rem;
    right: 1.8rem;
  }
}
.tokuSpeCvFix.js-tokuSpeCvFix {
  -webkit-transform: translate(0, 150%);
          transform: translate(0, 150%);
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}
.tokuSpeCvFix.js-tokuSpeCvFix.is-animation {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.tokuSpeCvFix .tokuSpeCvBtn {
  gap: 1.5em;
  padding: 2em 2em 1.5em 2.5em;
  border-radius: 1em;
  font-size: clamp(1.7rem, 2.667vw, 2rem);
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .tokuSpeCvFix .tokuSpeCvBtn {
    padding: 1em 1em 0.8em;
    border-radius: 2em;
  }
  .tokuSpeCvFix .tokuSpeCvBtn::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1em;
    margin: auto;
    --icon-size: 0.7rem;
  }
}

.tokuSpeFoot {
  padding: clamp(2rem, 4.667vw, 3.5rem) var(--side-p);
  background: #fff;
  text-align: center;
}

.tokuSpeCopy {
  font-size: clamp(1rem, 1.867vw, 1.4rem);
}

.tokuSpeKv {
  position: relative;
  padding: 0 var(--side-p);
  background: #1DD2FF url(../img/webtoku_speed/kv_bg.webp) no-repeat 50% 50%/cover;
  background-blend-mode: overlay;
}
@media (max-width: 767px) {
  .tokuSpeKv {
    background-image: url(../img/webtoku_speed/kv_bg_sp.webp);
    background-size: 100% auto;
    background-position: 50% 0;
  }
}
.tokuSpeKv::before {
  content: '';
  position: absolute;
  bottom: clamp(1rem, 3vw, 3.5rem);
  left: 0;
  right: 0;
  width: clamp(3.6rem, 7.867vw, 5.9rem);
  aspect-ratio: 1;
  margin: auto;
  background: url(../img/webtoku_speed/kv_ic_next.webp) no-repeat 50% 100%/contain;
}
.tokuSpeKv::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: clamp(5rem, 13vw, 18.7rem);
  -webkit-clip-path: polygon(50% 50%, 100% 0, 100% 100%, 50% 50%, 0 100%, 0 0);
          clip-path: polygon(50% 50%, 100% 0, 100% 100%, 50% 50%, 0 100%, 0 0);
  background: #CBF6FF;
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  z-index: 4;
}
.tokuSpeKv .tokuSpeInner {
  --gap: 2.5rem;
  position: relative;
  display: grid;
  place-items: center;
  gap: var(--gap) 3.5rem;
  max-width: 127rem;
  padding: clamp(1.2rem, 3.2vw, 5rem) 0 clamp(6rem, 16vw, 12rem);
}
@media (max-width: 767px) {
  .tokuSpeKv .tokuSpeInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.tokuSpeKv_main {
  display: contents;
}
@media (max-width: 767px) {
  .tokuSpeKv_main {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: max(1rem, 2.667vw);
    max-width: 100%;
  }
}
.tokuSpeKv_main::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  right: clamp(0rem, 3.333vw, 2.5rem);
  width: clamp(12.2rem, 72.667vw, 54.5rem);
  max-width: 43%;
  background: url(../img/webtoku_speed/kv_people.webp) no-repeat 50% 100%/contain;
}
@media (max-width: 767px) {
  .tokuSpeKv_main::before {
    z-index: 3;
    right: -11%;
    bottom: -21%;
    width: max(12.2rem, 32.533vw);
    background-image: url(../img/webtoku_speed/kv_people_sp.webp);
  }
}
.tokuSpeKv_copy {
  width: clamp(32.8rem, 87.333vw, 65.5rem);
  max-width: 100%;
  grid-area: 1/1;
  z-index: 2;
}
.tokuSpeKv_title {
  width: clamp(25.2rem, 171.2vw, 128.4rem);
  max-width: 100%;
  grid-area: 2/1/3/3;
  z-index: 2;
}
@media (max-width: 767px) {
  .tokuSpeKv_title {
    width: max(25.2rem, 67.2vw);
    max-width: 77%;
  }
}
.tokuSpeKv .tokuSpeOutline {
  grid-area: 1/2;
  margin-top: auto;
  z-index: 2;
}
@media (max-width: 767px) {
  .tokuSpeKv .tokuSpeOutline {
    width: calc(100% + var(--side-p));
    margin: 0 calc(-1 *  var(--side-p)/2);
    z-index: 4;
  }
}
.tokuSpeKv.js-move .tokuSpeKv_copy {
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  opacity: 0;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);
          transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);
  -webkit-transition-property: opacity,-webkit-transform;
  transition-property: opacity,-webkit-transform;
  transition-property: transform,opacity;
  transition-property: transform,opacity,-webkit-transform;
}
.tokuSpeKv.js-move .tokuSpeKv_title {
  -webkit-transform: translateX(-5%);
          transform: translateX(-5%);
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #000), color-stop(66%, transparent));
  -webkit-mask-image: linear-gradient(to right, #000 33%, transparent 66%);
          mask-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #000), color-stop(66%, transparent));
          mask-image: linear-gradient(to right, #000 33%, transparent 66%);
  -webkit-mask-size: 300% 100%;
          mask-size: 300% 100%;
  -webkit-mask-position: 100% 0;
          mask-position: 100% 0;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}
.tokuSpeKv.js-move.is-animation .tokuSpeKv_copy {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  opacity: 1;
}
.tokuSpeKv.js-move.is-animation .tokuSpeKv_title {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}

.tokuSpeOutline > dt {
  --icon-color: var(--price-color);
  position: relative;
  background: var(--icon-color);
  color: #fff;
  text-align: center;
  padding: 0.5rem 0;
}
.tokuSpeOutline > dt::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: auto;
}
@media (max-width: 767px) {
  .tokuSpeOutline > dt {
    --icon-size: clamp(2rem, 4vw, 3rem);
  }
}
.tokuSpeOutline > dd {
  --gap: clamp(0.8rem, 2.5vw, 2.5rem);
  --base-bg: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--gap);
  padding: clamp(1.5rem, 4vw, 3.5rem) 2rem clamp(1rem, 2.667vw, 2rem);
  background: var(--base-bg);
}
.tokuSpeOutline > dd .tokuSpeAttnText {
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
}
.tokuSpeOutline > dd > * {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 767px) {
  .tokuSpeOutline > dd > *:not(:first-child) {
    padding-left: var(--gap);
    border-left: 2px solid #CFCFCF;
  }
}
@media (max-width: 767px) {
  .tokuSpeOutline > dd {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.tokuSpeOutline_balloon {
  position: absolute;
  z-index: 0;
  bottom: 100%;
  right: 0;
  margin-bottom: 4%;
  -webkit-transform: translate(40%, 0);
          transform: translate(40%, 0);
  width: clamp(5.5rem, 14.933vw, 11.2rem);
}
@media (max-width: 767px) {
  .tokuSpeOutline_balloon {
    right: auto;
    left: 0;
    -webkit-transform: translate(-30%, 42%) rotate(-13deg);
            transform: translate(-30%, 42%) rotate(-13deg);
    width: max(5.2rem, 11vw);
  }
}
.tokuSpeOutline_title {
  position: relative;
  z-index: 1;
  max-width: 105%;
  margin: -10% -2.5% 0;
}
@media (max-width: 767px) {
  .tokuSpeOutline_title {
    max-width: 88%;
    margin: -5% auto 0;
    left: 1%;
  }
}
.tokuSpeOutline_month .tokuSpePriceText {
  font-size: clamp(2.8rem, 5.067vw, 3.8rem);
}
@media (max-width: 767px) {
  .tokuSpeOutline_month .tokuSpePriceText {
    padding-bottom: 0;
  }
}
.tokuSpeOutline_month .tokuSpePriceText_title {
  font-size: 0.947em;
}
.tokuSpeOutline_month .tokuSpePriceText_title .tokuSpeBalloon {
  font-size: clamp(1.4rem, 2.667vw, 2rem);
}
.tokuSpeOutline_month .tokuSpePriceText_num {
  line-height: 0.7;
}
.tokuSpeOutline_month .tokuSpePriceText_unit::after {
  width: 3rem;
  right: -1rem;
}
.tokuSpeOutline_month .tokuSpePriceText_tax {
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}
.tokuSpeOutline_early {
  --price-color: #00C6F7;
}
.tokuSpeOutline_early .tokuSpePriceText {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
}
@media (max-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceText {
    margin-top: -0.2em;
  }
}
@media (min-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceText_vertical {
    padding-bottom: 0.2em;
  }
}
@media (max-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceText_vertical {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin: auto 0;
  }
}
.tokuSpeOutline_early .tokuSpePriceText_num {
  font-size: 3.75em;
  line-height: 0.7;
}
@media (max-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceText_num {
    font-size: 1.389em;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceText_unit {
    margin: auto 0;
  }
}
@media (min-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceText_unit::after {
    margin-bottom: 1.1rem;
  }
}
@media (max-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceText_unit::after {
    left: 100%;
    bottom: 10%;
    margin-left: 0.2rem;
  }
}
@media (min-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceBox {
    gap: clamp(0.5rem, 1.333vw, 1.5rem);
  }
}
@media (max-width: 767px) {
  .tokuSpeOutline_early .tokuSpePriceBox {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.tokuSpeOutline_rate {
  --gap: 1.5rem;
  -webkit-column-gap: var(--gap);
          column-gap: var(--gap);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (min-width: 767px) {
  .tokuSpeOutline_rate {
    margin: -18px 0 -5px;
  }
}
.tokuSpeOutline_rate .tokuSpeRateBox {
  width: calc(50% - (var(--gap)/2));
}
.tokuSpeOutline_rate .tokuSpeNoteList {
  font-size: 1rem;
  line-height: 1.4;
}

.tokuSpeAttnText {
  display: block;
  padding: 0.2em;
  background: var(--price-bg);
  color: var(--price-color);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}
.tokuSpeAttnText .tokuSpePriceText {
  display: inline-block;
  font-size: 1em;
}
.tokuSpeAttnText .tokuSpePriceText_num {
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
}
.tokuSpeAttnText .tokuSpePriceText_unit, .tokuSpeAttnText .tokuSpePriceText_tax {
  font-size: 0.8em;
}

.tokuSpeRateBox {
  text-align: center;
}
.tokuSpeRateBox .tokuSpeLead {
  color: inherit;
  font-size: clamp(1.2rem, 2.133vw, 1.6rem);
}
.tokuSpeRateBox .tokuSpePriceText {
  position: relative;
  margin: 0.7rem 0;
  font-family: "Roboto";
  font-size: clamp(2rem, 4.533vw, 3.4rem);
  line-height: 1;
}
.tokuSpeRateBox .tokuSpePriceText_num {
  font-size: clamp(4.8rem, 9.867vw, 7.4rem);
  letter-spacing: -0.04em;
}
.tokuSpeRateBox .tokuSpePriceText::before, .tokuSpeRateBox .tokuSpePriceText::after {
  content: '';
  pointer-events: none;
  width: clamp(1.8rem, 3.6vw, 2.7rem);
  aspect-ratio: 54/119;
  background: url(../img/webtoku_speed/ic_leaf.webp) no-repeat 100% 50%/contain;
}
.tokuSpeRateBox .tokuSpePriceText::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.tokuSpeRateBox .tokuSpePriceText_unit {
  width: 0.8em;
}
.tokuSpeRateBox .tokuSpeNote, .tokuSpeRateBox .tokuSpeNoteList {
  font-size: 1rem;
}
@media (max-width: 767px) {
  .tokuSpeRateBox .tokuSpeNote, .tokuSpeRateBox .tokuSpeNoteList {
    padding: 0;
  }
}

.tokuSpeStartSec {
  --base-bg: #fff;
  position: relative;
  background: var(--base-bg);
  background-image: repeating-linear-gradient(-8deg, var(--stripe-color, #E2FAFF), var(--stripe-color, #E2FAFF) 6px, var(--stripe-bg, transparent) 0, var(--stripe-bg, transparent) 13.8px);
}
.tokuSpeStartSec::before {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
  left: 0;
  bottom: 0;
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  position: absolute;
  --icon-aspect: 1/0.28;
  --icon-color: #EDFCFF;
  --icon-size: 63vw;
}
.tokuSpeStartSec::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
          clip-path: polygon(100% 0, 0 50%, 100% 100%);
  right: 0;
  bottom: 0;
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  position: absolute;
  --icon-aspect: 1/0.28;
  --icon-color: #00C6F7;
  --icon-size: 37vw;
}
.tokuSpeStartSec .tokuSpeInnerW {
  padding: clamp(6.5rem, 17.333vw, 15rem) var(--side-p) clamp(6rem, 16vw, 20rem);
  background: #fff;
}
@media (max-width: 767px) {
  .tokuSpeStartSec .tokuSpeInnerW {
    --side-p: max(2.2rem, 5.867vw);
  }
}
.tokuSpeStartSec .tokuSpeInner {
  max-width: 85rem;
}

.tokuSpeStartBox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.tokuSpeStartBox_before.js-move, .tokuSpeStartBox_after.js-move {
  -webkit-transform: translateX(-5%);
          transform: translateX(-5%);
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #000), color-stop(66%, transparent));
  -webkit-mask-image: linear-gradient(to right, #000 33%, transparent 66%);
          mask-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #000), color-stop(66%, transparent));
          mask-image: linear-gradient(to right, #000 33%, transparent 66%);
  -webkit-mask-size: 300% 100%;
          mask-size: 300% 100%;
  -webkit-mask-position: 100% 0;
          mask-position: 100% 0;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}
.tokuSpeStartBox_before.js-move.is-animation, .tokuSpeStartBox_after.js-move.is-animation {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}
.tokuSpeStartBox_before {
  margin-left: -2rem;
  margin-right: -2rem;
}
.tokuSpeStartBox_before + * {
  margin-top: var(--mt, clamp(3rem, 8vw, 6rem));
}
@media (max-width: 767px) {
  .tokuSpeStartBox_before .tokuSpeLead {
    letter-spacing: 0.05em;
  }
}
@media (max-width: 767px) {
  .tokuSpeStartBox_before .tokuSpePlus {
    margin-left: 0.3em;
    margin-right: 0.3em;
  }
}
.tokuSpeStartBox_before_text {
  display: block;
  color: #00C6F7;
  font-size: clamp(1.7rem, 4.53vw, 4rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
.tokuSpeStartBox_before_text .tokuSpeNum {
  font-size: 1.2em;
  letter-spacing: -0.02em;
}
.tokuSpeStartBox_before_text .tokuSpeNum small {
  font-size: 0.958em;
  margin-left: 0.05em;
}
.tokuSpeStartBox_before_text .tokuSpePriceText {
  --price-color: currentColor;
  vertical-align: baseline;
  font-size: 1em;
  line-height: 0.8;
}
.tokuSpeStartBox_before_text .tokuSpePriceText_num {
  font-size: clamp(3.6rem, 9.59vw, 8.1rem);
  line-height: 0.6;
}
.tokuSpeStartBox_before_text .tokuSpePriceText_unit {
  gap: 0.2em;
}
@media (max-width: 767px) {
  .tokuSpeStartBox_before_text .tokuSpePriceText_unit .tokuSpePriceText_tax {
    font-size: max(1rem, 2.667vw);
    margin: 0 -0.5em -0.2em;
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
  }
}
.tokuSpeStartBox_before::after {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, currentColor);
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: inline-block;
  vertical-align: middle;
  width: var(--size);
  aspect-ratio: 1;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/webtoku_speed/ic_next.webp);
          mask-image: url(../img/webtoku_speed/ic_next.webp);
  background-color: var(--color);
  content: '';
  display: block;
  aspect-ratio: 1/ 0.64;
  color: #00C6F7;
  width: clamp(2.6rem, 6.933vw, 6.6rem);
  margin: clamp(1.8rem, 4.8vw, 5.2rem) auto;
}
@media (max-width: 767px) {
  .tokuSpeStartBox_before_net {
    display: block;
    margin-bottom: 0.2em;
    font-size: max(1.6rem, 4.267vw);
  }
}
.tokuSpeStartBox_after + * {
  margin-top: var(--mt, clamp(4.5rem, 6.667vw, 5rem));
}
.tokuSpeStartBox_after .tokuSpeBalloon {
  padding-bottom: 0.2em;
  color: var(--price-color);
  font-size: clamp(2.5rem, 6.667vw, 6.2rem);
}
.tokuSpeStartBox_after .tokuSpeBalloon + * {
  margin-top: var(--mt, clamp(3rem, 8vw, 6rem));
}
.tokuSpeStartBox_after .tokuSpePriceBox {
  gap: 1.8rem 1rem;
}
@media (min-width: 767px) {
  .tokuSpeStartBox_after .tokuSpePriceBox {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.tokuSpeStartBox_after .tokuSpePriceBox_spec {
  margin: auto 0;
  padding: clamp(0.4rem, 1.067vw, 1.5rem);
  background: var(--price-color);
  color: #fff;
  font-size: clamp(2rem, 3.867vw, 2.9rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.1;
  letter-spacing: -0.04em;
}
@media (min-width: 767px) {
  .tokuSpeStartBox_after .tokuSpePriceBox_spec {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.tokuSpeStartBox_after .tokuSpePriceBox_spec_num {
  font-family: "Roboto";
  font-size: clamp(2.5rem, 6.667vw, 6.8rem);
  font-weight: 400;
}
.tokuSpeStartBox_after .tokuSpePriceBox_spec_unit {
  margin-left: 0.05em;
  font-family: "Roboto";
  font-size: clamp(2.4rem, 6.4vw, 5.8rem);
  font-weight: 400;
}
.tokuSpeStartBox_after .tokuSpePriceBox .tokuSpePriceText {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: clamp(3.1rem, 8.267vw, 6.7rem);
}
.tokuSpeStartBox_after .tokuSpePriceBox .tokuSpePriceText_num {
  line-height: 0.7;
}
.tokuSpeStartBox_after .tokuSpeAttnText {
  font-size: clamp(1.5rem, 3.733vw, 2.8rem);
}
.tokuSpeStartBox_after .tokuSpeAttnText .tokuSpeNum {
  font-size: clamp(1.6rem, 4.267vw, 3.3rem);
}

.tokuSpePlanCalc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
  font-size: clamp(1.4rem, 3.067vw, 2.3rem);
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .tokuSpePriceBox + .tokuSpePlanCalc {
    margin-top: max(2.5rem, 6.667vw);
  }
}
.tokuSpePlanCalc + * {
  margin-top: var(--mt, clamp(1.5rem, 2.667vw, 2rem));
}
.tokuSpePlanCalc_item {
  display: inline-block;
  padding: 0.2em clamp(1rem, 2.667vw, 1.5rem);
  border: 1px solid #979797;
  text-align: center;
}
@media (min-width: 767px) {
  .tokuSpePlanCalc_item {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}
.tokuSpePlanCalc_plus {
  width: 0.5em;
  text-indent: -0.25em;
  text-align: center;
}

.tokuSpeWifi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .tokuSpeWifi {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.tokuSpeWifi + * {
  margin-top: var(--mt, clamp(1.5rem, 4vw, 3rem));
}
.tokuSpeWifi_img {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: clamp(25.8rem, 34.8vw, 26.1rem);
}
@media (max-width: 767px) {
  .tokuSpeWifi_img {
    width: max(25.8rem, 76.533vw);
    margin-bottom: -26%;
  }
  .tokuSpeWifi_img img {
    width: 100%;
  }
}
.tokuSpeWifi_inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 47rem;
  width: 100%;
  padding: clamp(4rem, 10.667vw, 8rem) clamp(5rem, 10vw, 7.5rem) clamp(4rem, 9.333vw, 7rem);
  line-height: 1.5;
}
.tokuSpeWifi_inner::before, .tokuSpeWifi_inner::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
.tokuSpeWifi_inner::before {
  z-index: 0;
  left: -67px;
  background: url(../img/webtoku_speed/price_wifi_bg.webp) no-repeat 50% 50%/100% 100%;
}
.tokuSpeWifi_inner::after {
  z-index: 2;
  bottom: 5px;
  right: -5px;
  left: -27px;
  background: url(../img/webtoku_speed/price_wifi_bg02.webp) no-repeat 50% 50%/100% 100%;
}
.tokuSpeWifi_inner > * {
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  .tokuSpeWifi_inner {
    max-width: max(28.7rem, 76.533vw);
    line-height: 1.3;
    text-align: center;
  }
  .tokuSpeWifi_inner::before {
    left: -1rem;
    right: -0.8rem;
    z-index: 1;
  }
  .tokuSpeWifi_inner::after {
    left: 0;
    right: -1.2rem;
  }
}
.tokuSpeWifi_title {
  color: #00C6F7;
  font-size: clamp(1.6rem, 2.667vw, 2rem);
  font-weight: bold;
  letter-spacing: 0.1em;
}
.tokuSpeWifi_title small {
  font-size: 0.85em;
}
@media (max-width: 767px) {
  .tokuSpeWifi_title + * {
    margin-top: max(1rem, 2.667vw);
  }
}
.tokuSpeWifi_text {
  font-size: clamp(1.4rem, 2vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.1em;
}

.tokuSpeCampSec {
  padding: var(--vertical-p) var(--side-p) clamp(7.5rem, 18.667vw, 14rem);
}
.tokuSpeCampSec .tokuSpeSecTitle {
  font-size: clamp(3.8rem, 9.067vw, 6.8rem);
}
.tokuSpeCampSec .tokuSpeSecTitle_and {
  background: linear-gradient(160deg, #00C6F7 50%, #0ECC7C 0%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.tokuSpeCampSec .tokuSpeSecTitle_special {
  color: #0ECC7C;
}
.tokuSpeCampSec .tokuSpeSecTitle small {
  font-size: 0.853em;
}

.tokuSpeRibbon {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 0.2em 1em;
  background: #FFFF00;
  color: #00C6F7;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: normal;
}
.tokuSpeRibbon + * {
  margin-top: var(--mt, clamp(0.8rem, 2vw, 1.5rem));
}
@media (max-width: 767px) {
  .tokuSpeRibbon + * {
    --mt: max(2rem, 5.333vw);
  }
}
.tokuSpeRibbon::before, .tokuSpeRibbon::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0.8em;
  background: inherit;
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%, 0 100%, 0 0);
          clip-path: polygon(100% 0, 0 50%, 100% 100%, 0 100%, 0 0);
}
.tokuSpeRibbon::before {
  right: 100%;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.tokuSpeRibbon::after {
  left: 100%;
}

.tokuSpeNum {
  font-family: "Roboto";
  font-weight: 500;
}

.tokuSpePeriod {
  display: block;
  font-size: clamp(1.6rem, 2.933vw, 2.2rem);
  font-weight: bold;
  text-align: center;
}
.tokuSpePeriod + * {
  margin-top: var(--mt, clamp(3rem, 6.667vw, 5rem));
}
.tokuSpeSecTitle + .tokuSpePeriod {
  margin-top: var(--mt, 1rem);
}
.tokuSpePeriod .tokuSpeNum {
  font-size: 1.455em;
}

.tokuSpeCampBox {
  --box-color: #00C6F7;
  background: #fff;
  border: 2px solid var(--box-color);
}
.tokuSpeClm .tokuSpeCampBox {
  height: 100%;
}
.tokuSpeCampBox > :where(dt) {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: clamp(8rem, 14.667vw, 11rem);
  padding: 0.8em;
  background: var(--box-color);
  color: #fff;
  font-size: clamp(1.8rem, 4.8vw, 3.6rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 767px) {
  .tokuSpeCampBox > :where(dt) {
    letter-spacing: 0.1em;
  }
  .tokuSpeClm-clm2 .tokuSpeCampBox > :where(dt) {
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: normal;
  }
}
.tokuSpeCampBox > :where(dd) {
  padding: 2rem;
  text-align: center;
}
.tokuSpeCampBox > :where(dd) .tokuSpeBoxText {
  font-size: clamp(1.8rem, 3.467vw, 2.6rem);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .tokuSpeCampBox > :where(dd) .tokuSpeBoxText {
    line-height: 1.4;
  }
  .tokuSpeCampBox > :where(dd) .tokuSpeBoxText .tokuSpeNote, .tokuSpeCampBox > :where(dd) .tokuSpeBoxText .tokuSpeNoteList {
    display: block;
    --mt: 1rem;
  }
  .tokuSpeCampBox > :where(dd) .tokuSpeBoxText .tokuSpeBoxNum {
    line-height: 1.5;
  }
}
.tokuSpeCampBox > :where(dd) .tokuSpeBoxText + * {
  margin-top: var(--mt, clamp(2.5rem, 4.667vw, 3.5rem));
}
.tokuSpeCampBox > :where(dd) .tokuSpeBoxText + *:where(.tokuSpeBoxImg) {
  margin-top: var(--mt, clamp(1.8rem, 4vw, 3.5rem));
}
.tokuSpeClm-clm2 .tokuSpeCampBox > :where(dd) .tokuSpeBoxText {
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
}
.tokuSpeClm-clm3 .tokuSpeCampBox > :where(dd) .tokuSpeBoxText {
  font-size: clamp(1.6rem, 2.533vw, 1.9rem);
}
.tokuSpeCampBox > :where(dd) .tokuSpeNote, .tokuSpeCampBox > :where(dd) .tokuSpeNoteList {
  --mt: clamp(1.5rem, 4vw, 3rem);
  font-size: clamp(1.2rem, 1.733vw, 1.3rem);
}
.tokuSpeCampBox > :where(dd) .tokuSpeNoteList {
  text-align: left;
}
.tokuSpeCampBox_num {
  position: absolute;
  top: -0.4rem;
  bottom: 1rem;
  left: -0.4rem;
  aspect-ratio: 1.4/1;
  padding: 0.7em;
  background: #FFFF00;
  -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);
          clip-path: polygon(100% 0, 0 0, 0 100%);
  color: var(--box-color);
  font-size: clamp(1rem, 1.867vw, 1.4rem);
  font-weight: bold;
  text-align: left;
  line-height: 1;
  letter-spacing: normal;
}
@media (max-width: 767px) {
  .tokuSpeCampBox_num {
    max-width: 10em;
    max-height: 7em;
    bottom: 1.5rem;
    max-width: max(10rem, 26.667vw);
  }
}
.tokuSpeCampBox_num > span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
.tokuSpeCampBox_num > span::after {
  counter-increment: boxNum;
  content: counter(boxNum,decimal-leading-zero);
  display: block;
  font-family: "Roboto";
  font-size: clamp(2.5rem, 5.067vw, 3.8rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  text-align: left;
}
.tokuSpeCampBox_con_item {
  --box-p: 2rem;
}
.tokuSpeCampBox_con_item:not(:last-child) {
  padding-right: var(--box-p);
}
.tokuSpeCampBox_con_item:not(:first-child) {
  padding-left: var(--box-p);
  border-style: dotted;
  border-color: #C9C9C9;
  border-width: 0 0 0 2px;
}
@media (min-width: 767px) {
  .tokuSpeCampBox_con {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .tokuSpeCampBox_con_item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 1rem 0;
    container: textSize / inline-size;
  }
  @container textSize (max-width: 300px) {
    .tokuSpeCampBox_con_item .tokuSpeBoxText {
      font-size: clamp(1.8rem, 2.933vw, 2.2rem);
      line-height: 1.55;
    }
    .tokuSpeCampBox_con_item .tokuSpeCampImg01 {
      width: 118px;
    }
    .tokuSpeCampBox_con_item .tokuSpeSpec > dt {
      font-size: clamp(1.1rem, 1.867vw, 1.4rem);
    }
    .tokuSpeCampBox_con_item .tokuSpeSpec > dt em {
      font-size: 1em;
    }
    .tokuSpeCampBox_con_item .tokuSpeSpec-price > dd {
      font-size: 2.5rem;
    }
    .tokuSpeCampBox_con_item .tokuSpeSpec-price > dd .tokuSpeBoxUnit {
      font-size: 1.4rem;
      display: block;
      margin-top: 0.2em;
    }
  }
}
@media (max-width: 767px) {
  .tokuSpeCampBox_con {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .tokuSpeCampBox_con_item {
    --box-p: 3rem;
  }
  .tokuSpeCampBox_con_item:not(:last-child) {
    padding-right: 0;
    padding-bottom: var(--box-p);
  }
  .tokuSpeCampBox_con_item:not(:first-child) {
    padding-left: 0;
    padding-top: var(--box-p);
    border-width: 2px 0 0;
  }
  .tokuSpeCampBox_con + .tokuSpeNote, .tokuSpeCampBox_con + .tokuSpeNoteList {
    --mt: 3rem;
  }
}
.tokuSpeCampBox_clm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
.tokuSpeCampBox_clm .tokuSpeBoxImg {
  max-width: 45%;
  margin: 0;
}
@media (max-width: 767px) {
  .tokuSpeCampBox_clm .tokuSpeBoxImg {
    max-width: 40%;
  }
}
@media (min-width: 767px) {
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeCampImg03 {
    margin-top: 4.5rem;
  }
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeSpecialImg02 {
    margin-top: 4.5rem;
  }
}
@media (max-width: 767px) {
  .tokuSpeCampBox :where(.tokuSpeBoxImg) {
    max-width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeCampImg02 {
    max-width: 50%;
  }
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeCampImg03 {
    margin-top: 1.5rem;
  }
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeCampImg04 {
    max-width: 66%;
    margin-top: 2rem;
  }
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeCampImg05 {
    max-width: 26%;
  }
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeSpecialImg01 {
    max-width: 55%;
    margin-top: 1.6rem;
  }
  .tokuSpeCampBox :where(.tokuSpeBoxImg).tokuSpeSpecialImg02 {
    max-width: 56%;
  }
}
.tokuSpeCampBox-special {
  --box-color: #0ECC7C;
}
.tokuSpeCampBox-cleaner .tokuSpeBoxText {
  z-index: 1;
  margin: 0.3rem 0 auto 0;
  line-height: 1.7;
  text-align: left;
}
.tokuSpeCampBox-cleaner .tokuSpeBoxImg {
  max-width: 50%;
  margin: 0 -1rem -2.5rem -4rem;
}
@media (max-width: 767px) {
  .tokuSpeCampBox-cleaner .tokuSpeBoxImg {
    margin-bottom: 0;
  }
}

.tokuSpeSpec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
.tokuSpeSpec > dt {
  padding: 0.2em 0.4em;
  background: #FFFF00;
  color: #00C6F7;
  font-size: clamp(1.1rem, 2.133vw, 1.6rem);
}
.tokuSpeSpec > dt em {
  font-size: clamp(1.6rem, 2.933vw, 2.2rem);
  line-height: 1;
}
.tokuSpeSpec > dd {
  font-size: clamp(1.5rem, 2.4vw, 1.8rem);
}
.tokuSpeSpec > dd:not(:last-child) {
  margin-bottom: 1rem;
}
.tokuSpeSpec-price > dd {
  font-size: clamp(2.2rem, 4vw, 3rem);
  line-height: 1.2;
}
@media (max-width: 767px) {
  .tokuSpeSpec-price > dd:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}
.tokuSpeSpec-router > dt {
  background: #EDFCFF;
}
@media (max-width: 767px) {
  .tokuSpeSpec-router > dt {
    padding: 0.3em 0.8em;
  }
}

.tokuSpeBoxNum {
  font-size: 1.333em;
  line-height: 1.2;
}

.tokuSpeBoxUnit {
  font-size: clamp(1.1rem, 2.133vw, 1.6rem);
}

.tokuSpeEarlySec {
  --base-bg: #fff;
  position: relative;
  padding: var(--vertical-p) var(--side-p);
  background: var(--base-bg);
}
.tokuSpeEarlySec::before, .tokuSpeEarlySec::after {
  --icon-color: transparent;
  --icon-size: max(19.2rem, 30vw);
  opacity: 0.1;
}
.tokuSpeEarlySec::before {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
  left: 0;
  top: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  position: absolute;
  --icon-aspect: 1/0.28;
  background-image: repeating-linear-gradient(-8deg, var(--stripe-color, #E2FAFF), var(--stripe-color, #E2FAFF) 6px, var(--stripe-bg, transparent) 0, var(--stripe-bg, transparent) 13.8px);
  --stripe-color: #FF628B;
}
@media (max-width: 767px) {
  .tokuSpeEarlySec::before {
    --icon-aspect: 1/0.33;
  }
}
.tokuSpeEarlySec::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
          clip-path: polygon(100% 0, 0 50%, 100% 100%);
  right: 0;
  bottom: 0;
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  position: absolute;
  --icon-aspect: 1/0.28;
  background-image: repeating-linear-gradient(-8deg, var(--stripe-color, #E2FAFF), var(--stripe-color, #E2FAFF) 6px, var(--stripe-bg, transparent) 0, var(--stripe-bg, transparent) 13.8px);
  --stripe-color: #00C6F7;
}
@media (max-width: 767px) {
  .tokuSpeEarlySec::after {
    --icon-aspect: 1/0.33;
  }
}
.tokuSpeEarlySec .tokuSpeSecTitle {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  color: var(--price-color);
}
.tokuSpeEarlySec .tokuSpeSecTitle .tokuSpeBalloon {
  margin-left: 0;
  padding-bottom: 0.15em;
  letter-spacing: 0.18em;
}
.tokuSpeEarlySec .tokuSpeSecTitle .tokuSpePriceText {
  gap: 0.3em;
}
@media (max-width: 767px) {
  .tokuSpeEarlySec .tokuSpeSecTitle .tokuSpePriceText {
    font-size: max(3.2rem, 8.5vw);
  }
}
.tokuSpeEarlySec .tokuSpeSecTitle .tokuSpePriceText_unit::after {
  margin: 0 0.6em 0.25em 0;
}
@media (max-width: 767px) {
  .tokuSpeEarlySec .tokuSpeSecTitle .tokuSpePriceText_unit::after {
    max-width: 0.8em;
    margin-right: 0;
    margin-bottom: 0;
  }
}
.tokuSpeEarlySec .tokuSpeSecTitle .tokuSpePriceText_num {
  font-size: clamp(10rem, 23.067vw, 17.3rem);
  line-height: 0.65;
}
.tokuSpeEarlySec .tokuSpeSecTitle .tokuSpePriceText_num_head {
  letter-spacing: 0.2em;
  text-indent: 0.4em;
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .tokuSpeEarlySec .tokuSpeSecTitle .tokuSpePriceText_num_head {
    margin-bottom: 0.8em;
  }
}

@media (max-width: 767px) {
  .tokuSpeEntryBoxWrap {
    --gap: max(1.1rem, 2.933vw);
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .tokuSpeSecTitle + .tokuSpeEntryBoxWrap {
    margin-top: max(3.5rem, 9.333vw);
  }
  .tokuSpeEntryBoxWrap > * {
    width: calc(100%/2 - var(--gap)/2);
  }
}

.tokuSpeEntryBox {
  --color: var(--box-color, var(--key-color));
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  padding: 2.5rem 1.5rem;
  background: #fff;
  border: 1px solid transparent;
  text-align: center;
  --box-color: #FF628B;
  border-color: var(--box-color);
  padding: clamp(2.8rem, 4.533vw, 3.4rem) clamp(1.5rem, 4.533vw, 3.4rem);
}
.tokuSpeClm .tokuSpeEntryBox {
  height: 100%;
}
.tokuSpeEntryBox::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: inherit;
  border-color: var(--color);
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tokuSpeEntryBox::before {
  opacity: 0.6;
}
.tokuSpeEntryBox .tokuSpeBoxText {
  font-size: clamp(1.5rem, 2.533vw, 1.9rem);
}
@media (max-width: 767px) {
  .tokuSpeEntryBox .tokuSpeBoxText {
    line-height: 1.45;
  }
}
.tokuSpeEntryBox .tokuSpeBoxText em {
  font-size: inherit;
}
.tokuSpeEntryBox .tokuSpeBoxText small {
  font-size: clamp(1rem, 1.867vw, 1.4rem);
}
.tokuSpeEntryBox .tokuSpePriceText {
  vertical-align: text-bottom;
}
@media (max-width: 767px) {
  .tokuSpeEntryBox .tokuSpePriceText {
    vertical-align: -0.15em;
  }
}
.tokuSpeEntryBox .tokuSpePriceText_num {
  font-size: 2em;
}
@media (max-width: 767px) {
  .tokuSpeEntryBox .tokuSpePriceText_num {
    margin-top: 0.15em;
    line-height: 0.7;
  }
}

.tokuSpeCustomSec {
  padding: var(--vertical-p) var(--side-p);
}
.tokuSpeCustomSec .tokuSpeSecTitle .tokuSpeBalloon {
  margin-bottom: 1.5rem;
  padding-bottom: 0.25em;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .tokuSpeCustomSec .tokuSpeSecTitle {
    line-height: 1.3;
  }
}

@media (max-width: 767px) {
  .tokuSpePlanBoxWrap {
    --gap: max(3rem, 8vw);
  }
}

.tokuSpePlanBox {
  --box-side: clamp(2.8rem, 5.333vw, 4rem);
  --base-bg: #fff;
  --box-color: #00C6F7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: var(--base-bg);
  text-align: center;
}
.tokuSpeClm .tokuSpePlanBox {
  height: 100%;
}
.tokuSpePlanBox > dt,
.tokuSpePlanBox > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.tokuSpePlanBox > dt {
  gap: 0.5em;
  padding: clamp(1.6rem, 2.667vw, 2rem) var(--box-side);
  background: var(--box-color);
  color: #fff;
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
  font-weight: bold;
  line-height: 1.2;
}
.tokuSpePlanBox > dd {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
}
.tokuSpePlanBox_name {
  font-size: clamp(3rem, 5.333vw, 4rem);
  line-height: 0.8;
}
@media (min-width: 767px) {
  .tokuSpePlanBox_name {
    min-height: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.tokuSpePlanBox_name .tokuSpeNum {
  font-size: 1.125em;
}
.tokuSpePlanBox_name_sub {
  display: block;
  font-size: 0.7em;
  line-height: 1;
}
.tokuSpePlanBox_type {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tokuSpePlanBox_type_item {
  width: 50%;
  border-bottom: 2px solid var(--box-color);
}
.tokuSpePlanBox_type_item:not(:first-child) {
  border-left: 2px solid var(--box-color);
}
.tokuSpePlanBox_type .tokuSpePriceText {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tokuSpePlanBox_type .tokuSpePriceText_num {
  font-size: clamp(2.2rem, 3.467vw, 2.6rem);
}
.tokuSpePlanBox_type .tokuSpePriceText_tax {
  font-size: clamp(1.1rem, 1.867vw, 1.4rem);
}
.tokuSpePlanBox_type .tokuSpePriceText .tokuSpeNote, .tokuSpePlanBox_type .tokuSpePriceText .tokuSpeNoteList {
  width: auto;
}
.tokuSpePlanBox_type .tokuSpePriceText-medias .tokuSpePriceText_num {
  font-size: clamp(2.7rem, 4.8vw, 3.6rem);
}
.tokuSpePlanBox_type .tokuSpePriceText-medias .tokuSpePriceText_tax {
  width: 100%;
  margin-top: 0.5em;
}
.tokuSpePlanBox_type .tokuSpeAttnText {
  position: absolute;
  left: var(--box-side);
  right: var(--box-side);
  bottom: 2.2rem;
  background: #FFFF00;
}
.tokuSpePlanBox .tokuSpeAttnText {
  padding: 0.3em;
  font-size: clamp(1.5rem, 2.4vw, 1.8rem);
}
.tokuSpePlanBox_title, .tokuSpePlanBox_body, .tokuSpePlanBox_price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tokuSpePlanBox_title {
  padding: 0.5em;
  background: #E2F9FF;
  font-size: clamp(1.6rem, 2.933vw, 2.2rem);
  line-height: 1.2;
}
.tokuSpePlanBox_title small {
  font-size: clamp(1.2rem, 1.867vw, 1.4rem);
}
.tokuSpePlanBox_body {
  gap: 1rem;
  padding: 2rem 1rem 7rem;
}
.tokuSpePlanBox_price {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  width: 100%;
  padding: 2rem var(--box-side);
}
@media (max-width: 767px) {
  .tokuSpePlanBox_price {
    min-height: max(12.5rem, 16.667vw);
  }
}
.tokuSpePlanBox_price_before::after {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, currentColor);
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: inline-block;
  vertical-align: middle;
  width: var(--size);
  aspect-ratio: 1;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/webtoku_speed/ic_next.webp);
          mask-image: url(../img/webtoku_speed/ic_next.webp);
  background-color: var(--color);
  content: '';
  display: block;
  aspect-ratio: 1/ 0.64;
  width: clamp(1.6rem, 2.4vw, 1.8rem);
  margin: clamp(1.2rem, 2vw, 1.5rem) auto 0;
}
.tokuSpePlanBox_price .tokuSpePriceBox {
  width: 100%;
}
.tokuSpePlanBox_price .tokuSpePriceText-star {
  gap: 0.4em;
  font-size: clamp(1.6rem, 3.067vw, 2.3rem);
}
.tokuSpePlanBox_price .tokuSpePriceText-star:not(:last-child) {
  padding-bottom: 0.5em;
}
.tokuSpePlanBox_price .tokuSpePriceText-star .tokuSpePriceText_title {
  gap: clamp(0.8rem, 1.6vw, 1.2rem);
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
}
.tokuSpePlanBox_price .tokuSpePriceText-star .tokuSpePriceText_title .tokuSpeBalloon {
  font-size: clamp(1.3rem, 2vw, 1.5rem);
}
.tokuSpePlanBox_price .tokuSpePriceText-star .tokuSpePriceText_num {
  font-size: clamp(6.8rem, 12.267vw, 9.2rem);
  line-height: 0.7;
}
.tokuSpePlanBox_price .tokuSpePriceText-star .tokuSpePriceText_unit::after {
  --icon-size: 1.3em;
  margin-bottom: clamp(0.3rem, 0.8vw, 1rem);
  margin-right: clamp(2.8rem, 4.667vw, 3.5rem);
}
@media (max-width: 767px) {
  .tokuSpePlanBox_price .tokuSpePriceText-star .tokuSpePriceText_unit::after {
    max-width: 1.5em;
  }
}
.tokuSpePlanBox_price .tokuSpePriceText-through {
  color: inherit;
}
.tokuSpePlanBox_price .tokuSpePriceText-through .tokuSpePriceText_num {
  font-size: clamp(2.8rem, 4.933vw, 3.7rem);
  line-height: 0.7;
}
.tokuSpePlanBox.tokuSpePlanBox-10g {
  --box-color: #FF9800;
}
.tokuSpePlanBox.tokuSpePlanBox-10g .tokuSpePlanBox_title {
  background: #FFF3E0;
}
@media (min-width: 767px) {
  .tokuSpePlanBox {
    container: tokuSpePlanBox / inline-size;
  }
  @container tokuSpePlanBox (max-width: 400px) {
    .tokuSpePlanBox .tokuSpePlanBox_price .tokuSpePriceText-star {
      font-size: 2rem;
    }
    .tokuSpePlanBox .tokuSpePlanBox_price .tokuSpePriceText-star .tokuSpePriceText_num {
      font-size: 8rem;
    }
    .tokuSpePlanBox .tokuSpePlanBox_price .tokuSpePriceText-star .tokuSpePriceText_title {
      font-size: 1.6rem;
    }
    .tokuSpePlanBox .tokuSpeAttnText {
      font-size: 1.5rem;
    }
    .tokuSpePlanBox dt,
    .tokuSpePlanBox .tokuSpePlanBox_price {
      padding-inline: 2rem;
    }
  }
}

.tokuSpe2year {
  font-size: clamp(1.3rem, 1.867vw, 1.4rem);
  font-weight: bold;
}
.tokuSpe2year .tokuSpePriceText_num {
  font-size: clamp(1.6rem, 2.267vw, 1.7rem);
}
@media (max-width: 767px) {
  .tokuSpe2year .tokuSpePriceText_tax {
    font-size: 1em;
  }
}

.tokuSpeCvArea {
  padding: var(--vertical-p) var(--side-p);
  background: #FFF100;
}
.tokuSpeCvArea .js-move {
  opacity: 0;
  -webkit-transform: translate(0, 20%);
          transform: translate(0, 20%);
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}
.tokuSpeCvArea .js-move.is-animation {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.tokuSpeCvArea .tokuSpeCvBtn {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 79.4rem;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(3rem, 5.333vw, 4rem);
  background: #fff;
  letter-spacing: 0.08em;
}
.tokuSpeCvArea .tokuSpeCvBtn::after {
  content: none;
}
.tokuSpeCvArea .tokuSpeCvBtn_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.7em;
  font-size: clamp(1.6rem, 4vw, 3rem);
  letter-spacing: 0.08em;
}
.tokuSpeCvArea .tokuSpeCvBtn_text::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
  margin-right: -3.5rem;
}
@media (max-width: 767px) {
  .tokuSpeCvArea .tokuSpeCvBtn_text::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.8rem;
    margin: auto;
    --icon-size: 0.7rem;
  }
}
@media (max-width: 767px) {
  .tokuSpeCvArea .tokuSpeCvBtn + .tokuSpeCvText {
    margin-top: max(2.2rem, 5.867vw);
  }
}

.tokuSpeCvTitle {
  font-size: clamp(2.4rem, 3.733vw, 2.8rem);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.3;
}
.tokuSpeCvTitle + * {
  margin-top: var(--mt, clamp(0.5rem, 1.333vw, 1rem));
}
@media (max-width: 767px) {
  .tokuSpeCvTitle + * {
    --mt: max(1.5rem, 4vw);
  }
}
.tokuSpeCvTitle_num {
  vertical-align: -0.1em;
  font-size: clamp(3.6rem, 9.333vw, 7rem);
  font-family: "Roboto";
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767px) {
  .tokuSpeCvTitle_sub {
    display: block;
    font-size: 0.667em;
  }
}

.tokuSpeCvText {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08em;
}

.tokuSpeCharmSec {
  --base-bg: #fff;
  padding: var(--vertical-p) var(--side-p);
  background: var(--base-bg);
}
.tokuSpeCharmSec .tokuSpeSecTitle {
  font-size: clamp(2.2rem, 6.667vw, 5rem);
}
.tokuSpeCharmSec .tokuSpeSecTitle .tokuSpeBalloon {
  --mt: 0.8rem;
  --balloon-w: 0.8em;
  padding-bottom: 0.2em;
  color: inherit;
  font-size: clamp(3.7rem, 10.8vw, 8.1rem);
}
@media (min-width: 767px) {
  .tokuSpeCharmSec .tokuSpeSecTitle .tokuSpeBalloon {
    letter-spacing: 0.05em;
  }
}
@media (max-width: 767px) {
  .tokuSpeCharmSec {
    --side-p: 0;
  }
}

.tokuSpeCharmBox {
  --box-color: #0ECC7C;
  --box-bg: #E7FAF2;
  --box-side: clamp(2.5rem, 4vw, 3rem);
  --em-color: var(--box-color);
}
.tokuSpeSecTitle + .tokuSpeCharmBox {
  margin-top: var(--mt, clamp(5rem, 14vw, 10.5rem));
}
.tokuSpeCharmBox + * {
  margin-top: var(--mt, clamp(4rem, 8vw, 6rem));
}
.tokuSpeCharmBox_head {
  --icon-color: var(--box-color);
  position: relative;
  background: var(--icon-color);
  color: #fff;
  text-align: center;
  --mt: 0;
  --icon-aspect: 1/0.7;
  padding: clamp(1.8rem, 4vw, 3rem) var(--box-side);
}
.tokuSpeCharmBox_head::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: auto;
}
@media (max-width: 767px) {
  .tokuSpeCharmBox_head {
    --icon-size: clamp(2rem, 4vw, 3rem);
  }
}
@media (max-width: 767px) {
  .tokuSpeCharmBox_head {
    padding-bottom: 2.5rem;
  }
}
.tokuSpeCharmBox_head .tokuSpeLead {
  color: inherit;
  font-size: clamp(1.4rem, 3.73vw, 3.2rem);
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .tokuSpeCharmBox_head .tokuSpeLead::before, .tokuSpeCharmBox_head .tokuSpeLead::after {
    height: 1.35em;
  }
  .tokuSpeCharmBox_head .tokuSpeLead::before {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  .tokuSpeCharmBox_head .tokuSpeLead::after {
    -webkit-transform: rotate(10deg) scale(-1, 1);
            transform: rotate(10deg) scale(-1, 1);
  }
  .tokuSpeCharmBox_head .tokuSpeLead + * {
    margin-top: 1rem;
  }
}
.tokuSpeCharmBox_title {
  font-size: clamp(2rem, 5.467vw, 4.1rem);
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .tokuSpeCharmBox_title_main {
    display: block;
  }
  .tokuSpeCharmBox_title_main:not(:first-child) {
    margin-top: 0.4em;
  }
  .tokuSpeCharmBox_title_main:not(:last-child) {
    margin-bottom: 0.1em;
  }
}
.tokuSpeCharmBox_title em {
  color: #FFFF00;
  font-size: 1.45em;
}
@media (max-width: 767px) {
  .tokuSpeCharmBox_title em {
    font-size: 1.7em;
  }
}
.tokuSpeCharmBox_body {
  padding: clamp(4.5rem, 8.667vw, 6.5rem) var(--box-side) clamp(4rem, 10vw, 7.5rem);
  background: var(--box-bg);
}
.tokuSpeCharmBox_lead {
  font-size: clamp(1.5rem, 3.867vw, 1.9rem);
  font-weight: bold;
  text-align: center;
}
.tokuSpeCharmBox_lead + * {
  margin-top: var(--mt, clamp(3.5rem, 6vw, 4.5rem));
}
@media (max-width: 767px) {
  .tokuSpeCharmBox_lead {
    text-align: left;
    line-height: 1.7;
  }
}
@media (max-width: 767px) {
  .tokuSpeCharmBox-wifi .tokuSpeCharmBox_body {
    padding-bottom: 5rem;
  }
}
.tokuSpeCharmBox-support {
  --box-color: #FF8000;
  --box-bg: #FFF3DE;
}
.tokuSpeCharmBox-support .tokuSpeCharmBox_head {
  font-size: clamp(2rem, 5.733vw, 4.3rem);
}
.tokuSpeCharmBox-step {
  --box-color: #FF7297;
  --box-bg: #FFF2F5;
}
.tokuSpeCharmBox-step .tokuSpeCharmBox_head {
  font-size: clamp(2rem, 6.133vw, 4.6rem);
}

.tokuSpeBoxText {
  font-size: clamp(1.8rem, 2.933vw, 2.2rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
.tokuSpeBoxText small {
  font-size: 0.636em;
}
.tokuSpeBoxText em {
  color: var(--box-color, var(--key-color));
  font-size: 1.273em;
}

@media (max-width: 767px) {
  .tokuSpeRouterWrap {
    row-gap: 2.5rem;
  }
}

.tokuSpeRouter {
  --color: var(--box-color, var(--key-color));
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  padding: 2.5rem 1.5rem;
  background: #fff;
  border: 1px solid transparent;
  text-align: center;
  padding-top: 6rem;
}
.tokuSpeClm .tokuSpeRouter {
  height: 100%;
}
.tokuSpeRouter::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: inherit;
  border-color: var(--color);
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tokuSpeRouter_title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.5em 1.5em;
  -webkit-transform: translate(0, -25%);
          transform: translate(0, -25%);
  background: var(--color);
  -webkit-clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
          clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
  color: #fff;
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
  font-weight: bold;
  line-height: 1.4;
}
.tokuSpeRouter .tokuSpeBoxText {
  font-size: clamp(1.6rem, 2.667vw, 2rem);
}
@media (max-width: 767px) {
  .tokuSpeRouter {
    gap: max(2rem, 5.333vw);
    padding-bottom: 3rem;
  }
  .tokuSpeRouter .tokuSpeBoxImg {
    max-width: max(11.8rem, 30.667vw);
  }
}
@media (max-width: 767px) {
  .tokuSpeRouter_title {
    -webkit-transform: translate(0, -15%);
            transform: translate(0, -15%);
  }
}

.tokuSpePointWrap {
  margin-top: clamp(6rem, 10.667vw, 8rem);
}
@media (max-width: 767px) {
  .tokuSpePointWrap {
    row-gap: max(4.5rem, 12vw);
  }
}

.tokuSpePoint {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}
.tokuSpeClm .tokuSpePoint {
  height: 100%;
}
.tokuSpePoint_title {
  --icon-color: #333;
  position: relative;
  background: var(--icon-color);
  color: #fff;
  text-align: center;
  --icon-size: 1.2em;
  --border-w: 2px;
  width: 13em;
  margin: 0 auto -2rem;
  font-size: clamp(1.5rem, 2.133vw, 1.6rem);
  line-height: 1.3;
}
.tokuSpePoint_title::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: auto;
}
@media (max-width: 767px) {
  .tokuSpePoint_title {
    --icon-size: clamp(2rem, 4vw, 3rem);
  }
}
.tokuSpePoint_title::after {
  margin: calc(-1 * var(--border-w)) auto 0;
  top: 100%;
}
.tokuSpePoint_title_inner {
  position: relative;
  top: -2px;
  right: -2px;
  display: block;
  padding: 0.8em 1em;
  border: var(--border-w) solid var(--box-color);
}
.tokuSpePoint_title_inner::before, .tokuSpePoint_title_inner::after {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.tokuSpePoint_title_inner::before {
  background: var(--box-color);
}
.tokuSpePoint_title_inner::after {
  background: #333;
  margin-top: calc(-1 * var(--border-w));
}
.tokuSpePoint .tokuSpeBoxText {
  margin: auto 0;
  padding-top: 1rem;
}
@media (max-width: 767px) {
  .tokuSpePoint .tokuSpeBoxText {
    padding-top: 1.5rem;
    letter-spacing: 0.04em;
  }
}
.tokuSpePoint .tokuSpeBoxText_service {
  display: block;
  padding-bottom: 0.3em;
  font-size: clamp(1.2rem, 1.867vw, 1.4rem);
}
.tokuSpePoint .tokuSpeBoxText em {
  font-size: clamp(2.4rem, 3.733vw, 2.8rem);
}

.tokuSpeSupportWrap {
  --gap: clamp(1.5rem, 2.4vw, 1.8rem);
}

.tokuSpeSupport {
  --color: var(--box-color, var(--key-color));
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  padding: 2.5rem 1.5rem;
  background: #fff;
  border: 1px solid transparent;
  text-align: center;
  gap: clamp(2rem, 3.333vw, 2.5rem);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-top: clamp(3rem, 5.333vw, 4rem);
  padding-bottom: clamp(2.5rem, 6.667vw, 5rem);
}
.tokuSpeClm .tokuSpeSupport {
  height: 100%;
}
.tokuSpeSupport::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: inherit;
  border-color: var(--color);
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tokuSpeSupport::before {
  content: none;
}
.tokuSpeSupport .tokuSpeBalloon {
  padding-bottom: 0.4em;
}
@media (min-width: 767px) {
  .tokuSpeSupport .tokuSpeBalloon {
    min-height: 85px;
  }
}
.tokuSpeSupport .tokuSpeBoxText {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .tokuSpeSupport .tokuSpeBoxImg {
    max-width: max(22rem, 58.667vw);
  }
}

.tokuSpeStepWrap {
  --gap: 3.5rem;
}
@media (max-width: 767px) {
  .tokuSpeStepWrap {
    row-gap: max(6.5rem, 17.333vw);
  }
}
.tokuSpeStepWrap > *:not(:first-child) {
  position: relative;
}
.tokuSpeStepWrap > *:not(:first-child)::before {
  content: "";
  width: var(--icon-size, 3rem);
  aspect-ratio: var(--icon-aspect, 1/0.5);
  background: var(--icon-color, currentColor);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
  position: absolute;
  top: clamp(8rem, 22vw, 16.5rem);
  right: 100%;
  margin-right: clamp(0.5rem, 1.333vw, 1rem);
  --icon-color: var(--box-color);
  --icon-size: 1.7rem;
  --icon-aspect: 1/2.5;
}
@media (max-width: 767px) {
  .tokuSpeStepWrap > *:not(:first-child)::before {
    top: auto;
    bottom: 100%;
    left: 0;
    right: 0;
    margin: 0 auto max(0.5rem, 1.333vw);
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

.tokuSpeStep {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1.2rem, 2vw, 1.5rem);
  text-align: center;
}
.tokuSpeStep .tokuSpeBoxText {
  line-height: 1.4;
}
@media (max-width: 767px) {
  .tokuSpeStep .tokuSpeBoxText {
    line-height: 1.45;
    letter-spacing: 0.08em;
  }
}
@media (max-width: 767px) {
  .tokuSpeStep .tokuSpeStepImg03 {
    margin-top: 1rem;
  }
}

.tokuSpeOtherSec {
  padding: var(--vertical-p) var(--side-p);
}

.tokuSpeBlockTitle {
  color: var(--key-color);
  font-size: clamp(28px, 6.133vw, 4.6rem);
  font-weight: bold;
  text-align: center;
}
.tokuSpeBlockTitle + * {
  margin-top: var(--mt, clamp(2.5rem, 6.667vw, 5rem));
}
.tokuSpeBlockTitle:not(:first-child) {
  margin-top: var(--mt, 5rem);
}
@media (max-width: 767px) {
  .tokuSpeBlockTitle {
    letter-spacing: 0.03em;
  }
  .tokuSpeBlockTitle:not(:first-child) {
    margin-top: var(--mt, 6.5rem);
  }
}

.tokuSpeFlowWrap {
  counter-reset: flowNum;
}
@media (max-width: 767px) {
  .tokuSpeFlowWrap {
    --gap: 2.8rem;
    padding: max(2.5rem, 6.667vw) max(1.5rem, 4vw) 0;
  }
}

.tokuSpeFlow {
  --color: var(--box-color, var(--key-color));
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  padding: 2.5rem 1.5rem;
  background: #fff;
  border: 1px solid transparent;
  text-align: center;
  padding-top: 6rem;
  gap: clamp(3.2rem, 5.333vw, 4rem);
  padding-top: clamp(5.5rem, 12.667vw, 9.5rem);
  padding-bottom: clamp(3.8rem, 7.333vw, 5.5rem);
}
.tokuSpeClm .tokuSpeFlow {
  height: 100%;
}
.tokuSpeFlow::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: inherit;
  border-color: var(--color);
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tokuSpeFlow_title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.5em 1.5em;
  -webkit-transform: translate(0, -25%);
          transform: translate(0, -25%);
  background: var(--color);
  -webkit-clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
          clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
  color: #fff;
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
  font-weight: bold;
  line-height: 1.4;
}
.tokuSpeFlow_title {
  padding-left: 2em;
  padding-right: 2em;
  font-family: "Roboto";
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
  font-weight: normal;
}
.tokuSpeFlow_title::after {
  counter-increment: flowNum;
  content: counter(flowNum,decimal-leading-zero);
  vertical-align: bottom;
  margin-left: 0.1em;
  font-size: clamp(2.6rem, 4.8vw, 3.6rem);
  line-height: 0.95;
}
.tokuSpeFlow .tokuSpeBoxText {
  line-height: 1.5;
}
.tokuSpeFlow .tokuSpeBoxText_medias {
  font-size: 1.091em;
}
@media (max-width: 767px) {
  .tokuSpeFlow .tokuSpeBoxImg {
    max-width: max(15rem, 40vw);
  }
}

.tokuSpeFaqWrap {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1rem, 1.867vw, 1.4rem);
}
.tokuSpeFaqWrap + * {
  margin-top: var(--mt, clamp(2.5rem, 6.667vw, 5rem));
}

.tokuSpeFaq {
  --box-size: clamp(2.5rem, 12vw, 9rem);
  background: #fff;
}
.tokuSpeFaq > dt {
  position: relative;
  padding: 2.2rem var(--box-size);
  background: var(--key-color);
  color: #fff;
  font-size: clamp(1.6rem, 2.933vw, 2.2rem);
  font-weight: bold;
  line-height: 1.5;
}
.tokuSpeFaq > dt::before {
  content: 'Q';
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(1.6rem, 4vw, 3rem);
  margin: auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(4rem, 5.733vw, 4.3rem);
  min-width: 0;
  aspect-ratio: 1;
  background: #4DDCFF;
  border-radius: 50%;
  font-family: "Roboto";
  font-weight: normal;
  font-size: clamp(2.2rem, 3.733vw, 2.8rem);
}
@media (max-width: 767px) {
  .tokuSpeFaq > dt {
    padding-left: max(6.5rem, 12vw);
  }
}
.tokuSpeFaq > dt.js-acc {
  cursor: pointer;
}
.tokuSpeFaq > dt.js-acc::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: clamp(1.5rem, 4vw, 3.5rem);
  margin: auto 0;
  width: clamp(1.8rem, 3.2vw, 2.4rem);
  aspect-ratio: 1;
  background: url(../img/webtoku_speed/ic_plus.webp) no-repeat 50% 50%/contain;
}
.tokuSpeFaq > dt.js-acc.is-active::after {
  background-image: url(../img/webtoku_speed/ic_minus.webp);
}
.tokuSpeFaq > dd {
  padding: 3rem var(--box-size);
  font-size: clamp(1.5rem, 2.133vw, 1.6rem);
}
.tokuSpeFaq > dd > :where(*) {
  margin-bottom: clamp(1.5rem, 2.133vw, 1.6rem);
}
@media (max-width: 767px) {
  .tokuSpeFaq > dd {
    --box-size: max(2.5rem, 6.667vw);
  }
}

.tokuSpeTitle + *, .tokuSpeTitle:not(:first-child) {
  margin-top: var(--mt, clamp(0.5rem, 1.333vw, 1rem));
}
.tokuSpeNote + .tokuSpeTitle, .tokuSpeNoteList + .tokuSpeTitle {
  margin-top: var(--mt, clamp(1.5rem, 3.333vw, 2.5rem));
}

.tokuSpeMore {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 1em;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}
.tokuSpeMore::after {
  content: '';
  position: relative;
  right: 0;
  width: 2.6em;
  aspect-ratio: 1/0.3;
  background: url(../img/webtoku_speed/ic_more.webp) no-repeat 50% 0%/contain;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (hover: hover) {
  .tokuSpeMore:hover::after {
    right: -0.5em;
  }
}

.tokuSpeTable thead {
  background: #d7f5fa;
}
.tokuSpeTable :is(th,td) {
  padding: 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  text-align: center;
}
.tokuSpeTable_total {
  background: #fff9c9;
}

.tokuSpeBorder {
  padding: clamp(15px, 3.333vw, 2.5rem);
  border-radius: 15px;
  border: 1px solid #cad9e0;
}

.tokuSpeNoteSec {
  padding: var(--vertical-p) var(--side-p);
}
@media (max-width: 767px) {
  .tokuSpeNoteSec {
    --vertical-p: max(3.2rem, 8.533vw);
  }
}

.tokuSpeNoteBox {
  padding: clamp(2.5rem, 6.667vw, 7.5rem) clamp(2.5rem, 6.667vw, 9rem);
  background: #fff;
}
.tokuSpeNoteBox .tokuSpeTitle {
  font-size: clamp(18px, 2.4vw, 1.8rem);
}

.tokuSpeAttnBox {
  padding: clamp(2rem, 5.333vw, 4rem) clamp(2rem, 5.333vw, 4rem);
  background: #fff;
}
.tokuSpeAttnBox .tokuSpeNote + .tokuSpeSubTitle, .tokuSpeAttnBox .tokuSpeNoteList + .tokuSpeSubTitle {
  margin-top: 3rem;
}
.tokuSpeAttnBox u {
  font-weight: bold;
}

.tokuSpeAttnTitle {
  margin-bottom: 3rem;
  padding: 0.5em;
  background: red;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
