@charset "UTF-8";
/*  RESET CSS
------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700&family=Noto+Sans+JP:wght@400;700;900&family=Barlow:wght@700&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
*, ::before, ::after {
  background-repeat: no-repeat;
}
::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit;
}
html, body {
  font-size: 62.5%;
  -webkit-overflow-scrolling: touch;
}
html {
  overflow-y: scroll;
  cursor: default;
}
body {
  line-height: 1;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: normal;
  line-height: 1.4em;
}
ol, ul, li {
  list-style: none;
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th {
  font-weight: normal;
}
td, th {
  padding: 0;
}
blockquote {
  quotes: none;
}
blockquote:before, blockquote:after {
  content: '';
  content: none;
}
a {
  color: inherit;
  background-color: transparent;
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
  cursor: pointer;
}
a:active, a:hover {
  outline-width: 0;
}
a:focus, *:focus {
  outline: none;
}
img {
  border-style: none;
  vertical-align: bottom;
}
[type="text"], [type="tel"], [type="email"], [type="date"], [type="number"], [type="submit"], [type="button"], button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input, select {
  vertical-align: middle;
}
select {
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select::-ms-expand {
  display: none;
}
button, select {
  text-transform: none;
}
button, [type="button"], [type="reset"], [type="submit"], [role="button"] {
  cursor: pointer;
}
/* IEのinput要素に出てくるマークを消去 */
input::-ms-clear {
  visibility: hidden;
}
/* IEのinput要素に出てくるマークを消去 */
input::-ms-reveal {
  visibility: hidden;
}
@font-face {
  font-family: "Hemi";
  src: url(../font/hemi-head-bd-it.ttf) format("truetype");
}
/*  THEME CSS
------------------------------------------------------------------------------*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  width: 100%;
  height: 100%;
  color: #000;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.3854166667vw;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.125em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden;
  font-feature-settings: "palt";
}
input::placeholder {
  color: #ccc;
}
/* IE */
input:-ms-input-placeholder {
  color: #ccc;
}
/* Edge */
input::-ms-input-placeholder {
  color: #ccc;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  body {
    font-size: 1.5rem;
  }
}
/*  リンク
-------------------------------------------------------*/
a {
  transition: all 0.3s;
}
a:hover {
  cursor: pointer;
  opacity: 0.6;
}
/*  UTILIS
------------------------------------------------------------------------------*/
/*  配置
-------------------------------------------------------*/
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.flexbox {
  display: flex;
}
@media screen and (max-width: 768px) {
  .flexbox {
    display: block;
  }
}
/*  テキスト
-------------------------------------------------------*/
.font2 {
  font-family: "Hemi", sans-serif;
  font-weight: 700;
}
.italic {
  font-style: italic;
}
.spacing {
  font-feature-settings: normal;
}
.b {
  font-weight: 600;
}
.f11 {
  font-size: 2.6041666667vw;
}
.f13 {
  font-size: 2.8645833333vw;
}
.f15 {
  font-size: 3.3854166667vw;
}
.f18 {
  font-size: 4.1666666667vw;
}
.f24 {
  font-size: 4.6875vw;
}
@media screen and (min-width: 769px) {
  .f11 {
    font-size: 0.7638888889vw;
  }
  .f13 {
    font-size: 0.9027777778vw;
  }
  .f15 {
    font-size: 1.0416666667vw;
  }
  .f18 {
    font-size: 1.25vw;
  }
  .f24 {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .f11 {
    font-size: 1.1em;
  }
  .f13 {
    font-size: 1.3em;
  }
  .f15 {
    font-size: 1.5em;
  }
  .f18 {
    font-size: 1.8em;
  }
  .f24 {
    font-size: 2.4em;
  }
}
/* 表示非表示
-------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .none--sp {
    display: none !important;
  }
  .br__sp {
    display: block;
  }
  .br--pc {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .none--pc {
    display: none !important;
  }
  .br__sp {
    display: inline;
  }
  .br--sp {
    display: none;
  }
}
/*  画像
-------------------------------------------------------*/
.img--fit {
  width: 100%;
  max-width: 100%;
  height: auto;
}
/*  フォーム
-------------------------------------------------------*/
input[type="file"], input[type="submit"], input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
input[type="radio"] + span {
  position: relative;
}
input[type="radio"] + span::before {
  position: absolute;
  content: "";
  top: 50%;
  display: block;
  background-color: #fff;
  transform: translateY(-50%);
}
input[type="radio"]:checked + span::after {
  position: absolute;
  content: "";
  top: 50%;
  display: block;
  background-color: #007dbd;
  transform: translateY(-50%);
}
/*  その他
-------------------------------------------------------*/
/*  common CSS
------------------------------------------------------------------------------*/
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 15.8333333333vw;
  /*height: 20.8333333333vw;*/
  width: 100%;
  position: fixed;
  top: 0;
  background: #fff;
  z-index: 999;
}
.header .header-logo {
  width: 180px;
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .header .header-logo {
    width: 150px;
  }
  .header .header-logo img {
    width: 100%
  }
}
.header ul.nav {
  display: none;
}

/* ---------------------フッター------------------------ */
.footer{
  background: #000;
  width: 100%;
  height: auto;
  padding: 15vw 10vw;
  color: #fff;
}
@media only screen and (min-width: 700px) {
  .footer{
    background: #000;
    width: 100%;
    height: auto;
    padding: 6vw 10vw;
    color: #fff;
  }
}

.footer--general-link-box--img{
  text-align: center;
  margin-bottom: 7vw;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--img{
    margin-bottom: 3vw;
  }
}

.footer--general-link-box--img img{
  width: 60%;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--img img{
    width: 20%;
  }
}

.footer--general-link-box--other-pages{
  display: flex;
  justify-content: space-between;
  align-items: top;
  flex-direction: column;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages {
    flex-direction: row;
  }
}

.footer--general-link-box--other-pages ul+ul {
  margin-top: 5vw;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages ul+ul {
    margin-top: 0vw;
  }
}

.footer--general-link-box--other-pages li{
  font-weight: bold;
  font-size: 3.4vw;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages li{
    font-size: 1vw;
  }
}

.footer--general-link-box--other-pages .bold{
  margin-bottom: 2.5vw;
  border-bottom: #767676 1px solid;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages .bold{
    margin-bottom: 0.8vw;
  }
}

.footer--general-link-box--cta {
  margin-top: 8.53333vw;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: top;
  flex-direction: column;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta {
    margin-top: 3vw;
    flex-direction: row;
  }
}

.footer--general-link-box--cta dl dt {
  font-size: 4.26667vw;
  font-weight: 500;
  position: relative;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dt {
    font-size: 1.11111vw;
  }
}

.footer--general-link-box--cta dl dd {
  margin-top: 1.6vw;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dd {
    margin-top: 0.41667vw;
  }
}

.footer--general-link-box--cta dl dd a {
  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;
  background: -webkit-gradient(linear, left top, right top, from(#473889), to(#de3d49));
  background: linear-gradient(to right, #473889, #de3d49);
  padding: 5.33333vw 0;
  border: 0.26667vw solid #fff;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dd a {
    padding: 1.38889vw 5vw;
    border: 0.06944vw solid #fff;
  }
}

.footer--general-link-box--cta dl dd a p {
  font-size: 5.33333vw;
  color: #fff;
  font-weight: bold;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dd a p {
    font-size: 1.38889vw;
  }
}

.footer--general-link-box--cta dl + dl {
  margin-top: 5.33333vw;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl + dl {
    margin-top: 0vw;
    margin-left: 5vw;
  }
}

.footer--general-link-box--cta dl + dl dd a {
  border: none;
  background: #5283E9;
}

.footer--general-link-box--cta dl:nth-child(1) dt {
  display: inline-block;
}

.footer--general-link-box--cta dl:nth-child(1) dt::before, .footer--general-link-box--cta dl:nth-child(1) dt::after {
  content: "";
  width: 0.26667vw;
  height: 4.26667vw;
  background: #fff;
  position: absolute;
  left: -2.13333vw;
  top: 40%;
  -webkit-transform: rotate(-20deg) translateY(-50%);
          transform: rotate(-20deg) translateY(-50%);
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl:nth-child(1) dt::before, .footer--general-link-box--cta dl:nth-child(1) dt::after {
    width: 0.06944vw;
    height: 1.11111vw;
    left: -0.55556vw;
  }
}

.footer--general-link-box--cta dl:nth-child(1) dt::after {
  left: auto;
  right: -2.13333vw;
  -webkit-transform: rotate(20deg) translateY(-50%);
          transform: rotate(20deg) translateY(-50%);
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl:nth-child(1) dt::after {
    right: -0.55556vw;
  }
}


.white-line{
  border-left: 0.26667vw solid #fff;
}

@media only screen and (min-width: 700px) {
  .white-line {
    border-left: none;
}
}

.footer small {
  display: block;
  padding: 8vw 0 0;
  text-align: center;
  font-size: 3.2vw;
}

@media only screen and (min-width: 700px) {
  .footer small {
    padding: 1.38889vw 0 0vw;
    font-size: 0.83333vw;
  }
}
.btn-box {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.btn-box .btn a {
  font-size: 3.6875vw;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  height: 20.8333333333vw;
  line-height: .1;
}
.btn-box .btn a .first_catch {
  font-size: 3.125vw;
  width: 100%;
  text-align: center;
  white-space:nowrap;
  line-height: 1.3;
}
@media screen and (min-width: 769px){
  .btn-box .btn a .first_catch {
    font-size: min(0.8333333333vw,20px);
    height: min(1.4vw,33px);
    width: 100%;
    text-align: center
  }
}
.btn-box .btn a .second_catch {
  margin-top: -4vw;
  font-size: 5vw;
}
@media screen and (min-width: 769px){
  .btn-box .btn a .second_catch {
    margin-top:-2vw;
    font-size: 2vw;
  }
}
.btn-box .btn a span {
  font-size: 5vw;
}
.btn-box .btn a .btn-img {
  width: 46.875vw;
  margin-right: 0.25em;
}
.btn-box .btn-primary {
  background: -moz-linear-gradient(left, #de3d49, #473889);
  background: -webkit-linear-gradient(left, #de3d49, #473889);
  background: linear-gradient(to right, #473889, #de3d49);
  transition: all 0.3s;
  box-shadow: 0 0 0 #000;
}
.btn-box .btn-primary a {
  width: 100%;
  color: #fff;
}
.btn-box .btn-primary a:hover {
  opacity: 0.5;
}
.btn-box .btn-secondary a {
  background-color: #fff;
  border: 0.78125vw solid #5283e9;
  width: 100%;
  color: #5283e9;
}
.btn-box .btn-secondary a:hover {
  background-color: #5283e9;
  color: #fff;
  opacity: 1;
}
.caution01 {
  counter-reset: item;
  max-width: 88.5416666667vw;
  margin: 0 auto;
  text-align: left;
}
.caution01 li {
  text-indent: -2.5em;
  padding-left: 2.5em;
  font-size: 3.90625vw;
}
.caution01 li:before {
  counter-increment: item;
  content: "※"counter(item);
  padding-right: 0.5em;
}
.caution02 {
  counter-reset: item;
  max-width: 88.5416666667vw;
  margin: 0 auto;
  text-align: left;
}
.caution02 li {
  text-indent: -1em;
  padding-left: 1em;
}
.caution02 li:before {
  content: "※";
}
.caution02 li a {
  text-decoration: underline;
}
.caution03 li {
  text-indent: -1em;
  padding-left: 1em;
}
.sec-title {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec-title h2 {
  font-size: 6.25vw;
  font-weight: 700;
  font-feature-settings: normal;
}
.sec-title h2 img {
  width: 46.875vw;
}
/* ----------------- ハンバーガーメニュー  */
#hamburger {
  z-index: 9999;
  position: fixed;
}
#hamburger .menu {
  background-color: #fff;
  margin-top: 15.8333333333vw;
  /*margin-top: 20.8333333333vw;*/
  padding: 0 3em;
  width: 100vw;
  height: 90vh;
}
#hamburger .menu ul.nav li {
  font-size: 5.2083333333vw;
  border-bottom: 1px solid #000;
  font-weight: 600;
  line-height: 3;
  font-feature-settings: normal;
}
#hamburger .menu ul.nav li.nav-btn {
  background: -moz-linear-gradient(left, #de3d49, #473889);
  background: -webkit-linear-gradient(left, #de3d49, #473889);
  background: linear-gradient(to right, #473889, #de3d49);
  margin-right: 0;
  width: 52.0833333333vw;
  height: 20.8333333333vw;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 1em;
}
#hamburger .menu ul.nav li.nav-btn--documents {
  background: #5283e9;
}
#hamburger .menu ul.nav li.nav-btn--documents a:hover {
  background-color: #6491ef;
}
/*ボタン*/
.hamburger_btn {
  position: fixed;
  top: 0;
  right: 0;
  width: 15.8333333333vw;
  height: 15.8333333333vw;
  /*width: 20.8333333333vw;
  height: 20.8333333333vw;*/
  cursor: pointer;
  z-index: 50;
  background-color: #e41f1a;
}
.hamburger_btn .line {
  position: absolute;
  top: 0;
  left: 4.5572916667vw;
  width: 8.0208333333vw;
  /*width: 13.0208333333vw;*/
  height: 0.5208333333vw;
  background: #fff;
  text-align: center;
}
.hamburger_btn .line_01 {
  top: 4.6614583333vw;
  /*top: 7.1614583333vw;*/
  transition: 0.4s ease;
}
.hamburger_btn .line_02 {
  top: 7.65625vw;
  /*top: 9.765625vw;*/
  transition: 0.4s ease;
}
.hamburger_btn .line_03 {
  top: 10.6510416667vw;
  /*top: 12.3697916667vw;*/
  transition: 0.4s ease;
}
.btn_line01 {
  background: #fff !important;
  transform: translateY(3.2041666667vw) rotate(-45deg);
  transition: 0.4s ease;
}
.btn_line02 {
  transition: 0.4s ease;
  opacity: 0;
}
.btn_line03 {
  background: #fff !important;
  transform: translateY(-2.8041666667vw) rotate(45deg);
  transition: 0.4s ease;
}
.menu-enter-active, .menu-leave-active {
  transition: opacity 0.3s;
}
.menu-enter, .menu-leave-to {
  opacity: 0;
}
.menu-leave, .menu-enter-to {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  #hamburger {
    display: none;
  }
  .header {
    height: 5.5555555556vw;
  }
  .header ul.nav {
    display: flex;
    align-items: center;
  }
  .header ul.nav li {
    margin-right: 3rem;
    font-weight: 600;
  }
  .header ul.nav li.nav-btn {
    background: -moz-linear-gradient(left, #de3d49, #473889);
    background: -webkit-linear-gradient(left, #de3d49, #473889);
    background: linear-gradient(to right, #473889, #de3d49);
    margin-right: 0;
    width: 13.8888888889vw;
    height: 5.5555555556vw;
  }
  .header ul.nav li.nav-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    width: 100%;
    height: 100%;
  }
  .header ul.nav li.nav-btn a:hover {
    background-color: #473889;
  }
  .header ul.nav li.nav-btn--documents {
    background: #5283e9;
  }
  .header ul.nav li.nav-btn--documents a:hover {
    background-color: #6491ef;
  }
  .btn-box .btn a {
    font-size: 1.25vw;
    height: 5.5555555556vw;
    line-height: 1;
  }
  .btn-box .btn a span {
    font-size: 1.6666666667vw;
    height: 1.6666666667vw;
    line-height: 1;
  }
  .btn-box .btn a .btn-img {
    width: 12.5vw;
  }
  .btn-box .btn-secondary a {
    border: 0.2083333333vw solid #5283e9;
  }
  .caution01 {
    max-width: 800px;
  }
  .caution01 li {
    font-size: 1.0416666667vw;
  }
  .caution02 {
    max-width: 800px;
  }
  .sec-title h2 {
    font-size: 2.5vw;
    display: flex;
    align-items: center;
    gap: 0.8vw;
  }
  .sec-title h2 img {
    width: 15vw;
  }
}
@media screen and (min-width: 1441px) {
  .header {
    height: 80px;
  }
  .header ul.nav li {
    font-weight: 600;
  }
  .header ul.nav li.nav-btn {
    width: 220px;
    height: 80px;
  }
  .header ul.nav li.nav-btn a {
    font-size: 16px;
  }
  .btn-box .btn a {
    font-size: 18px;
    height: 80px;
  }
  .btn-box .btn a .second_catch{
    font-size: 25px;
  }
  .btn-box .btn a span {
    font-size: 22px;
    height: 24px;
  }
  .btn-box .btn a .btn-img {
    width: 180px;
  }
  .caution01 {
    max-width: 800px;
  }
  .caution01 li {
    font-size: 15px;
  }
  .sec-title h2 {
    font-size: 36px;
  }
  .sec-title h2 img {
    width: 216px;
  }
}
.header_cta {
  border-right: 2px solid #fff;
  z-index: 9999;
  position: fixed;
  right: 15.8333333333vw;
  background: linear-gradient(to right, #473889, #de3d49)
}
.header_cta a {
  font-weight: 600;
  color: #fff;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 15.8333333333vw
}
.mv_sp_device{
  margin: 0 auto;
  width: 70vw;
  margin-bottom: 5vw;
}
.mv .mv-innerbox .discount {
  text-align: center;
  font-size: 4.5vw;
  font-weight: 700;
  background: none;
}
.mv .mv-innerbox .mv-logo {
  max-width: 270px;
  margin: 0 auto;
}
.mv .mv-innerbox .discount::before, .mv .mv-innerbox .discount::after {
  content: "";
  display: inline-block;
  width: 3px;
  margin-right: 12px;
  height: 4.6875vw;
  background: #e41f1a;
  position: relative;
  top: 2px;
  transform: rotate(-35deg);
}
.mv .mv-innerbox .discount::after {
  transform: rotate(35deg);
  margin-left: 10px;
  margin-right: 0;
}
.mv .mv-innerbox .discount > span {
  font-size: 6.25vw;
  color: #e41f1a;
}
.mv .mv-innerbox .discount > span span {
  font-size: 7.8125vw;
}
.mv .mv-innerbox .catch {
  font-weight: 700;
  font-size: 4.6875vw;
  margin-bottom: 2.6041666667vw;
  text-align: center;
}
.mv .mv-innerbox .catch span {
  font-size: 6.25vw;
  color: #e41f1a;
}
.mv .mv-innerbox .mv-price {
  font-weight: 700;
  margin-top: 2.6041666667vw;
  font-size: 6.25vw;
  text-align: center;
}
.mv .mv-innerbox .mv-price .month {
  text-align: left;
}
.mv .mv-innerbox .mv-price .price {
  font-size: 24.7395833333vw;
  padding-right: 0.1em;
  font-weight: 300;
  line-height: .8;
  font-family: "Hemi", sans-serif;
  color: #473889;
  background: -moz-linear-gradient(left, #de3d49, #473889);
  background: -webkit-linear-gradient(left, #de3d49, #473889);
  background: linear-gradient(to right, #473889, #de3d49);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mv .mv-innerbox .mv-price .en {
  position: relative;
}
.mv .mv-innerbox .mv-price .en .note {
  position: absolute;
  right: 0;
  bottom: 100%;
  font-size: 0.4em;
}
.mv .mv-innerbox .notax {
  text-align: right;
  font-size: 4.6875vw;
  color: #333;
  font-weight: 600;
  margin-bottom: 6.5104166667vw;
}
.mv .mv-innerbox .btn-documents {
  margin-top: 40px;
  transition: all 0.3s;
  background: rgba(255, 255, 255, 0.8);
  border: 2px solid #5283e9;
  position: relative;
}
.mv .mv-innerbox .btn-documents .bf {
  display: inline-block;
  text-align: center;
  font-weight: 500;
  background: #5283e9;
  color: #fff;
  font-size: 1.3020833333vw;
  width: 90%;
  padding: 8px 0 24px;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  border-radius: 4px;
}
.mv .mv-innerbox .btn-documents .bf::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 5px 0 5px;
  border-color: #5283e9 transparent transparent transparent;
  position: absolute;
  top: calc(100% - 1px);
  left: calc(50% - 5px);
}
.mv .mv-innerbox .btn-documents span:last-child {
  color: #5283e9;
  position: relative;
  top: calc(4px + 0.35vw);
}
.mv .mv-innerbox .btn-documents a:hover {
  opacity: 1;
}
.mv .mv-innerbox .btn-documents:hover {
  background: rgba(255, 255, 255, 0.5);
}
.mv .mv-innerbox .note{
  font-size: 1.1vw;
  text-align: center;
  margin-top: 1vw;
}
.l-mv .l-price {
  width: 93%;
  margin: 0 auto;
}
.l-mv .l-price .mv-price {
  font-weight: 700;
  margin-top: -6vw;
  font-size: 6.25vw;
  text-align: center;
}
.l-mv .l-price .mv-price .month {
  display: block;
  text-align: left;
  margin-left: 10vw;
}
.l-mv .l-price .mv-price .price {
  font-size: 20vw;
  padding-right: 0.1em;
  font-weight: 300;
  line-height: .8;
  font-family: "Hemi", sans-serif;
  color: #473889;
  background: -moz-linear-gradient(left, #de3d49, #473889);
  background: -webkit-linear-gradient(left, #de3d49, #473889);
  background: linear-gradient(to right, #473889, #de3d49);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-mv .notax {
  text-align: right;
  font-size: 4.2vw;
  color: #333;
  font-weight: 600;
  margin-bottom: 2.5vw;
  margin-right: 10vw;
  font-weight: normal;
}
.l-mv .btn-documents {
  margin-top: 40px;
  transition: all 0.3s;
  background: rgba(255, 255, 255, 0.8);
  border: 2px solid #5283e9;
  position: relative;
}
.l-mv .btn-documents .bf {
  display: inline-block;
  text-align: center;
  font-weight: 500;
  background: #5283e9;
  color: #fff;
  font-size: 2.6041666667vw;
  width: 90%;
  padding: 16px 0 20px;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  border-radius: 4px;
}
.l-mv .btn-documents .bf::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 5px 0 5px;
  border-color: #5283e9 transparent transparent transparent;
  position: absolute;
  top: calc(100% - 1px);
  left: calc(50% - 5px);
}
.l-mv .btn-documents span:last-child {
  color: #5283e9;
  position: relative;
  top: calc(4px + 0.35vw);
  transition: all 0.3s;
}
.l-mv .btn-documents a:hover {
  opacity: 1;
}
.l-mv .btn-documents:hover {
  border: 2px solid rgba(82, 131, 233, 0.6);
}
.l-mv .btn-documents:hover span:last-child {
  color: rgba(82, 131, 233, 0.6);
}
.l-mv .note {
  margin-top: 2vw;
  padding-bottom: 7vw;
  font-size: 3vw;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .mv .mv-innerbox .discount {
    font-size: 1.9444444444vw;
  }
  .mv .mv-innerbox .discount::before, .mv .mv-innerbox .discount::after {
    height: 1.9444444444vw;
  }
  .mv .mv-innerbox .discount > span {
    font-size: 2.5vw;
  }
  .mv .mv-innerbox .discount > span span {
    font-size: 3.3333333333vw;
  }
  .mv .mv-innerbox .catch {
    font-size: 1.6666666667vw;
    margin-bottom: 0.5vw;
    white-space: nowrap;
  }
  .mv .mv-innerbox .catch span {
    font-size: 2.2222222222vw;
  }
  .mv .mv-innerbox .mv-logo {
    max-width: 330px;
    margin: 0 auto;
  }
  .mv .mv-innerbox .mv-price {
    margin-top: 0vw;
    font-size: 3.5vw;
  }
  .mv .mv-innerbox .mv-price .month {
   font-size: 2.5vw;
  }
  .mv .mv-innerbox .mv-price .price {
    font-size: 8.3333333333vw;
  }
  .mv .mv-innerbox .notax {
    font-size: 1.2vw;
    font-weight: normal;
    margin-bottom: 1vw;
  }
}
@media screen and (min-width: 1441px) {
  .mv .mv-innerbox .note {
    font-size: 14px;
    margin-top: 15px;
  }
  .mv .mv-innerbox .discount {
    font-size: 24px;
  }
  .mv .mv-innerbox .discount::before, .mv .mv-innerbox .discount::after {
    height: 28px;
  }
  .mv .mv-innerbox .discount > span {
    font-size: 30px;
  }
  .mv .mv-innerbox .discount > span span {
    font-size: 48px;
  }
  .mv .mv-innerbox .catch {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .mv .mv-innerbox .catch span {
    font-size: 28px;
  }
  .mv .mv-innerbox .mv-price {
    margin-top: 20px;
    font-size: 36px;
  }
  .mv .mv-innerbox .mv-price .price {
    font-size: 120px;
  }
  .mv .mv-innerbox .notax {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .mv .mv-innerbox .btn-documents .bf {
    padding: 8px 0 28px;
  }
}

/* -----------------------10日間お試しモニター start -----------------------*/
.monitor{
  padding: 13.02083vw 7.6vw;
  background: #f8f8f8;
}
.bnr-link{
  display: block;
  margin: 0 auto;
}
.moniter-bur{
  display: block;
  width: 84vw;
  margin: 0 auto;
  box-shadow: 0 1.5vw 2vw rgba(0, 0, 0, 0.08);
  position: relative;
  max-width: 1000px;
}
.monitor .monitor-link{
  width: 70vw;
  height: 8vw;
  /* border-radius: 1vw;
  background: #333;
  text-align: center;
  line-height: 7vw; */
  position: absolute;
  bottom: 19vw;
  left: 50%;
  transform: translateX(-50%);
  /* box-shadow: 0 1vw 1vw rgba(0, 0, 0, 0.1); */
  z-index: 99;
}
@media screen and (min-width: 769px){
  .monitor{
    padding: 6vw 14.3vw;
  }
  .moniter-bur{
    width: 71.5vw;
    margin: 0 auto;
    box-shadow: 0 1vw 1.5vw rgba(0, 0, 0, 0.08);
    position: relative;
  }
  .monitor .monitor-link{
    width: 48vw;
    height: 5.2vw;
    position: absolute;
    bottom: 10vw;
    left: 50%;
    transform: translateX(-50%);
    /* box-shadow: 0 0.5vw 0.5vw rgba(0, 0, 0, 0.1); */
  }
}
/* -----------------------10日間お試しモニター end -----------------------*/

.special {
  padding: 13.02083vw 0;
}
.special .special-cont {
  background-color: #fff;
  width: 89.84375vw;
  max-width: 104.16667vw;
  margin: 0 auto;
  border: 0.52083vw solid #e41f1a;
  box-shadow: 0 0 5.20833vw rgba(0, 0, 0, 0.1);
  padding: 5.20833vw;
  position: relative;
}
.special .special-cont .special-title {
  font-size: 4.6875vw;
  text-align: center;
  font-weight: 600;
  position: relative;
  margin-bottom: 1.80625vw;
}
.special .special-cont .special-title .title-top {
  position: absolute;
  top: -6.2vw;
  left: 50%;
  transform: translateX(-50%) translateY(50%) skewX(-10deg);
  background: #e41f1a;
  padding: 0.2em 1em;
  white-space: nowrap;
}
@media screen and (max-width: 769px) {
  .special .special-cont .special-title .title-top {
    top: -15.2vw;
  }
}
@media screen and (min-width: 1441px) {
  .special .special-cont .special-title .title-top {
    top: -100px;
  }
}
.special .special-cont .special-title .title-top span {
  color: #fff;
  display: inline-block;
  transform: skewX(10deg);
}
.special .special-cont .special-title .title-main {
  color: #333;
  font-weight: 600;
  font-size: 5.5vw;
  font-style: italic;
  position: relative;
}
.special .special-cont .special-title .title-main::before {
  content: "";
  width: 4px;
  height: 1em;
  background: #e41f1a;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% - 7em);
  transform: rotate(-30deg);
}
.special .special-cont .special-title .title-main::after {
  content: "";
  width: 4px;
  height: 1em;
  background: #e41f1a;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% + 7em);
  transform: rotate(30deg);
}
.special .special-cont .special-title .title-main .title-main-b {
  font-size: 6.25vw;
}
.special .special-cont .special-title .title-main small {
  font-size: 0.5em;
  color: #333;
}
.special .special-cont .special-contents .special-lists {
  margin-bottom: 3.51042vw;
  display: flex;
}
.special .special-cont .special-contents .special-lists .special-list {
  width: 24.30555333333333vw;
  background-color: #fff;
  padding: 2vw 2vw 1.30208vw;
  margin: 0 auto;
  border: 0.26042vw solid #e41f1a;
  box-shadow: 1.30208vw 1.30208vw 0 #e41f1a;
  text-align: center;
}
.special .special-cont .special-contents .special-lists .special-list .list-title {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #e41f1a;
  font-weight: 600;
  font-size: 2.86458vw;
  height: 10.80729vw;
  margin-bottom: -2.60417vw;
}
.special .special-cont .special-contents .special-lists .special-list .list-price {
  font-weight: 600;
  font-size: 4.6875vw;
}
.special .special-cont .special-contents .special-lists .special-list .list-price span {
  font-family: "Hemi", sans-serif;
  font-weight: 100;
  /* color: #e41f1a; */
  display: inline-block;
  background: linear-gradient(to right, #473889, #de3d49);
  background: -webkit-linear-gradient(to right, #473889, #de3d49);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding: 0 0.2em;
  font-size: 11.71875vw;
}
.special .special-cont .special-contents .special-lists-other {
  margin-bottom: 1.51042vw;
  text-align: center;
}
.special .special-cont .special-contents .special-lists-other .list-other-title {
  font-size: 4.6875vw;
  font-weight: 600;
  margin-bottom: 1.30208vw;
}
.special .special-cont .special-contents .special-lists-other .list-other-title span {
  color: #e41f1a;
  font-size: 6.25vw;
}
.special .special-cont .special-contents .btn-box {
  max-width: 75.52083vw;
}
.special .special-cont .special-contents .btn-box a {
  height: 15.625vw;
}
.special .detail_contents {
  margin: 0 auto;
  max-width: 75.52083vw;
  width: 90%
}
.special .detail_contents .btnClick {
  position: relative;
  cursor: pointer;
  margin-top: 2.0833333333vw;
  padding: 2.0833333333vw 0;
  background: #333;
  color: #fff;
  text-align: center
}
.special .detail_contents .btnClick::after {
  font-weight: 600;
  color: #fff;
  content: "＋";
  font-size: 2rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%)
}
.special .detail_contents .btnClick.is-active::after {
  content: "ー"
}
.special .detail {
  height: 0;
  opacity: 0;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  border-left: solid 1px #ccc
}
.special .detail a{
  text-decoration:underline;
}
.special .btnClick + .detail.is-open {
  opacity: 1;
  height: 100%;
  transition: all ease 0.3s;
  padding: 2.0833333333vw 4.1666666666vw;
  margin-bottom: 2.0833333333vw
}
@media screen and (min-width: 769px) {
  .special {
    padding: 6.94444vw 0;
  }
  .special .special-cont {
    background-color: #fff;
    width: 96%;
    max-width: 55.55556vw;
    margin: 0 auto;
    border: 0.13889vw solid #e41f1a;
    box-shadow: 0 0 2.77778vw rgba(0, 0, 0, 0.1);
    padding: 2.77778vw;
  }
  .special .special-cont .special-title {
    font-size: 1.66667vw;
    text-align: center;
    font-weight: 600;
    position: relative;
    margin-bottom: 2.08333vw;
  }
  .special .special-cont .special-title .title-main {
    color: #333;
    font-weight: 600;
    font-size: 2.5vw;
    font-style: italic;
    letter-spacing: 0em;
  }
  .special .special-cont .special-title .title-main .title-main-b {
    font-size: 3.33333vw;
  }
  .special .special-cont .special-title .title-main small {
    font-size: 0.5em;
    color: #333;
  }
  .special .special-cont .special-contents .special-lists {
    margin-bottom: 2.47222vw;
    display: flex;
  }
  .special .special-cont .special-contents .special-lists .special-list {
    width: 14.8148vw;
    background-color: #fff;
    padding: 1vw 1vw 0.69444vw;
    margin: 0 auto;
    border: 0.13889vw solid #e41f1a;
    box-shadow: 0.69444vw 0.69444vw 0 #e41f1a;
    text-align: center;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-title {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #e41f1a;
    font-weight: 600;
    font-size: 1.66667vw;
    height: 5.76389vw;
    margin-bottom: -1.38889vw;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price {
    font-weight: 600;
    font-size: 2.5vw;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price span {
    font-family: "Hemi", sans-serif;
    font-weight: 100;
    color: #e41f1a;
    font-size: 5.55556vw;
  }
  .special .special-cont .special-contents .special-lists-other {
    text-align: center;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title {
    font-size: 1.38889vw;
    font-weight: 600;
    margin-bottom: 0.69444vw;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title span {
    color: #e41f1a;
    font-size: 1.66667vw;
  }
  .special .special-cont .special-contents .btn-box {
    max-width: 40.27778vw;
  }
  .special .special-cont .special-contents .btn-box a {
    height: 4.16667vw;
  }
  .special .detail_contents {
    max-width: 40.27778vw
  }
  .special .detail_contents .btnClick {
    margin-top: 1.04166666665vw;
    padding: 1.04166666665vw 0
  }
  .special .btnClick + .detail.is-open {
    padding: 1.04166666665vw 2.0833333333vw;
    margin-bottom: 1.04166666665vw
  }
}
@media screen and (min-width: 1441px) {
  .special .special-cont {
    background-color: #fff;
    width: 96%;
    max-width: 800px;
    border: 2px solid #e41f1a;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    padding: 40px;
  }
  .special .special-cont .special-title {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .special .special-cont .special-title .title-main {
    font-size: 36px;
    margin-top: 10px;
  }
  .special .special-cont .special-title .title-main .title-main-b {
    font-size: 48px;
  }
  .special .special-cont .special-contents .special-lists .special-list {
    width: 320px;
    padding: 30px 30px 10px;
    border: 2px solid #e41f1a;
    box-shadow: 10px 10px 0 #e41f1a;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-title {
    font-size: 24px;
    height: 83px;
    margin-bottom: -20px;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price {
    font-size: 36px;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price span {
    font-size: 80px;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title span {
    font-size: 24px;
  }
  .special .special-cont .special-contents .btn-box {
    margin-bottom: 10px;
  }
  .special .special-cont .special-contents .btn-box a {
    height: 60px;
  }
}
.about {
  background: url(../img/top/about-list-bg.png) top center repeat-x;
  background-size: cover;
  text-align: center;
  padding: 13.0208333333vw 0;
}
.about .about-list-cont {
  margin: 0 auto;
  margin-top: 6.5104166667vw;
  margin-bottom: 6.5104166667vw;
}
.about .about-list-cont ul {
  display: block;
}
.about .about-list-cont ul .list-box {
  width: 80.7291666667vw;
  background-color: #fff;
  padding: 7.8125vw 5.2083333333vw;
  position: relative;
  margin: 0 auto 13.0208333333vw;
  height: 94vw;
}
.about .about-list-cont ul .list-box::before {
  color: #e41f1a;
  position: absolute;
  font-family: "Hemi", sans-serif;
  font-size: 14.5833333333vw;
  font-style: italic;
  left: -6.25vw;
  top: -9.375vw;
}
.about .about-list-cont ul .list-box::after {
  content: "";
  width: 82.03125vw;
  height: 95vw;
  background: -moz-linear-gradient(left, #de3d49, #473889);
  background: -webkit-linear-gradient(left, #de3d49, #473889);
  background: linear-gradient(to right, #473889, #de3d49);
  position: absolute;
  left: 2.6041666667vw;
  top: 2.6041666667vw;
  z-index: -1;
}
.about .about-list-cont ul .list01::before {
  content: "01";
}
.about .about-list-cont ul .list02::before {
  content: "02";
}
.about .about-list-cont ul .list03::before {
  content: "03";
}
.about .about-list-cont ul .list04::before {
  content: "04";
}
.about .about-list-cont ul .list05::before {
  content: "05";
}
.about .about-list-cont ul .list-box__img {
  height: 18.2291666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.about .about-list-cont ul .list-box__img img {
  width: auto;
  height: 100%;
}
.about .about-list-cont ul .list-box__title {
  color: #e41f1a;
  font-weight: 600;
  margin-top: 2.6041666667vw;
  font-size: 5.5vw;
}
.about .about-list-cont ul .list-box__explane {
  margin-top: 2.6041666667vw;
  font-size: 3.90625vw;
  text-align: justify;
}
.about .about-list-cont ul .list-box__explane a {
  text-decoration: underline;
  color: blue;
}
@media screen and (min-width: 769px) {
  .about {
    padding: 6.9444444444vw 0;
  }
  .about .about-list-cont {
    max-width: 83.3333333333vw;
    margin-top: 3.4722222222vw;
    margin-bottom: 3.4722222222vw;
  }
  .about .about-list-cont ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .about .about-list-cont ul .list-box {
    width: 23.6111111111vw;
    padding: 2.7777777778vw 2.0833333333vw;
    margin: 2.0833333333vw;
    height: 28.5vw;
  }
  .about .about-list-cont ul .list-box::before {
    font-size: 3.8888888889vw;
    left: -1.6666666667vw;
    top: -2.5vw;
  }
  .about .about-list-cont ul .list-box::after {
    width: 22.9166666667vw;
    height: 28vw;
    left: 1.3888888889vw;
    top: 1.3888888889vw;
  }
  .about .about-list-cont ul .list-box__img {
    height: 5.5555555556vw;
    margin: 0 auto;
  }
  .about .about-list-cont ul .list-box__img img {
    height: 100%;
    width: auto;
  }
  .about .about-list-cont ul .list-box__title {
    margin-top: 1.3888888889vw;
    font-size: 1.5vw;
  }
  .about .about-list-cont ul .list-box__explane {
    margin-top: 1.3888888889vw;
    font-size: 1.0416666667vw;
  }
  .about .about-list-cont ul .list-box__explane a {
    text-decoration: underline;
    color: blue;
  }
  .about .caution01 {
    width: 62.5vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1441px) {
  .about {
    padding: 150px 0;
  }
  .about .about-list-cont {
    max-width: 1200px;
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .about .about-list-cont ul .list-box {
    width: 340px;
    padding: 40px 30px;
    height: 412px;
    margin: 30px;
  }
  .about .about-list-cont ul .list-box::before {
    font-size: 56px;
    left: -24px;
    top: -36px;
  }
  .about .about-list-cont ul .list-box::after {
    width: 330px;
    height: 410px;
    left: 20px;
    top: 20px;
  }
  .about .about-list-cont ul .list-box__img {
    height: 80px;
  }
  .about .about-list-cont ul .list-box__title {
    margin-top: 20px;
    font-size: 21px;
  }
  .about .about-list-cont ul .list-box__explane {
    margin-top: 20px;
    font-size: 15px;
  }
  .about .caution01 {
    width: 900px;
  }
}
/**/
.plan,.capacity,.usage,.combo_discount {
  padding: 13.0208333333vw 0;
}
.plan .sec-title h2 {
  text-align: center;
}
.plan .sec-title h2 span {
  margin-top: 2.6041666667vw;
}
.inner_1000 {
  max-width: 88.5416666667vw;
  width: 96%;
  margin: 6.5104166667vw auto;
}
.plan_graph {
  position: relative;
  padding-top: 4em;
}
.plan_graph p {
  position: absolute;
  top: 0;
  left: 3.90625vw;
  color: #d23b30;
  font-size: 4.6875vw;
  font-weight: 700;
}
figure img {
  width: 100%;
}
.plan_graph + .comparison_graph {
  margin-top: 13.0208333333vw;
}
.comparison_graph div {
  line-height: 1.8;
  margin-top: 1.5em;
}
@media screen and (min-width: 769px) {
  .plan,.capacity,.usage,.combo_discount {
    padding: 6.9444444444vw 0;
  }
  .plan .sec-title h2 span {
    margin-top: 0
  }
  .inner_1000 {
    max-width: 69.4444444444vw;
    margin: 3.4722222222vw auto;
  }
  .plan_graph {
    padding-top: 0;
  }
  .plan_graph p {
    font-size: 1.6666666667vw;
  }
  .plan_graph + .comparison_graph {
    margin-top: 6.9444444444vw;
  }
  .comparison_graph {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .comparison_graph figure {
    width: 44%;
  }
  .comparison_graph div {
    width: 50%;
    font-size: 1.6666666667vw;
    margin-top: 0;
  }
}
@media screen and (min-width: 1441px) {
.plan,.capacity,.usage,.combo_discount {
  padding: 80px 0;
}
.inner_1000 {
  max-width: 1000px;
  margin: 50px auto;
}
.plan_graph p {
  font-size: 24px;
}
.plan_graph + .comparison_graph {
  margin-top: 80px;
}
.comparison_graph div {
  font-size: 24px;
}
}
/**/
.capacity .sec-title h2 {
  text-align: center;
}
.capacity_table {
  overflow-x: auto;
}
.capacity_table table {
  width: 100%;
  border: #e41f1a solid 4px;
  border-collapse:  collapse;
}
.capacity_table table th,.capacity_table table td {
  border: #ddd solid 1px;
  padding: 1em;
}
.capacity_table table thead tr {
  background: #e41f1a;
  color: #fff;
  white-space: nowrap;
  text-align: center;
}
.capacity_table table tbody tr td:not(:first-of-type) {
  white-space: nowrap;
  text-align: center;
}
.capacity_table table tbody tr:nth-child(odd) {
  background: #eee;
}
.capacity_table table tbody tr td:first-of-type {
  font-weight: 700;
}
.capacity_table table tbody tr td:first-of-type span {
  font-size: 60%;
}
/**/
.usage {
  background: url(../img/top/about-list-bg.png) top center repeat-x;
  background-size: cover;
}
.inner_1200 {
  margin: 0 auto;
  margin-top: 6.5104166667vw;
  margin-bottom: 6.5104166667vw;
}
.usage ul li  {
  background: #fff;
  width: 80.7291666667vw;
  padding: 7.8125vw 5.2083333333vw;
  position: relative;
  margin: 0 auto 13.0208333333vw;
  box-shadow: 10px 10px 0 #e41f1a;
}
.usage ul li h3 {
  text-align: center;
  color: #e41f1a;
  font-weight: 600;
  margin-top: 2.6041666667vw;
  font-size: 6.25vw;
}
.usage ul li p {
  margin-top: 2.6041666667vw;
  font-size: 3.90625vw;
}
.usage ul li::before {
  color: #e41f1a;
  position: absolute;
  font-family: "Hemi", sans-serif;
  font-style: italic;
  font-size: 14.5833333333vw;
  left: -6.25vw;
  top: -9.375vw;
}
.usage ul li:first-child::before {
  content: "01";
}
.usage ul li:nth-child(2)::before {
  content: "02";
}
.usage ul li:last-child::before {
  content: "03";
}
.usage ul li .case_study {
  margin: 1.6em auto 0;
}
.usage ul li .case_study a {
  display: inline-block;
  padding-left: 2.2em;
  position: relative;
}
.usage ul li .case_study a::before {
  position: absolute;
  content: '';
  background: url(../img/top/chevron_right_circle.svg)no-repeat;
  width: 1.4em;
  height: 1.4em;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .4s;
}
.usage ul li .case_study a:hover::before {
  left: 0.4em;
}
@media screen and (min-width: 769px) {
  .inner_1200 {
    max-width: 83.3333333333vw;
    margin-top: 3.4722222222vw;
    margin-bottom: 3.4722222222vw;
  }
  .usage ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .usage ul li {
    width: 23.6111111111vw;
    padding: 2.7777777778vw 2.0833333333vw;
    margin: 2.0833333333vw;
  }
  .usage ul li h3 {
    margin-top: 1.3888888889vw;
    font-size: 1.6666666667vw;
  }
  .usage ul li p {
    margin-top: 1.3888888889vw;
    font-size: 1.0416666667vw;
  }
  .usage ul li::before {
    font-size: 3.8888888889vw;
    left: -1.6666666667vw;
    top: -2.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .inner_1200 {
    max-width: 1200px;
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .usage ul li {
    width: 340px;
    padding: 40px 30px;
    margin: 30px;
  }
  .usage ul li h3 {
    margin-top: 20px;
    font-size: 24px;
  }
  .usage ul li p {
    margin-top: 20px;
    font-size: 15px;
  }
  .usage ul li::before {
    font-size: 56px;
    left: -24px;
    top: -36px;
}
}
/**/
.combo_discount .top_heading {
  text-align: center;
  margin-bottom: 1em;
}
.combo_discount .sub_ttl {
  font-weight: 700;
  font-size: 3.90625vw;
}
.combo_discount .sub_ttl .red {
  color: #e41f1a;
}
.combo_discount .sub_ttl::before,.combo_discount .sub_ttl::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 1em;
  background: #e41f1a;
  margin-right: 12px;
  position: relative;
  top: 2px;
}
.combo_discount .sub_ttl::before {
  transform: rotate(-35deg);
  left: 0;
}
.combo_discount .sub_ttl::after {
  transform: rotate(35deg);
    margin-right: 0;
    margin-left: 10px;
}
.combo_discount ul.case_list li  {
  background: #fff;
  width: 80.7291666667vw;
  position: relative;
  margin: 0 auto 13.0208333333vw;
  border: 4px solid #e41f1a;
  border-radius: 4px;
}
.combo_discount ul.case_list li .case_number {
  text-align: center;
  background: #e41f1a;
  color: #fff;
  font-family: "Hemi", sans-serif;
  font-size: 4.6875vw;
}
.combo_discount ul.case_list li .contents_middle {
  text-align: center;
  padding: 5.12vw 5.2083333333vw 0;
}
.combo_discount .howmany {
  font-weight: 700;
  font-size: 3.90625vw;
}
.combo_discount .howmany .number {
  color: #e41f1a;
  font-family: "Hemi", sans-serif;
  font-size: 6.25vw;
}
.combo_discount ul.case_list li .bottom_text {
  background: #F3CECB;
  padding: 1em 5.2083333333vw;
}
.combo_discount .bottom_text dl {
  display: flex;
  align-items: center;
  font-size: 2.73vw;
}
.combo_discount .bottom_text dl dt {
  background: #fff;
  border: solid 1px #333;
  width: 9em;
  padding: 0.2em 0;
  text-align: center;
}
.combo_discount .bottom_text dl dd {
  font-weight: 700;
  margin-left: 1em;
}
.combo_discount .bottom_text dl dd span {
  color: #e41f1a;
  font-size: 170%;
}
.combo_discount .bottom_text p {
  margin-top: 1em;
}
.combo_discount .bottom_text p span {
  font-weight: 700;
}
.combo_discount .bottom_text p .number {
  color: #e41f1a;
  font-family: "Hemi", sans-serif;
  font-size: 300%;
  line-height: 1.2;
  display: inline-block;
  margin-right: 5px;
}
@media screen and (min-width: 769px) {
  .combo_discount .sub_ttl {
    font-size: 1.25vw;
  }
  .combo_discount ul.case_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    white-space: nowrap;
  }
  .combo_discount ul.case_list li {
    width: 23.6111111111vw;
    margin: 2.0833333333vw;
  }
  .combo_discount ul.case_list li .case_number {
    font-size: 1.6666666667vw;
  }
  .combo_discount ul.case_list li .contents_middle {
    padding: 2.6vw 2.0833333333vw 0;
  }
  .combo_discount .howmany {
    font-size: 1.25vw;
  }
  .combo_discount .howmany .number {
    font-size: 2.5vw;
  }
  .combo_discount ul.case_list li .bottom_text {
    padding: 1em 1.5vw;
  }
  .combo_discount .bottom_text dl {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1441px) {
  .combo_discount .sub_ttl {
    font-size: 18px;
  }
  .combo_discount ul.case_list li {
    width: 340px;
    margin: 30px;
  }
  .combo_discount ul.case_list li .case_number {
    font-size: 24px;
  }
  .combo_discount ul.case_list li .contents_middle {
    padding: 20px 30px 0;
  }
  .combo_discount .howmany {
    font-size: 18px;
  }
  .combo_discount .howmany .number {
    font-size: 36px;
  }
  .combo_discount ul.case_list li .bottom_text {
    padding: 1em 20px 15px;
  }
  .combo_discount .bottom_text dl {
    font-size: 14px;
  }
  .combo_discount .bottom_text p .number {
    font-size: 45px;
  }
}
/**/
.option {
  padding: 13.0208333333vw 0;
  background-color: #f8f8f8;
}
.option .option-title {
  width: 89.84375vw;
  margin: 0 auto;
}
.option .option-cont {
  width: 89.84375vw;
  margin: 3.90625vw auto;
}
.option .option-cont h3 {
  font-weight: 600;
  font-size: 4.6875vw;
  margin-bottom: 2.6041666667vw;
}
.option .option-cont h3 small {
  font-weight: 500;
}
.option .option-cont .option-list {
  margin-top: 2.6041666667vw;
}
.option .option-cont .option-list .option-list-title {
  width: 89.84375vw;
  padding: 3.90625vw;
  color: #fff;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 700;
}
.option .option-cont .option-list .option-list-cont {
  width: 89.84375vw;
  padding: 5.2083333333vw;
  background-color: #fff;
}
.option .option-cont .option-list .option-list-cont span {
  font-size: 3.90625vw;
}
.option .option-cont .option-list .option-list-cont .strong {
  color: #e41f1a;
}
.option .option-cont .option-list .option-list-cont .bold {
  font-weight: 700;
}
.option .option-cont .option-list .option-list-cont .option-list-inner {
  display: flex;
  margin-bottom: 2.6041666667vw;
}
.option .option-cont .option-list .option-list-cont .option-list-inner:last-child{
  margin-bottom:0;
}
.option .option-cont .option-list .option-list-cont .option-list-inner dt {
  width: 52.0833333333vw;
}
.option .option-cont .option-list .option-list-cont .option-list-inner dd {
  width: 37.7604166667vw;
}
.option .option-cont .pay-list {
  margin-top: 5.2083333333vw;
}
.option .option-cont .pay-list li {
  background-color: #fff;
  padding: 5.2083333333vw 7.8125vw;
  display: flex;
  align-items: center;
  font-weight: 700;
  margin-right: 2.6041666667vw;
}
.option .option-cont .pay-list li img {
  margin-right: 2.6041666667vw;
}
.option .option-cont .pay-list li .pay-icon{
  width: 10vw;
  height: 8vw;
  margin-right: 2.6041666667vw;
}
.option .option-cont .pay-list li .pay-icon img{
  height: 100%;
}
.option .option-cont .cards-img {
  width: 100%;
}
.option .option-cont .cards-img img {
  width: 100%;
  max-width: 403px;
}
.option .option-cont .option-caution {
  margin-top: 5.2083333333vw;
}
.option .option-cont .option-caution li {
  text-indent: -1em;
  margin-left: 1em;
  margin-bottom: 2.6041666667vw;
}
.option .option-cont .option-detail{
  margin-top: 2.5vw;
  display: inline-block;
  padding-left: 2.2em;
  position: relative;
}
.option .option-cont .option-detail::before{
  position: absolute;
    content: '';
    background: url(../img/top/chevron_right_circle.svg)no-repeat;
    width: 1.4em;
    height: 1.4em;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: all .4s;
}
.option .option-cont .option-detail:hover::before {
  left: 0.4em;
}
.payment-detail{
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .option {
    width: 100%;
    padding: 6.9444444444vw 0;
  }
  .option .option-title {
    width: 100%;
  }
  .option .option-cont {
    width: 55.5555555556vw;
    margin: 2.0833333333vw auto;
  }
  .option .option-cont h3 {
    font-size: 1.25vw;
    margin-bottom: 0.6944444444vw;
  }
  .option .option-cont .option-list {
    display: flex;
    margin-top: 0.6944444444vw;
  }
  .option .option-cont .option-list .option-list-title {
    padding: 0;
    width: 13.8888888889vw;
  }
  .option .option-cont .option-list .option-list-cont {
    width: 41.6666666667vw;
    padding: 1.3888888889vw;
  }
  .option .option-cont .option-list .option-list-cont span {
    font-size: 1.25vw;
  }
  .option .option-cont .option-list .option-list-inner {
    margin-bottom: 0.6944444444vw;
  }
  .option .option-cont .option-list .option-list-inner dt {
    width: 13.8888888889vw;
  }
  .option .option-cont .option-list .option-list-inner dd {
    width: 20.8333333333vw;
  }
  .option .option-cont .pay-list {
    margin-top: 1.3888888889vw;
    display: flex;
  }
  .option .option-cont .pay-list li {
    padding: 1.3888888889vw 2.0833333333vw;
    margin-right: 0.6944444444vw;
  }
  .option .option-cont .pay-list li .pay-icon{
    width: 3vw;
    height: 3vw;
    margin-right: 0.6944444444vw;
  }
  .option .option-cont .pay-list li .pay-icon img{
    height: 100%;
  }
  .option .option-cont .option-caution {
    margin-top: 1.3888888889vw;
  }
  .option .option-cont .option-caution li {
    margin-bottom: 0.6944444444vw;
  }
  .option .option-cont .option-detail{
    margin-top: 0.8vw;
  }
}
@media screen and (min-width: 1441px) {
  .option {
    padding: 100px 0;
  }
  .option .option-cont {
    width: 800px;
    margin: 30px auto;
  }
  .option .option-cont h3 {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .option .option-cont .option-list {
    margin-top: 10px;
  }
  .option .option-cont .option-list .option-list-title {
    width: 200px;
  }
  .option .option-cont .option-list .option-list-cont {
    width: 600px;
    padding: 20px;
  }
  .option .option-cont .option-list .option-list-cont span {
    font-size: 18px;
  }
  .option .option-cont .option-list .option-list-inner {
    margin-bottom: 10px;
  }
  .option .option-cont .option-list .option-list-inner dt {
    width: 200px;
  }
  .option .option-cont .option-list .option-list-inner dd {
    width: 300px;
  }
  .option .option-cont .pay-list {
    margin-top: 20px;
  }
  .option .option-cont .pay-list li {
    padding: 20px 30px;
    margin-right: 10px;
    font-size: 20px;
  }
  .option .option-cont .pay-list li .pay-icon{
    width: 50px;
    height: 50px;
    margin-right: 10px;
  }
  .option .option-cont .pay-list li .pay-icon img{
    height: 100%;
  }
  .option .option-cont .option-caution {
    margin-top: 20px;
  }
  .option .option-cont .option-caution li {
    margin-bottom: 10px;
  }
}
.cta {
  background: url(../img/top/cta-bg.png) center center no-repeat;
  background-size: cover;
  padding: 15.625vw 0 13.0208333333vw;
}
.cta .cta-box {
  background-color: #fff;
  border: #efdddc 2.0833333333vw solid;
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.cta .discount {
  position: absolute;
  left: calc(50% - 20px - 39.5vw);
  top: -8px;
  transform: translateY(-50%) skew(-10deg);
  background: #e41f1a;
  padding: 8px 20px;
}
.cta .discount p {
  font-size: 4.1666666667vw;
  color: #fff;
  font-weight: bold;
  transform: skew(10deg);
}
.cta .maximum {
  font-size: 5.46875vw;
  font-weight: 600;
  margin-bottom: 1.3020833333vw;
  margin-top: 6.5104166667vw;
}
.cta .maximum::before {
  content: "";
  background-color: #e41f1a;
  transform: rotate(-35deg);
  width: 1.0416666667vw;
  height: 7.8125vw;
  position: absolute;
  left: 13.0208333333vw;
  top: 6.5104166667vw;
}
.cta .maximum::after {
  content: "";
  background-color: #e41f1a;
  transform: rotate(35deg);
  width: 1.0416666667vw;
  height: 7.8125vw;
  position: absolute;
  right: 13.0208333333vw;
  top: 6.5104166667vw;
}
.cta .spec-pricetxt {
  font-size: 6.25vw;
  font-weight: 600;
  position: relative;
  line-height: 1.2;
}
.cta .spec-pricetxt .price {
  font-weight: 300;
  font-size: 18.2291666667vw;
  font-family: "Hemi", sans-serif;
  color: #473889;
  padding-right: 0.1em;
  background: -moz-linear-gradient(left, #de3d49, #473889);
  background: -webkit-linear-gradient(left, #de3d49, #473889);
  background: linear-gradient(to right, #473889, #de3d49);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cta .notax {
  font-weight: 600;
  font-size: 4.6875vw;
  color: #333;
  width: 91.1458333333vw;
  text-align: right;
}
.cta .btn-box {
  flex-wrap: wrap;
  margin-top: 3.90625vw;
  margin-bottom: 6.5104166667vw;
}
.cta .btn-box .btn-primary {
  width: 85.9375vw;
  margin-bottom: 5.2083333333vw;
  margin-right: 2.6041666667vw;
}
.cta .btn-box .btn-secondary {
  width: 85.9375vw;
}
.cta_bottom {
  margin: 5.2083333333vw auto 0
}
.cta_bottom .btn-primary {
  margin-bottom: 5.2083333333vw;
}
@media screen and (min-width: 769px) {
  .cta {
    padding: 8.3333333333vw 0 6.9444444444vw;
  }
  .cta .cta-box {
    border: #efdddc 8px solid;
    max-width: 55.5555555556vw;
    margin: 0 auto;
  }
  .cta .cta-box .discount {
    position: absolute;
    left: calc(50% - 28px - 16vw);
    top: -8px;
    transform: translateY(-50%) skew(-10deg);
    background: #e41f1a;
    padding: 8px 28px;
  }
  .cta .cta-box .discount p {
    font-size: 1.6666666667vw;
    color: #fff;
    font-weight: bold;
    transform: skew(10deg);
  }
  .cta .cta-box .maximum {
    font-size: 1.6666666667vw;
    margin-bottom: 0.6944444444vw;
    margin-top: 3.4722222222vw;
  }
  .cta .cta-box .maximum::before {
    width: 0.2777777778vw;
    height: 2.0833333333vw;
    left: 15.9722222222vw;
    top: 3.8194444444vw;
  }
  .cta .cta-box .maximum::after {
    width: 0.2777777778vw;
    height: 2.0833333333vw;
    right: 15.9722222222vw;
    top: 3.8194444444vw;
  }
  .cta .cta-box .spec-pricetxt {
    font-size: 2.5vw;
  }
  .cta .cta-box .spec-pricetxt .price {
    font-size: 6.6666666667vw;
  }
  .cta .notax {
    font-size: 1.6666666667vw;
    margin: 0 auto;
    width: 31.25vw;
  }
  .cta .btn-box {
    width: 45.8333333333vw;
    margin-top: 2.0833333333vw;
    margin-bottom: 3.4722222222vw;
    flex-wrap: nowrap;
  }
  .cta_bottom {
    margin: 2.0833333333vw auto 0;
    width: 45.8333333333vw;
	max-width: 100%
  }
  .cta .btn-box .btn-primary, .cta_bottom .btn-primary {
    margin-bottom: 0;
    width: 18vw;
    margin-right: 1.3888888889vw;
  }
  .cta .btn-box .btn-secondary, .cta_bottom .btn-secondary {
    width: 24vw;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1441px) {
  .cta {
    padding: 90px 50px 50px;
  }
  .cta .cta-box {
    max-width: 800px;
  }
  .cta .cta-box .maximum {
    font-size: 24px;
    margin-bottom: 10px;
    margin-top: 50px;
  }
  .cta .cta-box .maximum::before {
    width: 4px;
    height: 30px;
    left: 230px;
    top: 55px;
  }
  .cta .cta-box .maximum::after {
    width: 4px;
    height: 30px;
    right: 230px;
    top: 55px;
  }
  .cta .cta-box .spec-pricetxt {
    font-size: 36px;
  }
  .cta .cta-box .spec-pricetxt .price {
    font-size: 96px;
  }
  .cta .notax {
    font-size: 24px;
    width: 450px;
  }
  .cta .btn-box {
    width: 660px;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 50px;
  }
  .cta .btn-box .btn-primary {
    width: 345px;
    margin-right: 20px;
  }
  .cta .btn-box .btn-secondary {
    width: 286px;
  }
  .cta .btn-box .btn-secondary a {
    border: 3px solid #5283e9;
  }
}
.faq {
  padding: 13.0208333333vw 0;
  background-color: #f8f8f8;
  text-align: center;
  position: relative;
}
.faq .sec-title h2 {
  display: block;
}
.faq .sec-title h2 span {
  margin-top: 2.6041666667vw;
}
.faq .faq-cont {
  max-width: 88.5416666667vw;
  margin: 6.5104166667vw auto;
  text-align: left;
}
.faq .faq-cont ul li {
  border-bottom: 1px solid #ccc;
}
.faq .faq-cont ul li .question {
  font-size: 3.90625vw;
  text-indent: -10.4166666667vw;
  line-height: 1.2;
}
.faq .faq-cont ul li .answer {
  font-size: 3.6458333333vw;
  opacity: 0;
  height: 0;
  text-indent: -50px;
  line-height: 1.5em;
  padding: 0 3.90625vw 0 11.71875vw;
}
.faq .faq-cont ul li .answer a {
  color: blue;
  text-decoration: underline;
}
.faq .faq-cont ul li .btnClick {
  padding: 2.6041666667vw 14.3229166667vw;
  position: relative;
  cursor: pointer;
}
.faq .faq-cont ul li .btnClick::after {
  font-weight: 600;
  color: #e41f1a;
  content: "＋";
  font-size: 6.25vw;
  position: absolute;
  right: -5.2083333333vw;
  bottom: 2.6041666667vw;
}
.faq .faq-cont ul li .is-active::after {
  font-weight: 600;
  color: #e41f1a;
  content: "ー";
  font-size: 6.25vw;
  position: absolute;
  right: -5.2083333333vw;
  bottom: 2.6041666667vw;
}
.faq .faq-cont ul li .btnClick + .is-open {
  opacity: 1;
  height: 100%;
  background-color: #fff;
  transition: all ease 0.3s;
  padding: 2.6041666667vw 3.90625vw 3.90625vw 16.9270833333vw;
  margin-bottom: 5.2083333333vw;
}
.faq .faq-cont ul li .question::before {
  content: "Q";
  font-size: 9.1145833333vw;
  font-family: "Hemi", sans-serif;
  color: #e41f1a;
  margin-right: 20px;
}
.faq .faq-cont ul li .answer::before {
  content: "A";
  font-size: 9.1145833333vw;
  font-family: "Hemi", sans-serif;
  color: #e41f1a;
  margin-right: 20px;
  position: relative;
  top: 0.2em;
}
.faq_add{
  display: inline-block;
  padding-left: 2.2em;
  position: relative;
  margin-top: 0em;
}
.faq_add a::before {
  position: absolute;
  content: '';
  background: url(../img/top/chevron_right_circle.svg)no-repeat;
  width: 1.4em;
  height: 1.4em;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .4s;
}
.faq_add a:hover::before {
  left: 0.4em;
}
@media screen and (min-width: 769px) {
  .faq {
    padding: 6.9444444444vw 0 3.4722222222vw;
  }
  .faq .sec-title h2 {
    display: flex;
  }
  .faq .sec-title h2 span {
    margin-top: 0;
  }
  .faq .faq-cont {
    max-width: 55.5555555556vw;
    margin: 3.4722222222vw auto;
  }
  .faq .faq-cont ul li {
    border-bottom: 0.0694444444vw solid #ccc;
  }
  .faq .faq-cont ul li .question {
    font-size: 1.25vw;
    text-indent: 0;
    padding: 0;
  }
  .faq .faq-cont ul li .answer {
    font-size: 1.0416666667vw;
    text-indent: -3.4722222222vw;
    line-height: 1.6666666667vw;
    padding: 0 2.0833333333vw 0 6.25vw;
  }
  .faq .faq-cont ul li .question {
    font-size: 1.25vw;
  }
  .faq .faq-cont ul li .btnClick {
    padding: 0.3em 1em;
  }
  .faq .faq-cont ul li .btnClick::after {
    font-size: 1.6666666667vw;
    bottom: 1.0416666667vw;
    right: 0;
  }
  .faq .faq-cont ul li .is-active::after {
    font-size: 1.6666666667vw;
    bottom: 1.0416666667vw;
  }
  .faq .faq-cont ul li .btnClick + .is-open {
    padding: 1.3888888889vw 2.0833333333vw 2.0833333333vw 6.25vw;
    margin-bottom: 2.0833333333vw;
  }
  .faq .faq-cont ul li .question::before {
    font-size: 3.3333333333vw;
    margin-right: 1.3888888889vw;
  }
  .faq .faq-cont ul li .answer::before {
    font-size: 3.3333333333vw;
    margin-right: 1.3888888889vw;
  }
  .faq_add{
    margin-top: 2em;
  }
}
@media screen and (min-width: 1441px) {
  .faq {
    padding: 100px 0 50px;
  }
  .faq .sec-title h2 {
    display: flex;
  }
  .faq .sec-title h2 span {
    margin-top: 0;
  }
  .faq .faq-cont {
    max-width: 800px;
    margin: 50px auto;
  }
  .faq .faq-cont ul li {
    border-bottom: 1px solid #ccc;
  }
  .faq .faq-cont ul li .question {
    font-size: 18px;
    text-indent: 0;
    padding: 0;
  }
  .faq .faq-cont ul li .answer {
    font-size: 15px;
    text-indent: -50px;
    line-height: 24px;
    padding: 0 30px 0 90px;
  }
  .faq .faq-cont ul li .question {
    font-size: 18px;
  }
  .faq .faq-cont ul li .btnClick {
    padding: 0.3em 1em;
  }
  .faq .faq-cont ul li .btnClick::after {
    font-size: 24px;
    bottom: 15px;
    right: 0;
  }
  .faq .faq-cont ul li .is-active::after {
    font-size: 24px;
    bottom: 15px;
  }
  .faq .faq-cont ul li .btnClick + .is-open {
    padding: 20px 30px 30px 90px;
    margin-bottom: 30px;
  }
  .faq .faq-cont ul li .question::before {
    font-size: 48px;
    margin-right: 20px;
  }
  .faq .faq-cont ul li .answer::before {
    font-size: 48px;
    margin-right: 20px;
  }
  .faq_add{
    padding-left: 40px;
    margin-top: 40px;
    font-size: 20px;
  }
}
/* よくある質問 ボタン式 start */
.faq-button-ver{
  padding: 7.6vw;
}
.faq-button-ver .faq-button-list{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10.25vw;
}
.faq-button-ver .faq-button-list .faq-button-link{
  background: #fff;
  border-radius: 2.05vw;
  display: block;
  border: solid #e41f1a 4px;
  width: 76vw;
  padding: 5vw 0;
  text-align: center;
  box-shadow: 1vw 1vw 0 #e41f1a;
  transition: all .4s;
}
.faq-button-ver .faq-button-list .faq-button-link:hover{
  transform: translate(1vw, 1vw);
  box-shadow: none;
}
.faq-button-ver .faq-button-list .faq-button-link figure{
  width: 26vw;
  margin: 0 auto;
}
.faq-button-ver .faq-button-list .faq-button-link .paper{
  width: 18vw;
}
.faq-button-ver .faq-button-list .faq-button-link .money{
  width: 22vw;
}
.faq-button-ver .faq-button-list .faq-button-link .payment{
  width: 23vw;
}
.faq-button-ver .faq-button-list .faq-button-link .wifi{
  width: 23vw;
}
.faq-button-ver .faq-button-list .faq-button-link .faq-button-txt{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.56vw;
  margin-top: 3vw;
}
.faq-button-ver .faq-button-list .faq-button-link .faq-button-txt p{
  font-size: 5.128vw;
  font-weight: bold;
}
.faq-button-ver .faq-button-list .faq-button-link .faq-button-txt .faq-button-arrow {
  width: 4vw;
  margin: 0;
  transition: all .4s;
}
.faq-button-ver .faq-button-list .faq-button-link:hover .faq-button-txt .faq-button-arrow{
  transform: translateX(0.5vw);
}
@media screen and (min-width: 769px){
  .faq-button-ver{
    padding: 4.5vw;
  }
  .faq-button-ver .faq-button-list{
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3.5vw;
  }
  .faq-button-ver .faq-button-list .faq-button-link{
    border-radius: 1.5vw;
    border: solid #e41f1a 4px;
    width: 23vw;
    height: 15vw;
    padding: 2vw 0;
    box-shadow: 0.5vw 0.5vw 0 #e41f1a;
  }
  .faq-button-ver .faq-button-list .faq-button-link:hover{
    transform: translate(0.5vw, 0.5vw);
    box-shadow: none;
  }
  .faq-button-ver .faq-button-list .faq-button-link figure{
    width: 9vw;
    height: 6.5vw;
    margin: 0 auto;
  }
  .faq-button-ver .faq-button-list .faq-button-link .paper{
    width: 6vw;
  }
  .faq-button-ver .faq-button-list .faq-button-link .money{
    width: 7vw;
  }
  .faq-button-ver .faq-button-list .faq-button-link .payment{
    width: 8vw;
  }
  .faq-button-ver .faq-button-list .faq-button-link .wifi{
    width: 7vw;
  }
  .faq-button-ver .faq-button-list .faq-button-link .faq-button-txt{
    gap: 0.5vw;
    margin-top: 1vw;
  }
  .faq-button-ver .faq-button-list .faq-button-link .area{
    margin-top: 0.3vw;
    line-height: 1.2;
  }
  .faq-button-ver .faq-button-list .faq-button-link .faq-button-txt p{
    font-size: 1.6vw;
    white-space: nowrap;
  }
  .faq-button-ver .faq-button-list .faq-button-link .faq-button-txt .faq-button-arrow {
    width: 1.5vw;
    height: 1.5vw;
    margin: 0;
    transition: all .4s;
  }
  .faq-button-ver .faq-button-list .faq-button-link:hover .faq-button-txt .faq-button-arrow{
    transform: translateX(0.3vw);
  }
}
/* @media screen and (min-width: 1441px){
  .faq-button-ver{
    padding: 60px 200px;
  }
  .faq-button-ver .faq-button-list{
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px;
  }
  .faq-button-ver .faq-button-list .faq-button-link{
    border-radius: 20px;
    border: solid #e41f1a 4px;
    width: 320px;
    height: 250px;
    padding: 45px 0;
    box-shadow: 0.5vw 0.5vw 0 #e41f1a;
  }
  .faq-button-ver .faq-button-list .faq-button-link:hover{
    transform: translate(0.5vw, 0.5vw);
    box-shadow: none;
  }
  .faq-button-ver .faq-button-list .faq-button-link figure{
    width: 150px;
    height: 94px;
    margin: 0 auto;
  }
  .faq-button-ver .faq-button-list .faq-button-link .paper{
    width: 100px;
  }
  .faq-button-ver .faq-button-list .faq-button-link .money{
    width: 120px;
  }
  .faq-button-ver .faq-button-list .faq-button-link .payment{
    width: 120px;
  }
  .faq-button-ver .faq-button-list .faq-button-link .wifi{
    width: 120px;
  }
  .faq-button-ver .faq-button-list .faq-button-link .faq-button-txt{
    gap: 0.5vw;
    margin-top: 20px;
  }
  .faq-button-ver .faq-button-list .faq-button-link .faq-button-txt p{
    font-size: 26px;
    white-space: nowrap;
  }
  .faq-button-ver .faq-button-list .faq-button-link .faq-button-txt .faq-button-arrow {
    width: 20px;
    height: 20px;
    margin: 0;
    transition: all .4s;
  }
  .faq-button-ver .faq-button-list .faq-button-link:hover .faq-button-txt .faq-button-arrow{
    transform: translateX(1vw);
  }
} */
/* よくある質問 ボタン式 end */
.flow {
  text-align: center;
  padding: 13.0208333333vw 0;
  position: relative;
}
.flow .sec-title {
  margin-bottom: 6.5104166667vw;
}
.flow .sec-title h2 {
  display: block;
}
.flow .sec-title h2 span {
  margin-top: 2.6041666667vw;
}
.flow .flow-caution {
  font-weight: 600;
  width: 100%;
  display: block;
  font-size: 4.6875vw;
  margin-bottom: 3.90625vw;
  text-align: center;
}
.flow .flow-caution span {
  color: #e41f1a;
  font-family: "Hemi", sans-serif;
}
.flow .flow-caution strong {
  color: #e41f1a;
  font-size: 6.25vw;
}
.flow .flow-cont {
  text-align: left;
  width: 84.6354166667vw;
  margin: 0 auto;
  position: relative;
  left: 3.90625vw;
}
.flow .flow-cont li {
  display: flex;
  flex-wrap: wrap;
  align-items: top;
  padding: 2.6041666667vw;
}
.flow .flow-cont .step {
  color: #e41f1a;
  font-size: 4.6875vw;
  width: 100%;
  font-family: "Hemi", sans-serif;
}
.flow .flow-cont .step-explane h3 {
  font-weight: 600;
  font-size: 4.6875vw;
  margin-bottom: 2.6041666667vw;
}
.flow .flow-cont::before {
  content: "";
  position: absolute;
  background-color: #e41f1a;
  height: 130.2083333333vw;
  top: 13.0208333333vw;
  width: 0.5208333333vw;
  left: -1.5625vw;
}
.flow .flow-cont li::before {
  content: "";
  position: relative;
  height: 3.515625vw;
  width: 3.515625vw;
  border-radius: 50%;
  left: -6.5104166667vw;
  top: 6.5104166667vw;
}
.flow .flow-cont li.step01::before {
  background-color: #fff;
  border: 3px solid #e41f1a;
}
.flow .flow-cont li.step02::before {
  background-color: #fff;
  border: 3px solid #e41f1a;
}
.flow .flow-cont li.step03::before {
  background-color: #fff;
  border: 3px solid #e41f1a;
}
.flow .flow-cont li.step04::before {
  background-color: #e41f1a;
  border: 3px solid #e41f1a;
}
.flow_add{
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 2.2em;
  position: relative;
  margin-top: 0em;
}
.flow_add a::before {
  position: absolute;
  content: '';
  background: url(../img/top/chevron_right_circle.svg)no-repeat;
  width: 1.4em;
  height: 1.4em;
  left: 24vw;
  top: 50%;
  transform: translateY(-50%);
  transition: all .4s;
}
.flow_add a:hover::before {
  left: 24.4vw;
}
@media screen and (min-width: 769px) {
  .flow {
    padding: 6.9444444444vw 0;
  }
  .flow .sec-title {
    margin-bottom: 3.4722222222vw;
  }
  .flow .sec-title h2 {
    display: flex;
  }
  .flow .sec-title h2 span {
    margin-top: 0;
  }
  .flow .flow-caution {
    font-size: 1.25vw;
    margin-bottom: 2.0833333333vw;
  }
  .flow .flow-caution strong {
    font-size: 1.6666666667vw;
  }
  .flow .flow-cont {
    width: 55.5555555556vw;
    left: 0;
  }
  .flow .flow-cont li {
    padding: 1.3888888889vw 0;
    position: relative;
    left: 6.9444444444vw;
  }
  .flow .flow-cont .step {
    font-size: 1.6666666667vw;
    width: 10.4166666667vw;
  }
  .flow .flow-cont img {
    width: 5.1388888889vw;
    margin: 0 1.3888888889vw;
  }
  .flow .flow-cont .step-explane {
    width: 38.1944444444vw;
  }
  .flow .flow-cont .step-explane h3 {
    font-size: 1.6666666667vw;
    margin-bottom: 1.3888888889vw;
  }
  .flow .flow-cont::before {
    height: 28vw;
    top: 3.4722222222vw;
    width: 0.2083333333vw;
    left: 4.5138888889vw;
  }
  .flow .flow-cont li::before {
    height: 1.875vw;
    width: 1.875vw;
    left: -3.4722222222vw;
    top: 0vw;
    margin-top: 0;
  }
  .flow .flow-cont li.step01::before {
    border: 0.2083333333vw solid #e41f1a;
  }
  .flow .flow-cont li.step02::before {
    border: 0.2083333333vw solid #e41f1a;
  }
  .flow .flow-cont li.step03::before {
    border: 0.2083333333vw solid #e41f1a;
  }
  .flow_add{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 2.2em;
    position: relative;
    margin-top: 2em;
  }
  .flow_add a::before {
    position: absolute;
    content: '';
    background: url(../img/top/chevron_right_circle.svg)no-repeat;
    width: 1.4em;
    height: 1.4em;
    left: 42vw;
    top: 50%;
    transform: translateY(-50%);
    transition: all .4s;
  }
  .flow_add a:hover::before {
    left: 42.4vw;
  }
}
@media screen and (min-width: 1441px) {
  .flow {
    padding: 100px 0;
  }
  .flow .sec-title {
    margin-bottom: 50px;
  }
  .flow .sec-title h2 {
    display: flex;
  }
  .flow .sec-title h2 span {
    margin-top: 0;
  }
  .flow .flow-caution {
    font-size: 18px;
    margin-bottom: 30px;
  }
  .flow .flow-caution strong {
    font-size: 24px;
  }
  .flow .flow-cont {
    width: 800px;
    left: 0;
  }
  .flow .flow-cont li {
    padding: 20px 0;
    position: relative;
    left: 100px;
  }
  .flow .flow-cont .step {
    font-size: 24px;
    width: 150px;
  }
  .flow .flow-cont img {
    width: 74px;
    margin: 0 20px;
  }
  .flow .flow-cont .step-explane {
    width: 550px;
  }
  .flow .flow-cont .step-explane h3 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .flow .flow-cont::before {
    height: 590px;
    top: 50px;
    width: 3px;
    left: 65px;
  }
  .flow .flow-cont li::before {
    height: 27px;
    width: 27px;
    left: -50px;
    top: 0px;
    margin-top: 0;
  }
  .flow .flow-cont li.step01::before {
    border: 3px solid #e41f1a;
  }
  .flow .flow-cont li.step02::before {
    border: 3px solid #e41f1a;
  }
  .flow .flow-cont li.step03::before {
    border: 3px solid #e41f1a;
  }
}
.topics {
  background-color: #f8f8f8;
  padding: 13.0208333333vw 5.2083333333vw;
}
.topics .topics-box {
  max-width: 88.5416666667vw;
  margin: 0 auto;
  position: relative;
  padding: 6.5104166667vw 5.2083333333vw;
  border: #e41f1a 3px solid;
  background-color: #fff;
}
.topics .topics-box .sec-title {
  display: block;
}
.topics .topics-box ul {
  height: 30vh;
  overflow-y: scroll;
  margin-top: 10px;
}
.topics .topics-box ul li {
  font-weight: 600;
  border-bottom: 1px solid #e41f1a;
  padding: 10px 0;
}
@media screen and (min-width: 769px) {
  .topics {
    padding: 3.4722222222vw 0;
  }
  .topics .topics-box {
    max-width: 69.4444444444vw;
    padding: 3.4722222222vw;
    border: 0.2083333333vw #e41f1a solid;
  }
  .topics .topics-box ul {
    height: 10vh;
    margin-top: 0.6944444444vw;
  }
  .topics .topics-box ul li {
    border-bottom: 0.0694444444vw solid #e41f1a;
    padding: 0.6944444444vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .topics {
    padding: 50px;
  }
  .topics .topics-box {
    max-width: 1000px;
    padding: 50px;
    border: #e41f1a 3px solid;
  }
  .topics .topics-box ul {
    margin-top: 10px;
  }
  .topics .topics-box ul li {
    border-bottom: 1px solid #e41f1a;
    padding: 10px 0;
  }
}

/*------------------AiR×RPC セット割 start------------------*/
.discount {
  background: url(../img/discount_back.png) no-repeat center center/cover, #fff4f4;
  font-weight: bold;
}
.discount .inner {
  padding: 8.78477306vw 14.6412884334vw 5.8565153734vw;
}
@media only screen and (max-width: 750px) {
  .discount .inner {
    padding: 21.3333333333vw 4vw 10.6666666667vw;
  }
}
.discount--content {
  border-radius: 0.3660322108vw;
  position: relative;
  background: #FAFAFA;
  box-shadow: 0 0.2928257687vw 1.0980966325vw rgba(0, 0, 0, 0.15);
}
@media only screen and (max-width: 750px) {
  .discount--content {
    border-radius: 0.6666666667vw;
    box-shadow: 0 0.5333333333vw 2vw rgba(40, 55, 184, 0.15);
  }
}
.discount--content .sub_heading {
  position: absolute;
  top: -3.6603221083vw;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 750px) {
  .discount--content .sub_heading {
    top: -13.3333333333vw;
  }
}
.discount--content .sub_heading p {
  position: relative;
  text-align: center;
  white-space: nowrap;
  display: inline-block;
  border-radius: 0.7320644217vw;
  padding: 0.8em 1em;
  background: #fff;
  box-shadow: 0 0.2928257687vw 0.5856515373vw rgba(0, 0, 0, 0.25);
  font-size: 1.4641288433vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .sub_heading p {
    border-radius: 1.3333333333vw;
    box-shadow: 0 0.5333333333vw 1.0666666667vw rgba(0, 0, 0, 0.25);
    font-size: 3.2vw;
  }
}
.discount--content .sub_heading p .red {
  color: #e83228;
}
.discount--content .sub_heading p .font2 {
  font-weight: 700;
  line-height: 1;
  display: inline-block;
  vertical-align: -0.08em;
  margin: 0 0.08em;
  font-size: 2.3426061493vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .sub_heading p .font2 {
    font-size: 5.0666666667vw;
  }
}
.discount--content .sub_heading p::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  border-left: 1.0980966325vw solid transparent;
  border-right: 1.0980966325vw solid transparent;
  border-top: 1.4641288433vw solid #fff;
}
@media only screen and (max-width: 750px) {
  .discount--content .sub_heading p::after {
    border-left: 2vw solid transparent;
    border-right: 2vw solid transparent;
    border-top: 2.6666666667vw solid #fff;
  }
}
.discount--content h2 {
  border-radius: 0.3660322108vw 0.3660322108vw 0 0;
  color: #fff;
  background: #e41f1a;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.7320644217vw;
  margin-bottom: 0;
  padding: 4.39238653vw 0 2.5622254758vw;
  font-size: 3.8067349927vw;
  font-weight: bold;
}
@media only screen and (max-width: 750px) {
  .discount--content h2 {
    border-radius: 0.6666666667vw 0.6666666667vw 0 0;
    display: block;
    padding: 8vw 0 2.6666666667vw;
    font-size: 8vw;
    text-align: center;
  }
}
.discount--content h2 figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36.6032210835vw;
}
@media only screen and (max-width: 750px) {
  .discount--content h2 figure {
    margin: 0 auto;
    width: 66.6666666667vw;
  }
}
.discount--content .main {
  position: relative;
  padding: 2.196193265vw 2.9282576867vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main {
    padding: 4vw;
  }
}
.discount--content .main .red {
  color: #e83228;
}
.discount--content .main .price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.196193265vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .price {
    gap: 2vw;
  }
}
.discount--content .main .price p:first-of-type {
  font-weight: 500;
  font-size: 1.756954612vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .price p:first-of-type {
    font-size: 3.2vw;
  }
}
.discount--content .main .price p span {
  font-weight: 700;
}
.discount--content .main .price p .red {
  font-size: 3.2942898975vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .price p .red {
    font-size: 6vw;
  }
}
.discount--content .main .price p .middle {
  font-size: 2.3426061493vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .price p .middle {
    font-size: 4.2666666667vw;
  }
}
.discount--content .main .price p.zero {
  text-shadow: 0.2928257687vw 0.2928257687vw 0 #FFE800;
  font-size: 3.513909224vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .price p.zero {
    text-shadow: 0.5333333333vw 0.5333333333vw 0 #FFE800;
    font-size: 6.4vw;
  }
}
.discount--content .main .price p.zero .font2 {
  vertical-align: -0.04em;
  line-height: 1;
  font-size: 15.3733528551vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .price p.zero .font2 {
    font-size: 28vw;
  }
}
.discount--content .main .burden {
  color: #e41f1a;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 1.4641288433vw;
  right: 1.0980966325vw;
  width: 10.2489019034vw;
  height: 10.2489019034vw;
  background: #FFE800;
  border-radius: 50%;
  font-size: 1.1713030747vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .burden {
    top: -2.6666666667vw;
    right: 0.6666666667vw;
    width: 18.6666666667vw;
    height: 18.6666666667vw;
    font-size: 2.1333333333vw;
  }
}
.discount--content .main .burden .strong {
  line-height: 1.2;
  font-size: 1.756954612vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .burden .strong {
    font-size: 3.2vw;
  }
}
.discount--content .main .burden::after {
  content: "";
  position: absolute;
  top: 85%;
  left: 1.4641288433vw;
  transform: translateX(-50%) rotate(45deg);
  border-left: 0.878477306vw solid transparent;
  border-right: 0.878477306vw solid transparent;
  border-top: 1.8301610542vw solid #FFE800;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .burden::after {
    left: 2.6666666667vw;
    border-left: 1.6vw solid transparent;
    border-right: 1.6vw solid transparent;
    border-top: 3.3333333333vw solid #FFE800;
  }
}
.discount--content .main .note {
  text-align: center;
  font-weight: 400;
  margin-top: 1em;
  font-size: 1.1713030747vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .note {
    font-size: 2.1333333333vw;
  }
}
.discount--content .main .ex {
  background: #fff4f4;
  padding: 2.196193265vw;
  margin-top: 2.196193265vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .ex {
    padding: 4vw 3.3333333333vw;
    margin-top: 4vw;
  }
}
.discount--content .main .ex--ttl {
  color: #e41f1a;
  text-align: center;
  margin-bottom: 1.5em;
  font-size: 1.1713030747vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .ex--ttl {
    margin-bottom: 1em;
    font-size: 2.6666666667vw;
  }
}
.discount--content .main .ex--ttl span {
  padding: 0 0.5em 0.5em 0.5em;
  display: inline-block;
  position: relative;
  border-bottom: solid 0.2928257687vw #e41f1a;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .ex--ttl span {
    padding: 0 0 0.5em 0;
  }
}
.discount--content .main .ex--ttl span::before, .discount--content .main .ex--ttl span::after {
  position: absolute;
  content: "";
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  height: 0;
  width: 0;
}
.discount--content .main .ex--ttl span::before {
  border: solid 1.0980966325vw;
  border-color: transparent;
  border-top-color: #e41f1a;
}
.discount--content .main .ex--ttl span::after {
  border: solid 0.7320644217vw;
  border-color: transparent;
  border-top-color: #fff4f4;
}
.discount--content .main .ex--profit {
  display: flex;
  align-items: center;
  justify-content: center;
}
.discount--content .main .ex--profit .first {
  font-weight: 500;
  font-size: 1.1713030747vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .ex--profit .first {
    font-size: 2.1333333333vw;
    letter-spacing: 0;
  }
}
.discount--content .main .ex--profit .second {
  font-size: 1.756954612vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .ex--profit .second {
    font-size: 3.2vw;
  }
}
.discount--content .main .ex--profit .second .font2 {
  display: inline-block;
  margin: 0 0.3660322108vw 0 1.0980966325vw;
  line-height: 1;
  font-weight: 700;
  text-shadow: 0.2928257687vw 0.2928257687vw 0 #fff;
  font-size: 4.9780380673vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .ex--profit .second .font2 {
    margin: 0 0.6666666667vw 0 1.3333333333vw;
    text-shadow: vw_sps(4) 0.5333333333vw 0 #fff;
    font-size: 8.5vw;
  }
}
.discount--content .main .ex--profit .second .strong {
  font-size: 2.9282576867vw;
}
@media only screen and (max-width: 750px) {
  .discount--content .main .ex--profit .second .strong {
    font-size: 5.3333333333vw;
  }
}
/*------------------AiR×RPC セット割 end------------------*/

/* 固定ボタン start */
.fixed-btn{
  position: fixed;
  bottom: 5vw;
  right: 5vw;
  z-index: 100;
}
.fixed-btn figure{
  width: 10vw;
  height: 10vw;
}
@media only screen and (min-width: 750px) {
  .fixed-btn{
    bottom: 3vw;
    right: 3vw;
  }
  .fixed-btn figure{
    width: 4vw;
    height: 4vw;
  }
}
/* 固定ボタン end */

#needs {
  padding: 13.0208333333vw 0
}
#needs .sec-title {
  font-weight: 600;
  text-align: center;
  display: block;
  margin: 0 auto 6.9444444444vw
}
#needs .sec-title .selected {
  position: relative;
  font-size: 3.125vw;
  padding: 0 1em
}
#needs .sec-title .selected::before, #needs .sec-title .selected::after {
  width: 0.5208333333vw;
  height: 3.2552083333vw;
  top: 0.78125vw;
  content: "";
  background-color: #e41f1a;
  position: absolute;
}
#needs .sec-title .selected::before {
  transform: rotate(-35deg);
  left: 0
}
#needs .sec-title .selected::after {
  transform: rotate(35deg);
  right: 0
}
#needs .sec-title h2 {
  justify-content: center
}
#needs .btn-box{
  width:auto;
  max-width:none;
}
.needs_recomend h3 {
  position: relative;
  transform: skew(-10deg);
  font-weight: 700;
  display: inline-block;
  font-size: 5.75vw;
  line-height: 1.6;
  padding: 0 25px
}
.needs_recomend h3::before, .needs_recomend h3::after {
  position: absolute;
  content: "";
  display: block;
  width: 15px;
  height: 3px;
  background: #333;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.needs_recomend h3::before {
  left: 0
}
.needs_recomend h3::after {
  right: 0
}
#needs .table_wrap {
  display: flex;
  justify-content:center;
  width: 89.84375vw;
  margin: 3.90625vw auto
}
.table_wrap div {
  margin: 5px;
  flex-shrink: 0;
  width:100%;
}
.table_wrap div h4 {
  font-weight: 600;
  margin-bottom: 1em;
  text-align: center
}
.table_wrap div table {
  border-collapse: collapse;
  margin:0 auto;
}
.table_wrap div table th, .table_wrap div table td {
  border: 1px solid #ccc;
  padding: 1em;
}
.table_wrap div table td:nth-child(2) {
  white-space:nowrap;
}
.table_wrap div table th {
  font-weight: 600;
  color: #fff
}
.table_wrap div.pocket table th {
  background: #e41f1a
}
.table_wrap div.router table th {
  background: #5283e9
}
.table_wrap div table tr td:first-of-type {
  font-weight: 600;
  text-align: center
}
.table_wrap div.pocket table tr td:first-of-type {
  background: #fdefef
}
.table_wrap div.router table tr td:first-of-type {
  background: #eff4fd
}
.table_wrap div table tr:nth-child(even) {
  background: #f8f8f8
}
@media screen and (min-width: 769px) {
  #needs {
    padding: 6.9444444444vw 0
  }
  #needs .sec-title {
    margin: 0 auto 3.4722222222vw
  }
  #needs .sec-title .selected {
    font-size: 1.6666666667vw
  }
  #needs .sec-title .selected::before, #needs .sec-title .selected::after {
    width: 0.2777777778vw;
    height: 2.0833333333vw;
    top: 0.4166666667vw
  }
  .needs_recomend h3 {
    font-size: 2vw;
    padding: 0 35px
  }
  .needs_recomend h3::before, .needs_recomend h3::after {
    width: 25px;
  }
  #needs .table_wrap {
    width: 89.84375vw;
    margin: 1.953125vw auto;
  }
}
