@charset "UTF-8";
h1 {
  margin: 0;
  padding: 0;
}
h1::after {
  display: none !important;
}

h2::before, h2::after {
  display: none !important;
}

table th, table td {
  border: none;
}

@media screen and (max-width: 767px) {
  .container {
    width: calc(100% - 32px);
    margin: 0 16px;
  }
}

sup {
  font-weight: normal;
}

.text-upper::before, .text-upper::after,
.text-upper::before,
.text-upper::after {
  top: 5%;
  border-color: currentColor;
  height: 80%;
}
.text-upper::before,
.text-upper::before {
  transform: rotate(-30deg);
}
.text-upper::after,
.text-upper::after {
  transform: rotate(30deg);
}

.section.section-note .collapse-trigger {
  border-radius: 0;
}

/*テキスト*/
.text-del {
  text-decoration: line-through;
}

.text-italic {
  font-style: italic;
}

.text-kerning {
  font-feature-settings: "palt" 1;
}

.color-link {
  color: #4B6FAA;
}

.color-wht {
  color: #FFF;
}

.color-grn {
  color: #02BF9E;
}

.color-ppl {
  color: #b558ff;
}

.color-yel {
  color: #fffb00;
}

.color-pnk {
  color: #fb3f34;
}

.color-marker-yel {
  background: linear-gradient(transparent 1.1em, #fffb00 1.1em, #fffb00 1.35em, transparent 1.35em);
}

.color-marker-wht {
  background: linear-gradient(transparent 1.1em, #ffffff 1.1em, #ffffff 1.35em, transparent 1.35em);
}

.text-under {
  text-decoration: underline;
}

/*リスト*/
.list-note-num.star > li::before {
  content: "★";
}

/*ボード*/
.board-lg {
  padding: 32px 24px;
  border-radius: 32px;
}

/*角丸*/
.bd-radius-max {
  border-radius: 1000px !important;
}

.bd-radius-48 {
  border-radius: 48px !important;
}

.bd-radius-12 {
  border-radius: 12px !important;
}

.bd-radius-6 {
  border-radius: 6px !important;
}

/*幅指定*/
.w-full {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}

[class*=content-] {
  margin-inline: auto;
}

.content-1024 {
  max-width: 1024px;
}

.content-1000 {
  max-width: 1000px;
}

.content-900 {
  max-width: 900px;
}

.content-800 {
  max-width: 800px;
}

.content-600 {
  max-width: 600px;
}

.fit {
  width: 100%;
  height: auto;
}

/*ブロック要素*/
.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.cv {
  padding: 16px 16px;
  background: #fdecee;
}
.cv:not(.cv-upper) {
  margin-block: 60px;
}
@media screen and (max-width: 767px) {
  .cv:not(.cv-upper) {
    margin-block: 32px;
  }
}
.cv .cv-row {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 800px;
  margin-inline: auto;
}
.cv .cv-row .cv-col {
  width: calc(50% - 8px);
}
.cv .cv-row .cv-col.col-center {
  width: 100%;
}
.cv .cv-row .cv-col.col-center [class*=cv-btn-] {
  margin-inline: auto;
}
.cv .cv-row .cv-col:nth-of-type(n+3) {
  margin-top: 16px;
}
.cv [class*=cv-btn-] {
  transition: 0.2s;
  position: relative;
  text-align: center;
  max-width: 390px;
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
  .cv [class*=cv-btn-] {
    border-radius: 12px;
  }
}
.cv [class*=cv-btn-] a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 64px;
}
.cv .cv-btn-primary,
.cv .cv-btn-member {
  font-size: 18px;
  font-weight: 700;
  background: #d9161B;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-primary,
  .cv .cv-btn-member {
    font-size: 16px;
    min-height: 124px;
  }
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-primary .fs-lg,
  .cv .cv-btn-member .fs-lg {
    font-size: 18px;
    margin-top: 12px;
  }
}
.cv .cv-btn-primary .fs-sm,
.cv .cv-btn-member .fs-sm {
  display: block;
  font-size: 12px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-primary .fs-sm,
  .cv .cv-btn-member .fs-sm {
    font-size: 11px;
  }
}
.cv .cv-btn-primary a,
.cv .cv-btn-member a {
  color: #fff;
  min-height: 68px;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-primary a,
  .cv .cv-btn-member a {
    justify-content: start;
  }
}
.cv .cv-btn-primary p,
.cv .cv-btn-member p {
  margin-bottom: 0;
}
.cv .cv-btn-primary::before,
.cv .cv-btn-member::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 24px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  background: url(../images/icn/icn_arr_wht.svg) no-repeat 0 0/100% auto;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-primary::before,
  .cv .cv-btn-member::before {
    display: none;
    width: 14px;
    height: 14px;
    right: 8px;
  }
}
.cv .cv-btn-primary .icn-starter,
.cv .cv-btn-member .icn-starter {
  background: url(../images/icn/icn_starter.svg) no-repeat left 32px center/32px auto;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-primary .icn-starter,
  .cv .cv-btn-member .icn-starter {
    padding-top: 48px;
    background-position: top 12px center;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .cv .cv-btn-primary:hover,
  .cv .cv-btn-member:hover {
    opacity: 0.8;
  }
}
.cv .cv-btn-primary:not(.cv .cv-btn-primary.is-blank,
.cv .cv-btn-member.is-blank),
.cv .cv-btn-member:not(.cv .cv-btn-primary.is-blank,
.cv .cv-btn-member.is-blank) {
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .cv .cv-btn-primary:not(.cv .cv-btn-primary.is-blank,
  .cv .cv-btn-member.is-blank):hover::before,
  .cv .cv-btn-member:not(.cv .cv-btn-primary.is-blank,
  .cv .cv-btn-member.is-blank):hover::before {
    transform: translateX(6px);
  }
}
.cv .cv-btn-primary.is-disabled,
.cv .cv-btn-member.is-disabled {
  background: #bbb;
  pointer-events: none;
}
.cv .cv-btn-member {
  background: #F5D200;
}
.cv .cv-btn-member a {
  color: #333;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-member .fs-lg {
    font-size: 16px;
    margin-top: 0;
  }
}
.cv .cv-btn-member::before {
  background: url(../images/icn/icn_arr_blk.svg) no-repeat 0 0/100% auto;
}
.cv .cv-btn-member.is-blank::before {
  background: url(/common_v10/images/icn-link-blank-black.svg) no-repeat 0 0/100% auto;
}
.cv .cv-btn-member .icn-member {
  background: url(../images/icn/icn_member.svg) no-repeat left 32px center/32px auto;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-member .icn-member {
    padding-top: 48px;
    background-position: top 12px center;
  }
}
.cv .cv-btn-basic {
  font-size: 18px;
  font-weight: 700;
  border: 2px solid #939393;
  background: #fff;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-basic {
    font-size: 14px;
  }
}
.cv .cv-btn-basic a {
  color: #333;
}
.cv .cv-btn-basic::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 24px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  background: url(../images/icn/icn_arr_blk.svg) no-repeat 0 0/100% auto;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-basic::before {
    width: 14px;
    height: 14px;
    right: 8px;
  }
}
.cv .cv-btn-basic.is-blank::before {
  background: url(/common_v10/images/icn-link-blank-black.svg) no-repeat 0 0/100% auto;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .cv .cv-btn-basic:hover {
    opacity: 0.8;
  }
}
.cv .cv-btn-basic:not(.cv .cv-btn-basic.is-blank) {
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .cv .cv-btn-basic:not(.cv .cv-btn-basic.is-blank):hover::before {
    transform: translateX(6px);
  }
}
.cv .cv-btn-phone {
  font-size: 18px;
  font-weight: 700;
  border: 2px solid #939393;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-phone {
    font-size: 16px;
  }
}
.cv .cv-btn-phone .fs-sm {
  display: block;
  font-size: 12px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-phone .fs-sm {
    font-size: 10px;
  }
}
.cv .cv-btn-phone a {
  color: #333;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-phone a {
    padding-left: 16px;
  }
}
.cv .cv-btn-phone .icn-phone {
  background: url(../images/icn/icn_phone.svg) no-repeat left 32px center/32px auto;
}
@media screen and (max-width: 767px) {
  .cv .cv-btn-phone .icn-phone {
    background-position: left 8px center;
    background-size: 24px auto;
  }
}
.cv .cv-catch {
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .cv .cv-catch {
    font-size: 13px;
    line-height: 1.3;
  }
}
.cv .cv-remarks {
  font-feature-settings: "palt" 1;
  font-size: 14px;
  text-align: center;
  margin: 6px 0 0;
}
@media screen and (max-width: 767px) {
  .cv .cv-remarks {
    font-size: 10px;
  }
}

[class*=sec-] {
  padding-inline: 16px;
}
.sec-home {
  width: 100%;
  padding: 60px 16px;
  background: #fee5e3;
}
@media screen and (max-width: 767px) {
  .sec-home {
    padding: 40px 16px;
  }
}
.sec-home + .sec-home {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .sec-home + .sec-home {
    margin-top: 40px;
  }
}

.sec-net {
  width: 100%;
  margin-top: 180px;
  padding: 60px 16px;
  background: #f1e2d9;
}
@media screen and (max-width: 767px) {
  .sec-net {
    margin-top: 160px;
    padding: 60px 16px 40px;
  }
}

.sec-flow {
  width: 100%;
  padding: 40px 16px 24px;
}
@media screen and (max-width: 767px) {
  .sec-flow {
    padding-top: 24px;
  }
}

.sec-voice {
  width: 100%;
  padding: 80px 16px 32px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-voice {
    padding: 48px 0 16px;
  }
}

.sec-guard {
  width: 100%;
  padding: 0 16px 40px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-guard {
    padding: 0 16px 16px;
  }
}

.sec-products {
  width: 100%;
  padding: 80px 16px 32px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-products {
    padding: 40px 16px 16px;
  }
}

.sec-service {
  width: 100%;
  padding: 64px 16px 64px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-service {
    padding: 40px 0 40px;
  }
}

.sec-b2b {
  width: 100%;
  padding: 64px 16px 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-b2b {
    padding: 32px 16px 0;
  }
}

.sec-column {
  width: 100%;
  padding: 16px 32px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-column {
    padding: 32px 16px;
  }
}

.h-32 {
  font-size: 32px;
  margin: 0 0 32px;
}
@media screen and (max-width: 767px) {
  .h-32 {
    font-size: 26px;
    margin-bottom: 20px;
  }
}

.h-28 {
  font-size: 28px;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .h-28 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

.h-36 {
  font-size: 36px;
  margin: 0 0 32px;
}

.t-lead {
  font-size: 20px;
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .t-lead {
    font-size: 16px;
  }
}

.catch-28 {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 40px;
}
@media screen and (max-width: 767px) {
  .catch-28 {
    font-size: 22px;
    margin-bottom: 32px;
  }
}

.catch-24 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 32px;
}
@media screen and (max-width: 767px) {
  .catch-24 {
    font-size: 20px;
    margin-bottom: 24px;
  }
}

.text-upper.bd-bold::before, .text-upper.bd-bold::after {
  border-width: 2px;
  border-color: #f77067;
}

.gnav {
  width: 100%;
  max-width: 880px;
  margin: 40px auto 80px;
}
@media screen and (max-width: 767px) {
  .gnav {
    margin-block: 32px 60px;
  }
}
.gnav .gnav-home {
  padding: 16px 16px 24px;
  border-radius: 10px;
  background: #fee5e3;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-home {
    padding-bottom: 20px;
    border-radius: 0;
  }
}
.gnav .gnav-home .label-home {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}
.gnav .gnav-home .label-home .icn {
  display: inline-block;
  padding-left: 38px;
  background: url(/common_v10/images/icn-jcom-home.svg) no-repeat left center/32px auto;
}
.gnav .gnav-home .gnav-list li {
  width: calc(25% - 8px);
  border: 2px solid #fa7268;
  box-shadow: 0 4px 0 #fa7268;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-home .gnav-list li {
    width: calc(50% - 4px);
  }
  .gnav .gnav-home .gnav-list li:nth-of-type(n+3) {
    margin-top: 12px;
  }
}
.gnav .gnav-home .gnav-list li a {
  width: 100%;
  min-height: 58px;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-home .gnav-list li a {
    min-height: 50px;
  }
}
.gnav .gnav-other {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-other {
    margin-top: 16px;
    padding-inline: 16px;
  }
}
.gnav .gnav-other .gnav-list li {
  width: 27.5%;
  border: 2px solid #ccc;
  box-shadow: 0 4px 0 #ccc;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-other .gnav-list li {
    width: calc(50% - 4px);
  }
}
.gnav .gnav-other .gnav-list li a {
  width: 100%;
  min-height: 52px;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-other .gnav-list li a {
    min-height: 50px;
  }
  .gnav .gnav-other .gnav-list li a.pr-sp {
    padding-right: 8px;
  }
}
.gnav .gnav-other .gnav-list li a::before {
  background-image: url(../images/icn/icn_arr_blk.svg);
}
@media screen and (max-width: 767px) {
  .gnav .gnav-other .gnav-list li a::before {
    background-image: url(../images/icn/icn_arr_sm_blk.svg);
  }
}
.gnav .gnav-other .gnav-list li[data-color=net] {
  border-color: #1ea3f6;
  box-shadow: 0 4px 0 #1ea3f6;
}
.gnav .gnav-other .gnav-list li[data-color=net] a {
  padding-right: 8px;
}
.gnav .gnav-other .gnav-list li[data-color=net] a span {
  padding-left: 34px;
  background: url(../images/icn/icn_net.svg) no-repeat left center/26.5px auto;
}
.gnav .gnav-other .gnav-list li[data-color=net] a::before {
  background-image: url(../images/icn/icn_arr_blu.svg);
}
@media screen and (max-width: 767px) {
  .gnav .gnav-other .gnav-list li[data-color=net] a::before {
    background-image: url(../images/icn/icn_arr_sm_blu.svg);
  }
}
.gnav .gnav-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-list {
    justify-content: space-between;
  }
}
.gnav .gnav-list li {
  transition: 0.2s;
  position: relative;
  margin-bottom: 0;
  border-radius: 10px;
  background-color: #fff;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media screen and (min-width: 768px) {
  .gnav .gnav-list li + li {
    margin-left: 10px;
  }
}
.gnav .gnav-list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: #333;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-list li a {
    font-size: 15px;
    font-weight: 500;
  }
}
.gnav .gnav-list li a::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 10px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  transform: rotate(90deg);
  background: url(../images/icn/icn_arr_pnk.svg) no-repeat 0 0/100% auto;
}
@media screen and (max-width: 767px) {
  .gnav .gnav-list li a::before {
    right: 6px;
    background-image: url(../images/icn/icn_arr_sm_pnk.svg);
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .gnav .gnav-list li:hover {
    opacity: 0.8;
    transform: translateY(2px);
    box-shadow: none !important;
  }
}

.lnav {
  width: 100%;
  max-width: 912px;
  margin-inline: auto;
  padding-inline: 16px;
}
@media screen and (max-width: 767px) {
  .lnav {
    padding-inline: 16px;
  }
}
.lnav ul {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .lnav ul {
    justify-content: space-between;
  }
}
.lnav ul li {
  overflow: hidden;
  transition: 0.2s;
  position: relative;
  width: calc(33.3333% - 12px);
  min-height: 108px;
  margin-bottom: 0;
  border-radius: 10px;
  border: 2px solid #fa7268;
  background: #fff;
  box-shadow: 0 4px 0 #fa7268;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media screen and (max-width: 767px) {
  .lnav ul li {
    width: calc(33.3333% - 6px);
    min-height: 134px;
  }
}
@media screen and (min-width: 768px) {
  .lnav ul li + li {
    margin-left: 20px;
  }
}
.lnav ul li a {
  display: flex;
  color: #333;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .lnav ul li a {
    display: block;
  }
}
.lnav ul li::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 12px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  transform: rotate(90deg);
  background: url(../images/icn/icn_arr_pnk.svg) no-repeat 0 0/100% auto;
}
@media screen and (max-width: 767px) {
  .lnav ul li::before {
    left: 0;
    right: 0;
    top: auto;
    bottom: 6px;
    margin-inline: auto;
    background-image: url(../images/icn/icn_arr_sm_pnk.svg);
  }
}
.lnav ul li .num {
  position: relative;
  z-index: 0;
  right: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28.2608695652%;
  background: #fff5f5;
}
@media screen and (max-width: 767px) {
  .lnav ul li .num {
    right: auto;
    width: 100%;
    padding-top: 4px;
  }
  .lnav ul li .num img {
    position: relative;
    top: 2px;
    width: 30px;
  }
}
.lnav ul li .num::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -44px;
  top: -8px;
  width: 56px;
  height: calc(100% + 16px);
  border-radius: 100%;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .lnav ul li .num::before {
    right: -12px;
    top: auto;
    bottom: -32px;
    width: calc(100% + 24px);
    height: 44px;
    border-radius: 100%;
    background: #fff;
  }
}
.lnav ul li .txt {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .lnav ul li .txt {
    font-size: calc(16px + (18 - 16) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .lnav ul li .txt {
    font-size: 13px;
    line-height: 1.6;
    justify-content: center;
    text-align: center;
    margin-top: 6px;
  }
  .lnav ul li .txt.sm-sp {
    font-size: 12px;
    line-height: 1.6;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .lnav ul li:hover {
    opacity: 0.8;
    transform: translateY(2px);
    box-shadow: none !important;
  }
}

.h-feature {
  display: flex;
  justify-content: center;
  align-items: end;
  font-size: 24px;
  max-width: 100px;
  margin: -16px auto 24px;
  padding-bottom: 4px;
  border-bottom: 3px solid #fa7268;
}
@media screen and (max-width: 767px) {
  .h-feature {
    font-size: 20px;
    max-width: 80px;
  }
}
.h-feature img {
  position: relative;
  top: 3px;
  width: 68px;
  height: auto;
  margin-left: -10px;
  margin-right: -16px;
}
@media screen and (max-width: 767px) {
  .h-feature img {
    width: 56px;
    margin-left: -8px;
    margin-right: -12px;
  }
}

.feature-list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .feature-list {
    display: block;
    margin-bottom: 24px;
  }
}
.feature-list .list-item {
  overflow: hidden;
  width: calc(33.3333% - 12px);
  margin-bottom: 0;
  border-radius: 12px;
  border: 1px solid #333;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .feature-list .list-item {
    width: 100%;
  }
  .feature-list .list-item + .list-item {
    margin-top: 32px;
  }
}
.feature-list .list-item .item-header {
  position: relative;
  z-index: 0;
  font-size: 20px;
  text-align: center;
  color: #fff;
  min-height: 82px;
  margin: 0 0 16px;
  padding: 16px 12px;
  background: #fb837b;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .feature-list .list-item .item-header {
    font-size: calc(18px + (20 - 18) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .feature-list .list-item .item-header {
    padding-bottom: 8.5333333333vw;
  }
}
.feature-list .list-item .item-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -16px;
  bottom: -56px;
  width: calc(100% + 32px);
  height: 80px;
  border-radius: 100%;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .feature-list .list-item .item-header::before {
    left: -4.2666666667vw;
    bottom: -13.8666666667vw;
    width: calc(100% + 8.5333333333vw);
    height: 21.3333333333vw;
  }
}
.feature-list .list-item .item-body {
  padding: 16px 18.5px;
}
.feature-list .list-item .item-body .pic {
  position: relative;
  margin-top: -16px;
}

.feature-list-2 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .feature-list-2 {
    display: block;
  }
}
.feature-list-2 .list-item {
  overflow: hidden;
  width: calc(50% - 12px);
  margin-bottom: 0;
  border-radius: 16px;
  border: 1px solid #333;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .feature-list-2 .list-item {
    width: 100%;
  }
  .feature-list-2 .list-item + .list-item {
    margin-top: 32px;
  }
}
.feature-list-2 .list-item .item-header {
  position: relative;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 20px;
  padding: 32px 16px 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .feature-list-2 .list-item .item-header {
    font-size: calc(18px + (22 - 18) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .feature-list-2 .list-item .item-header {
    font-size: 18px;
  }
}
.feature-list-2 .list-item .item-header sup {
  top: -10px;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .feature-list-2 .list-item .item-header sup {
    top: -8px;
    font-size: 10px;
  }
}
.feature-list-2 .list-item .item-body {
  line-height: 1.6;
  padding: 0 24px 40px;
}
@media screen and (max-width: 767px) {
  .feature-list-2 .list-item .item-body {
    line-height: 1.6;
    padding: 0 16px 32px;
  }
}
.feature-list-2 .list-item .item-body .pic {
  position: relative;
}

.price-1st {
  display: inline-block;
  font-size: 54px;
  font-weight: 700;
  line-height: 1.2;
  color: #fb3f34;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .price-1st {
    font-size: calc(48px + (54 - 48) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .price-1st {
    font-size: 30px;
    margin-top: -12px;
  }
}
.price-1st .inner {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .price-1st .inner {
    display: flex;
    justify-content: center;
    align-items: end;
  }
}
.price-1st .label-unit {
  vertical-align: 20%;
  display: inline-block;
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin-right: 16px;
  padding: 5px 16px 7px;
  border-radius: 8px;
  background: #fb3f34;
}
@media screen and (max-width: 767px) {
  .price-1st .label-unit {
    font-size: 18px;
    margin-right: 0;
    padding: 3px 7px 4px;
    border-width: 2px;
    border-radius: 4px;
  }
}
.price-1st .fs-lg {
  position: relative;
  top: 4px;
  font-size: 104px;
  line-height: 0.75;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .price-1st .fs-lg {
    font-size: calc(96px + (104 - 96) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .price-1st .fs-lg {
    font-size: 78px;
    line-height: 1.05;
    margin-left: 8px;
  }
}
.price-1st .fs-sm {
  font-size: 26px;
  color: #333;
  font-feature-settings: "palt" 1;
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .price-1st .fs-sm {
    display: block;
    font-size: 18px;
    text-align: right;
    margin-top: 4px;
  }
}

.price-2nd {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #fb3f34;
  margin-block: 24px;
  padding: 0 12px 10px;
  background: url(../images/dot_red.svg) repeat-x left top/4px auto, url(../images/dot_red.svg) repeat-x left bottom/4px auto;
}
@media screen and (max-width: 767px) {
  .price-2nd {
    font-size: 20px;
    margin-block: 8px 24px;
  }
}
.price-2nd .fs-lg {
  position: relative;
  top: 2px;
  font-size: 48px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .price-2nd .fs-lg {
    font-size: 32px;
  }
}
.price-2nd .fs-sm {
  font-feature-settings: "palt" 1;
  font-size: 62.5%;
  color: #333;
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .price-2nd .fs-sm {
    font-size: 14px;
  }
}

.construction-cost {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .construction-cost {
    margin-bottom: 20px;
  }
}
.construction-cost .fee {
  font-size: 28px;
  font-weight: 700;
  text-align: left;
  margin: 2px 0 0;
}
@media screen and (max-width: 767px) {
  .construction-cost .fee {
    font-size: 24px;
  }
}
.construction-cost .fee .fs-lg {
  position: relative;
  top: 2px;
  font-size: 42px;
  line-height: 0.8;
  margin-right: 2px;
}
@media screen and (max-width: 767px) {
  .construction-cost .fee .fs-lg {
    font-size: 36px;
  }
}
.construction-cost .fee .fs-xs {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .construction-cost .fee .fs-xs {
    font-size: 13px;
  }
}
.construction-cost .fee .fs-sm {
  font-feature-settings: "palt" 1;
  font-size: 16px;
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .construction-cost .fee .fs-sm {
    font-size: 14px;
  }
}
.construction-cost .fee .fs-md {
  font-size: 20px;
  margin-right: 2px;
}
@media screen and (max-width: 767px) {
  .construction-cost .fee .fs-md {
    font-size: 18px;
  }
}

.label-construction {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 12px 0 0;
  padding: 6px 10px 7px;
  border-radius: 6px;
  border: 2px solid #333;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .label-construction {
    font-size: 15px;
  }
}

.bnr-catch {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin-top: 24px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .bnr-catch {
    font-size: 18px;
    margin-bottom: 8px;
  }
}
.bnr-catch .text-upper::before, .bnr-catch .text-upper::after {
  border-width: 3px;
  border-color: #fa7268;
}
@media screen and (max-width: 767px) {
  .bnr-catch .text-upper::before, .bnr-catch .text-upper::after {
    border-width: 2px;
  }
}

.bnr-construction {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .bnr-construction {
    max-width: 600px;
    margin-inline: auto;
  }
}

.cm-item {
  max-width: 600px;
  margin: 0 auto 48px;
}
.cm-item a[data-modal-id] {
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 24px;
  opacity: 1;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media screen and (max-width: 767px) {
  .cm-item a[data-modal-id] {
    border-radius: 2.6666666667vw;
  }
}
.cm-item a[data-modal-id]::after {
  transition: 0.3s;
  opacity: 0.8;
  pointer-events: none;
  content: "";
  position: absolute;
  z-index: 1;
  left: 40%;
  top: 31.9526627219%;
  width: 20%;
  height: 35.5029585799%;
  background: url(../images/play.png) no-repeat 0 0/100% auto;
}
.cm-item a[data-modal-id] img {
  position: relative;
  transition: 0.3s;
  vertical-align: bottom;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .cm-item a[data-modal-id]:hover::after {
    opacity: 0.8;
    transform: scale(0.88);
  }
  .cm-item a[data-modal-id]:hover img {
    transform: scale(1.08);
    opacity: 0.8;
  }
}

.acc {
  overflow: hidden;
  margin-bottom: 32px;
  border-radius: 10px;
  border: 1px solid #333;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .acc {
    margin-bottom: 24px;
  }
}
.acc .acc-trigger {
  padding: 18px 12px;
  color: #333;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .acc .acc-trigger {
    font-size: 16px;
  }
}
.acc .acc-trigger span {
  position: relative;
  display: inline-block;
  width: auto;
  max-width: auto;
  padding-right: 40px;
  background: url(../images/icn/icn_acc_open_blk.svg) no-repeat center right/25px auto;
}
.acc .acc-trigger.open {
  border-bottom: none;
}
.acc .acc-trigger.open span {
  background-image: url(../images/icn/icn_acc_close_blk.svg);
}
.acc .acc-body > .inner {
  padding: 16px 16px 32px;
}
.acc .acc-close {
  padding: 16px 8px 0;
  margin-top: 32px;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-top: 1px solid #333;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .acc .acc-close {
    padding: 10px 10px 0;
    font-size: 16px;
  }
}
.acc .acc-close span {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 180px;
  background: url(../images/icn/icn_acc_close_blk.svg) no-repeat center right/25px auto;
}
@media screen and (max-width: 767px) {
  .acc .acc-close span {
    max-width: 120px;
  }
}

table.module {
  margin-bottom: 0;
}
table.module th,
table.module td {
  border: 1px solid #AFAFAF;
}
@media screen and (max-width: 767px) {
  table.module th,
  table.module td {
    border-top: none;
  }
}

.table-spec {
  margin-bottom: 16px;
}
.table-spec tr:nth-of-type(odd) th,
.table-spec tr:nth-of-type(odd) td {
  background: #f3f3f3;
}
.table-spec tr:nth-of-type(even) th,
.table-spec tr:nth-of-type(even) td {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .table-spec tr:nth-of-type(even) th,
  .table-spec tr:nth-of-type(even) td {
    background: #f3f3f3;
  }
}
.table-spec tr th,
.table-spec tr td {
  position: relative;
  font-size: 16px;
  font-weight: 400;
  padding: 12px 20px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .table-spec tr th,
  .table-spec tr td {
    font-size: calc(15px + (16 - 15) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .table-spec tr th,
  .table-spec tr td {
    display: block;
    font-size: 14px;
    padding: 8px 12px;
    width: 100% !important;
  }
}
.table-spec tr th {
  width: 25%;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .table-spec tr th {
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    padding: 6px 12px;
    background: #777 !important;
  }
}
.table-spec tr th::after {
  content: "";
  position: absolute;
  right: 0;
  top: 9px;
  width: 1px;
  height: calc(100% - 18px);
  background: #333;
}
@media screen and (max-width: 767px) {
  .table-spec tr th::after {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #recordtime .scrollable-content {
    width: 645px;
  }
}

.table-recordtime-sm {
  width: auto;
  margin: 0 0 16px;
}
@media screen and (max-width: 767px) {
  .table-recordtime-sm {
    min-width: auto;
  }
}
.table-recordtime-sm th,
.table-recordtime-sm td {
  font-size: 14px;
  border: 1px solid #AFAFAF;
}
.table-recordtime-sm thead th {
  text-align: center;
}
.table-recordtime-sm tbody th {
  width: 38%;
}

@media screen and (min-width: 768px) {
  .lp-btn-row {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .lp-btn-row .lp-btn-col {
    width: calc(50% - 8px);
  }
}

.lp-btn-home,
.lp-btn-net,
.lp-btn-white-primary,
.lp-btn-white-dark {
  transition: 0.2s !important;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 18px;
  font-weight: 700;
  color: #333 !important;
  text-align: center;
  max-width: 390px;
  min-height: 58px;
  margin-inline: auto;
  border-radius: 100px;
  background: #fff;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media screen and (max-width: 767px) {
  .lp-btn-home,
  .lp-btn-net,
  .lp-btn-white-primary,
  .lp-btn-white-dark {
    font-size: 16px;
    min-height: 52px;
  }
}
.lp-btn-home[href^="#anc-"]::before,
.lp-btn-net[href^="#anc-"]::before,
.lp-btn-white-primary[href^="#anc-"]::before,
.lp-btn-white-dark[href^="#anc-"]::before {
  transform: rotate(90deg);
}
.lp-btn-home[target=_blank]::before,
.lp-btn-net[target=_blank]::before,
.lp-btn-white-primary[target=_blank]::before,
.lp-btn-white-dark[target=_blank]::before {
  display: none;
}
.lp-btn-home[target=_blank]::after,
.lp-btn-net[target=_blank]::after,
.lp-btn-white-primary[target=_blank]::after,
.lp-btn-white-dark[target=_blank]::after {
  right: 16px;
}
.lp-btn-home::before,
.lp-btn-net::before,
.lp-btn-white-primary::before,
.lp-btn-white-dark::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 16px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .lp-btn-home:hover,
  .lp-btn-net:hover,
  .lp-btn-white-primary:hover,
  .lp-btn-white-dark:hover {
    opacity: 0.8;
    transform: translateY(2px);
    box-shadow: none !important;
  }
  .lp-btn-home:hover:not[href^="#anc-"]::before,
  .lp-btn-net:hover:not[href^="#anc-"]::before,
  .lp-btn-white-primary:hover:not[href^="#anc-"]::before,
  .lp-btn-white-dark:hover:not[href^="#anc-"]::before {
    transform: translateX(6px);
  }
}

.lp-btn-home {
  border: 2px solid #fa7268;
  box-shadow: 0 4px 0 #fa7268;
}
.lp-btn-home::before {
  background: url(../images/icn/icn_arr_pnk.svg) no-repeat 0 0/100% auto;
}

.lp-btn-net {
  border: 2px solid #32a2f7;
  box-shadow: 0 4px 0 #32a2f7;
}
.lp-btn-net::before {
  background: url(../images/icn/icn_arr_blu.svg) no-repeat 0 0/100% auto;
}

.lp-btn-white-primary {
  border: 2px solid #d9161B;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
.lp-btn-white-primary::before {
  background: url(../images/icn/icn_arr_blk.svg) no-repeat 0 0/100% auto;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .lp-btn-white-primary:hover {
    opacity: 0.7;
    transform: translateY(0);
  }
}

.lp-btn-white-dark {
  font-size: 16px;
  max-width: 320px;
  min-height: 54px;
  border: 2px solid #939393;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
.lp-btn-white-dark::before {
  background: url(../images/icn/icn_arr_blk.svg) no-repeat 0 0/100% auto;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .lp-btn-white-dark:hover {
    opacity: 0.7;
    transform: translateY(0);
  }
}

.h-deco {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  width: 100%;
  min-height: 64px;
  max-width: 340px;
  margin: 0 auto 44px;
  border: 4px solid #f6f6f6;
  background: url(../images/h_deco_l.svg) no-repeat left center/auto 100%, url(../images/h_deco_r.svg) no-repeat right center/auto 100%;
  background-color: #f6f6f6;
}
@media screen and (max-width: 767px) {
  .h-deco {
    font-size: 22px;
    max-width: 248px;
    min-height: 56px;
    margin-bottom: 24px;
    border-width: 3px;
  }
}

@media screen and (min-width: 768px) {
  .usage-row {
    display: flex;
  }
}
.usage-row.row-middle {
  align-items: center;
}
.usage-row .house {
  position: relative;
}
@media screen and (min-width: 768px) {
  .usage-row .house {
    width: 45.6475583864%;
    margin-right: 5.3078556263%;
  }
}
.usage-row .house .usage-point-label {
  margin: 0;
}
.usage-row .house .usage-point-label li {
  cursor: pointer;
  margin: 0;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
.usage-row .house .usage-point-label li.point-1, .usage-row .house .usage-point-label li.point-2, .usage-row .house .usage-point-label li.point-3 {
  transition: none;
  position: absolute;
  z-index: 0;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  width: 21.8604651163%;
  height: 15.0684931507%;
  padding-top: 4px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .usage-row .house .usage-point-label li.point-1, .usage-row .house .usage-point-label li.point-2, .usage-row .house .usage-point-label li.point-3 {
    font-size: calc(12px + (15 - 12) * (100vw - 768px) / (1024 - 768));
    padding-top: calc(2px + (4 - 2) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .usage-row .house .usage-point-label li.point-1, .usage-row .house .usage-point-label li.point-2, .usage-row .house .usage-point-label li.point-3 {
    font-size: 2.9333333333vw;
    width: 17.6vw;
    height: 8.2666666667vw;
    padding-top: 0.5333333333vw;
  }
}
.usage-row .house .usage-point-label li.point-1::before, .usage-row .house .usage-point-label li.point-2::before, .usage-row .house .usage-point-label li.point-3::before {
  transition: none;
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/point_bg.svg) no-repeat 0 0/100% auto;
}
@media screen and (max-width: 767px) {
  .usage-row .house .usage-point-label li.point-1::before, .usage-row .house .usage-point-label li.point-2::before, .usage-row .house .usage-point-label li.point-3::before {
    width: 17.6vw;
    height: 8.2666666667vw;
  }
}
.usage-row .house .usage-point-label li.point-1 span, .usage-row .house .usage-point-label li.point-2 span, .usage-row .house .usage-point-label li.point-3 span {
  transition: none;
  font-size: 120%;
}
.usage-row .house .usage-point-label li.point-1 {
  left: 48.3720930233%;
  top: 69.1780821918%;
}
.usage-row .house .usage-point-label li.point-2 {
  left: 63.7209302326%;
  top: 46.5753424658%;
}
.usage-row .house .usage-point-label li.point-2::before {
  transform: scale(-1, 1);
}
.usage-row .house .usage-point-label li.point-3 {
  left: 80%;
  top: 33.5616438356%;
}
.usage-row .house .usage-point-label li.is-active {
  pointer-events: none;
  opacity: 1;
  z-index: 2;
  font-size: 16px;
  color: #fb3f34;
  padding-top: 2px;
  animation: floating 0.6s ease-in infinite alternate-reverse;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .usage-row .house .usage-point-label li.is-active {
    font-size: calc(13px + (16 - 13) * (100vw - 768px) / (1024 - 768));
    padding-top: calc(0px + (2 - 0) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .usage-row .house .usage-point-label li.is-active {
    font-size: 3.2vw;
    padding-top: 0.2666666667vw;
  }
}
.usage-row .house .usage-point-label li.is-active::before {
  background-image: url(../images/point_bg_active.svg);
}
@keyframes floating {
  0% {
    transform: translateY(-8px);
  }
  100% {
    transform: translateY(0px);
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .usage-row .house .usage-point-label li:hover {
    opacity: 0.75;
  }
}
@media screen and (min-width: 768px) {
  .usage-row .system {
    margin-top: -2.5477707006%;
    width: 42.4628450106%;
  }
}
@media screen and (min-width: 768px) {
  .usage-row .explain {
    width: 48.8322717622%;
  }
}
@media screen and (max-width: 767px) {
  .usage-row .explain {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) {
  .usage-row .explain-2 {
    width: 57.5371549894%;
  }
}
@media screen and (max-width: 767px) {
  .usage-row .explain-2 {
    margin-top: 24px;
  }
}
.usage-row .h-point {
  font-size: 18px;
  font-weight: 700;
  padding-bottom: 4px;
  border-bottom: 2px solid #333;
}
@media screen and (max-width: 767px) {
  .usage-row .h-point {
    font-size: 16px;
  }
}
.usage-row .explain-row {
  display: flex;
}
.usage-row .explain-row .sticker {
  padding-top: 4px;
  width: 20%;
  margin-right: 4.347826087%;
}
@media screen and (max-width: 767px) {
  .usage-row .explain-row .sticker {
    width: 22%;
    max-width: 108px;
  }
}
.usage-row .explain-row .sticker img {
  border-radius: 5px;
}
.usage-row .explain-row .app {
  width: 33.2103321033%;
  margin-left: -1.4760147601%;
  margin-right: 3.6900369004%;
}
@media screen and (max-width: 767px) {
  .usage-row .explain-row .app {
    width: 38%;
    max-width: 200px;
  }
}
.usage-row .explain-row .text {
  flex: 1;
}
.usage-row .explain-row p {
  font-size: 18px;
  line-height: 1.6;
  text-align: justify;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .usage-row .explain-row p {
    font-size: calc(16px + (18 - 16) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .usage-row .explain-row p {
    font-size: 16px;
    line-height: 1.5;
  }
}
.usage-row .explain-row .note {
  font-size: 14px;
}

.swiper-usage {
  transition: 0.2s;
  opacity: 0;
}
.swiper-usage.is-show {
  opacity: 1;
}
.swiper-usage .swiper-slide {
  padding-inline: 6px;
}
.swiper-usage .swiper-footer {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 12px auto 0;
}
.swiper-usage .swiper-footer .swiper-button-prev,
.swiper-usage .swiper-footer .swiper-button-next {
  position: relative;
  top: 11px;
  z-index: 1;
  width: 28px;
  height: 28px;
  outline: none;
  background: url(../images/swiper_btn_sm_next.svg) no-repeat 0 0/100% auto;
}
.swiper-usage .swiper-footer .swiper-button-prev::after,
.swiper-usage .swiper-footer .swiper-button-next::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .swiper-usage .swiper-footer .swiper-button-prev,
  .swiper-usage .swiper-footer .swiper-button-next {
    display: block;
  }
}
.swiper-usage .swiper-footer .swiper-button-prev.swiper-button-disabled,
.swiper-usage .swiper-footer .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
}
.swiper-usage .swiper-footer .swiper-button-prev {
  left: -28px;
  transform: rotate(180deg);
}
.swiper-usage .swiper-footer .swiper-button-next {
  right: -28px;
}
.swiper-usage .swiper-footer .swiper-pagination {
  position: relative;
  height: 28px;
}
.swiper-usage .swiper-footer .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  margin: 0 2px;
  padding: 14px;
  border-radius: 0;
  background: none;
  opacity: 1;
}
.swiper-usage .swiper-footer .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 9px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #dbdbdb;
}
.swiper-usage .swiper-footer .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: #fa7268;
}

.net-balloon {
  position: relative;
  margin: -160px auto 32px;
}
@media screen and (max-width: 767px) {
  .net-balloon {
    width: 80vw;
    max-width: 480px;
    margin-block: -160px 16px;
  }
}

.net-h {
  font-size: 32px;
  font-style: italic;
  margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .net-h {
    font-size: 26px;
    margin-bottom: 12px;
  }
}

.swiper-charm {
  opacity: 0;
  position: relative;
  max-width: 1000px;
  margin: 0 auto 20px;
}
.swiper-charm.is-show {
  opacity: 1;
}
.swiper-charm .swiper-footer {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 24px auto 0;
}
.swiper-charm .swiper-footer .swiper-button-prev,
.swiper-charm .swiper-footer .swiper-button-next {
  position: relative;
  z-index: 1;
  top: 11px;
  width: 40px;
  height: 40px;
  outline: none;
  background: url(../images/swiper_btn_next.svg) no-repeat 0 0/100% auto;
}
.swiper-charm .swiper-footer .swiper-button-prev::after,
.swiper-charm .swiper-footer .swiper-button-next::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .swiper-charm .swiper-footer .swiper-button-prev,
  .swiper-charm .swiper-footer .swiper-button-next {
    display: block;
    width: 32px;
    height: 32px;
  }
}
.swiper-charm .swiper-footer .swiper-button-prev.swiper-button-disabled,
.swiper-charm .swiper-footer .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
}
.swiper-charm .swiper-footer .swiper-button-prev {
  left: -20px;
  transform: rotate(180deg);
}
.swiper-charm .swiper-footer .swiper-button-next {
  right: -20px;
}
.swiper-charm .swiper-footer .swiper-pagination {
  position: relative;
  height: 28px;
}
.swiper-charm .swiper-footer .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  margin: 0 2px;
  padding: 14px;
  border-radius: 0;
  background: none;
  opacity: 1;
}
.swiper-charm .swiper-footer .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 9px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #fff;
}
.swiper-charm .swiper-footer .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: #c09177;
}

.swiper-charm {
  max-width: 1024px;
  margin: 0 auto 32px;
}
@media screen and (min-width: 480px) and (max-width: 767px) {
  .swiper-charm {
    width: calc(100% + 32px);
    margin-left: -16px;
  }
}
@media screen and (max-width: 767px) {
  .swiper-charm {
    margin-bottom: 24px;
  }
}
.swiper-charm[data-id=net] .charm-item::before {
  background: #E7F1F8;
}
.swiper-charm .charm-item {
  position: relative;
  z-index: 0;
  overflow: hidden;
  text-align: center;
  padding: 16px 10px;
  border-radius: 10px;
  border: 1px solid #333;
  background: #fff;
}
.swiper-charm .charm-item > .inner {
  max-width: 290px;
  margin-inline: auto;
}
.swiper-charm .charm-item::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 40px;
}
.swiper-charm .charm-item .num {
  margin-bottom: 20px;
}
.swiper-charm .charm-item .txt-14 {
  font-size: 14px;
}
@media screen and (min-width: 980px) and (max-width: 1089px) {
  .swiper-charm .charm-item .txt-14 {
    font-size: calc(12.6px + (14 - 12.6) * (100vw - 980px) / (1089 - 980));
  }
}
.swiper-charm .charm-item .txt-16 {
  font-size: 16px;
}
@media screen and (min-width: 980px) and (max-width: 1089px) {
  .swiper-charm .charm-item .txt-16 {
    font-size: calc(14.4px + (16 - 14.4) * (100vw - 980px) / (1089 - 980));
  }
}
.swiper-charm .charm-item .h-14 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}
@media screen and (min-width: 980px) and (max-width: 1089px) {
  .swiper-charm .charm-item .h-14 {
    font-size: calc(12.6px + (14 - 12.6) * (100vw - 980px) / (1089 - 980));
  }
}
.swiper-charm .charm-item .h-16 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media screen and (min-width: 980px) and (max-width: 1089px) {
  .swiper-charm .charm-item .h-16 {
    font-size: calc(14.4px + (16 - 14.4) * (100vw - 980px) / (1089 - 980));
  }
}
.swiper-charm .charm-item .h-20 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media screen and (min-width: 980px) and (max-width: 1089px) {
  .swiper-charm .charm-item .h-20 {
    font-size: calc(18px + (20 - 18) * (100vw - 980px) / (1089 - 980));
  }
}
.swiper-charm .charm-item .h-24 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media screen and (min-width: 980px) and (max-width: 1089px) {
  .swiper-charm .charm-item .h-24 {
    font-size: calc(21.6px + (24 - 21.6) * (100vw - 980px) / (1089 - 980));
  }
}
.swiper-charm .charm-item .h-24 .fs-sm {
  font-size: 66.6666666667%;
}
@media screen and (max-width: 767px) {
  .swiper-charm .charm-item sup {
    font-size: 10px;
  }
}
.swiper-charm .charm-item .list-note > li,
.swiper-charm .charm-item .list-note-num > li {
  padding-left: 24px;
  text-align: justify;
}
.swiper-charm .charm-item .list-note > li {
  padding-left: 16px;
}

.lp-btn-bd-xs {
  transition: 0.2s;
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #333 !important;
  width: 100%;
  height: auto;
  margin-inline: auto;
  padding-block: 6px;
  border-radius: 128px;
  border: 1px solid #333;
  background-color: #fff;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .lp-btn-bd-xs:hover::after {
    width: 110%;
  }
  .lp-btn-bd-xs:hover::before {
    transform: translateX(4px);
  }
}
.lp-btn-bd-xs::after {
  transition: 0.2s;
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -5%;
  width: 52.5%;
  height: 100%;
  transform: skew(-45deg);
  background: #ccc;
}
.lp-btn-bd-xs[data-color=net]::after {
  background: #E7F1F8;
}

.lp-btn-bd-xs {
  max-width: 330px;
  min-height: 40px;
  font-size: 14px;
  font-weight: 500;
}
.lp-btn-bd-xs::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 16px;
  top: calc(50% - 6px);
  width: 12px;
  height: 12px;
  background: url(../images/icn/icn_arr_xs_blk.svg) no-repeat 0 0/100% auto;
}

.bnr-pod {
  position: relative;
  margin-block: 60px 32px;
  border: 1px solid #dac6bd;
}
@media screen and (max-width: 767px) {
  .bnr-pod {
    max-width: 600px;
    margin: 48px auto 0;
  }
}
.bnr-pod .label {
  position: absolute;
  z-index: 0;
  left: -12px;
  top: -24px;
}
@media screen and (max-width: 767px) {
  .bnr-pod .label {
    top: -3.2vw;
    width: 18.6666666667vw;
  }
  .bnr-pod .label img {
    width: 100%;
    height: auto;
  }
}

.price {
  margin-top: 60px;
}

.price-simu-tb {
  margin-block: 0 16px;
}
.price-simu-tb[data-id=home_net] {
  border-collapse: separate;
  border: none;
  border: 1px solid #333;
  border-left: none;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] {
    margin-bottom: 24px;
    border-color: #bbb;
    border-left: solid #bbb 1px;
  }
}
.price-simu-tb[data-id=home_net] th {
  text-align: center;
  border-left: solid #333 1px;
  border-top: solid #333 1px;
  background-color: #EBEBEB;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] th {
    font-size: 16px;
    border-left: none;
    border-color: #bbb;
  }
}
.price-simu-tb[data-id=home_net] td {
  text-align: center;
  padding: 0;
  box-sizing: border-box;
  border-left: solid #333 1px;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] td {
    border: none;
  }
}
.price-simu-tb[data-id=home_net] .td-service,
.price-simu-tb[data-id=home_net] .td-plan {
  padding: 0;
  border-bottom: none;
}
.price-simu-tb[data-id=home_net] .td-service .col,
.price-simu-tb[data-id=home_net] .td-plan .col {
  position: relative;
  display: flex;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-service .col,
  .price-simu-tb[data-id=home_net] .td-plan .col {
    font-size: 15px;
  }
}
.price-simu-tb[data-id=home_net] .td-service .col .col-item,
.price-simu-tb[data-id=home_net] .td-plan .col .col-item {
  width: 50%;
  padding: 16px 0;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-service .col .col-item,
  .price-simu-tb[data-id=home_net] .td-plan .col .col-item {
    padding: 10px 0;
  }
}
.price-simu-tb[data-id=home_net] .td-service .col .col-item[data-color=home],
.price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=home] {
  background-color: #fa7268;
}
.price-simu-tb[data-id=home_net] .td-service .col .col-item[data-color=net],
.price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=net] {
  background-color: #1ea3f6;
}
.price-simu-tb[data-id=home_net] .td-service .col::before {
  content: "";
  position: absolute;
  z-index: 10;
  top: calc(50% - 12px);
  left: calc(50% - 12px);
  width: 24px;
  height: 24px;
  background: url(../images/icn/icn_service_add_blk.svg) no-repeat center center;
  background-size: 24px;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-service .col::before {
    top: calc(50% - 10px);
    left: calc(50% - 10px);
    width: 20px;
    height: 20px;
    background-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-service .col .col-item {
    padding: 12px 0;
  }
}
.price-simu-tb[data-id=home_net] .td-plan .col .col-item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-plan .col .col-item {
    padding: 12px 0;
  }
}
.price-simu-tb[data-id=home_net] .td-plan .col .col-item p {
  margin-bottom: 0;
}
.price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=home] {
  background-color: #ffeeed;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=home] {
    border-right: 1px solid #ddd;
  }
}
.price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=home] .plan-name {
  font-size: 20px;
  color: #fa7268;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=home] .plan-name {
    font-size: 16px;
  }
}
.price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=net] {
  background-color: #e9f7ff;
}
.price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=net] .plan-name {
  font-size: 20px;
  color: #1ea3f6;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-plan .col .col-item[data-color=net] .plan-name {
    font-size: 16px;
  }
}
.price-simu-tb[data-id=home_net] .td-price {
  font-size: 16px;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-price {
    font-size: 20px;
    line-height: 1.2;
    padding: 14px 0;
  }
}
.price-simu-tb[data-id=home_net] .td-price p {
  margin-bottom: 0;
}
.price-simu-tb[data-id=home_net] .td-price .txt-remarks {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-price .txt-remarks {
    font-size: 16px;
  }
}
.price-simu-tb[data-id=home_net] .td-price .txt-fee {
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-price .txt-fee {
    font-size: 20px;
  }
}
.price-simu-tb[data-id=home_net] .td-price .txt-fee .strong {
  position: relative;
  top: 2px;
  font-size: 48px;
  color: #e83817;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-price .txt-fee .strong {
    font-size: 42px;
  }
}
.price-simu-tb[data-id=home_net] .td-price .txt-fee .fs-xs {
  font-size: 16px;
  font-feature-settings: "palt" 1;
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-price .txt-fee .fs-xs {
    font-size: 14px;
  }
}
.price-simu-tb[data-id=home_net] .td-price .txt-fee-org {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .price-simu-tb[data-id=home_net] .td-price .txt-fee-org {
    font-size: 14px;
  }
}
.price-simu-tb[data-id=home_net] .td-price .sup {
  top: 1.8em;
}
.price-simu-tb[data-id=home_net] .td-price .del {
  text-decoration: line-through;
  text-decoration-color: #e93817;
  text-decoration-thickness: 2px;
}

.flow-list {
  margin-bottom: 16px;
  max-width: 800px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .flow-list {
    display: flex;
    justify-content: space-between;
  }
}
.flow-list .next {
  align-self: center;
  width: 25px;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .flow-list .next {
    transform: rotate(90deg);
    width: 18px;
    margin: 6px auto;
  }
}
.flow-list .list-item {
  position: relative;
  width: calc(33.3333% - 22px);
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .flow-list .list-item {
    width: 100%;
  }
}
.flow-list .item-body {
  position: relative;
}
.flow-list .item-body p {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .flow-list .item-body p {
    font-size: 16px;
    margin-bottom: 4px;
  }
}

.h-voice {
  margin: 0 0 32px;
}
@media screen and (max-width: 767px) {
  .h-voice {
    font-size: 24px;
    margin-bottom: 24px;
  }
}
.h-voice span {
  padding-left: 52px;
}

.h-voice span::before {
  background: url(../images/icn/voice-icn-ttl.svg) no-repeat center center/contain;
}

.swiper-voice {
  opacity: 0;
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}
.swiper-voice.is-show {
  opacity: 1;
}
.swiper-voice .swiper-slide {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 12px;
  margin-bottom: 0;
  border: 1px solid #ff9f98;
  background: #fff;
}
.swiper-voice .swiper-slide .inner {
  position: relative;
  padding: 0 16px 16px;
}
.swiper-voice .swiper-slide .inner p {
  text-align: justify;
}
.swiper-voice h3 {
  position: relative;
  z-index: 0;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #333;
  min-height: 88px;
  margin: 0 auto 24px;
  padding: 12px 12px;
  background: #ffeae9;
}
.swiper-voice h3::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: calc(50% - 8px);
  bottom: -16px;
  border-top: 10px solid #ffeae9;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #ffeae9;
}
.swiper-voice .author {
  font-weight: 700;
  text-align: center;
}
.swiper-voice .voice-woman-30s,
.swiper-voice .voice-woman-40s,
.swiper-voice .voice-woman-50s,
.swiper-voice .voice-man-40s,
.swiper-voice .voice-man-50s,
.swiper-voice .voice-man-60s {
  padding-bottom: 118px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto 120px;
}
@media screen and (max-width: 767px) {
  .swiper-voice .voice-woman-30s,
  .swiper-voice .voice-woman-40s,
  .swiper-voice .voice-woman-50s,
  .swiper-voice .voice-man-40s,
  .swiper-voice .voice-man-50s,
  .swiper-voice .voice-man-60s {
    padding-bottom: 96px;
    background-size: auto 108px;
  }
}
.swiper-voice .voice-woman-30s {
  background-image: url(/common_v10/images/voice/voice-img-woman-30s.png);
}
.swiper-voice .voice-woman-40s {
  background-image: url(/common_v10/images/voice/voice-img-woman-40s.png);
}
.swiper-voice .voice-woman-50s {
  background-image: url(/common_v10/images/voice/voice-img-woman-50s.png);
}
.swiper-voice .voice-man-40s {
  background-image: url(/common_v10/images/voice/voice-img-man-40s.png);
}
.swiper-voice .voice-man-50s {
  background-image: url(/common_v10/images/voice/voice-img-man-50s.png);
}
.swiper-voice .voice-man-60s {
  background-image: url(/common_v10/images/voice/voice-img-man-60s.png);
}
.swiper-voice .swiper-footer {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 24px auto 0;
}
.swiper-voice .swiper-footer .swiper-button-prev,
.swiper-voice .swiper-footer .swiper-button-next {
  position: relative;
  z-index: 1;
  top: 11px;
  width: 40px;
  height: 40px;
  outline: none;
  background: url(../images/swiper_btn_next.svg) no-repeat 0 0/100% auto;
}
.swiper-voice .swiper-footer .swiper-button-prev::after,
.swiper-voice .swiper-footer .swiper-button-next::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .swiper-voice .swiper-footer .swiper-button-prev,
  .swiper-voice .swiper-footer .swiper-button-next {
    display: block;
    width: 32px;
    height: 32px;
  }
}
.swiper-voice .swiper-footer .swiper-button-prev.swiper-button-disabled,
.swiper-voice .swiper-footer .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
}
.swiper-voice .swiper-footer .swiper-button-prev {
  left: -20px;
  transform: rotate(180deg);
}
.swiper-voice .swiper-footer .swiper-button-next {
  right: -20px;
}
.swiper-voice .swiper-footer .swiper-pagination {
  position: relative;
  height: 28px;
}
.swiper-voice .swiper-footer .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  margin: 0 2px;
  padding: 14px;
  border-radius: 0;
  background: none;
  opacity: 1;
}
.swiper-voice .swiper-footer .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 9px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #dbdbdb;
}
.swiper-voice .swiper-footer .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: #fa7268;
}

@media screen and (max-width: 767px) {
  nav.snav {
    min-height: 56px;
  }
}
@media screen and (max-width: 767px) {
  nav.snav ul {
    display: none !important;
  }
}

.snav-btn-primary {
  margin-bottom: 0;
  padding: 0 8px;
  min-width: 160px;
  border-radius: 80px;
  background: #e93817 url(../images/icn/icn_arr_sm_wht.svg) no-repeat right 8px center/16px auto;
}
@media screen and (min-width: 768px) {
  .snav-btn-primary {
    display: none;
  }
}
.snav-btn-primary a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  height: 40px;
}
.snav-btn-primary .icn-starter {
  display: block;
  width: 100%;
  background: url(../images/icn/icn_starter.svg) no-repeat left 8px center/20px auto;
}

.fixed-nav-sp {
  transition: 0.3s;
  position: fixed;
  z-index: 101;
  top: 0px;
  left: 0px;
  width: 100%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.08);
  background: #fff;
  transform: translateY(-62px);
}
@media screen and (min-width: 768px) {
  .fixed-nav-sp {
    display: none;
  }
}
.fixed-nav-sp.is-active {
  transform: translateY(0px);
}

.fixed-nav-sp-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 62px;
  padding-inline: 12px;
}
.fixed-nav-sp-inner .logo img {
  width: 72px;
  height: auto;
  padding-top: 1px;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 32px;
  height: 32px;
}

.loader {
  margin: 60px auto 0;
  font-size: 4px;
  position: relative;
  text-indent: -9999em;
  border-top: 3px solid #fa7268;
  border-right: 3px solid transparent;
  border-bottom: 3px solid #fa7268;
  border-left: 3px solid transparent;
  border-radius: 100px;
  transform: translateZ(0);
  animation: kf-load 0.6s infinite linear;
}

@keyframes kf-load {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.modal-video#modal-video .modal-content {
  width: calc(100% - 24px);
}
.modal-video#modal-video .modal-content .close {
  outline: none !important;
}

.jcom-service {
  background: #f3f3f3;
}

.swiper-service {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding-inline: 52px;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .swiper-service {
    padding-inline: 0;
  }
}
.swiper-service.is-show {
  opacity: 1;
}
.swiper-service .swiper-container {
  max-width: 1000px;
}
.swiper-service .swiper-slide {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 16px;
  margin-bottom: 0;
  background: #fff;
}
.swiper-service .swiper-slide a {
  text-decoration: none;
  color: #333;
}
.swiper-service .swiper-slide .inner {
  padding: 12px 12px 24px;
}
.swiper-service .swiper-slide .brand {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
}
.swiper-service .swiper-slide .brand img.ajust {
  position: relative;
  left: 4px;
  margin-left: -16px;
}
.swiper-service .swiper-slide .brand > p {
  position: relative;
  bottom: 2px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
.swiper-service .swiper-slide .brand *:last-child {
  margin-bottom: 0;
}
.swiper-service .swiper-slide .brand-info {
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiper-service .swiper-slide .brand-info p {
  font-size: 16px;
  text-align: center;
}
.swiper-service .swiper-slide .brand-info *:last-child {
  margin-bottom: 0;
}
.swiper-service .swiper-footer {
  margin: 24px auto 0;
}
.swiper-service .swiper-footer .swiper-button-prev,
.swiper-service .swiper-footer .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: calc(50% - 24px);
  width: 40px;
  height: 40px;
  outline: none;
  background: url(../images/swiper_btn_next_primary.svg) no-repeat 0 0/100% auto;
}
.swiper-service .swiper-footer .swiper-button-prev::after,
.swiper-service .swiper-footer .swiper-button-next::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .swiper-service .swiper-footer .swiper-button-prev,
  .swiper-service .swiper-footer .swiper-button-next {
    display: none;
  }
}
.swiper-service .swiper-footer .swiper-button-prev.swiper-button-disabled,
.swiper-service .swiper-footer .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
}
.swiper-service .swiper-footer .swiper-button-prev {
  left: -4px;
  transform: rotate(180deg);
}
.swiper-service .swiper-footer .swiper-button-next {
  right: -4px;
}
.swiper-service .swiper-footer .swiper-pagination {
  position: relative;
  height: 28px;
}
.swiper-service .swiper-footer .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  margin: 0 2px;
  padding: 14px;
  border-radius: 0;
  background: none;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .swiper-service .swiper-footer .swiper-pagination .swiper-pagination-bullet {
    margin: 0;
  }
}
.swiper-service .swiper-footer .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 9px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #dbdbdb;
}
.swiper-service .swiper-footer .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: #e83817;
}

.article {
  overflow: hidden;
  border-radius: 32px;
  background: #fff;
}
.article + .article {
  margin-top: 32px;
}
.article:last-of-type {
  margin-bottom: 32px;
}
.article .article-header {
  position: relative;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  padding: 16px 12px;
  background: #d9161B;
}
@media screen and (max-width: 767px) {
  .article .article-header {
    font-size: 16px;
  }
}
.article .article-body {
  padding: 16px 24px 32px;
  background: #F2F2F2;
}
@media screen and (max-width: 767px) {
  .article .article-body {
    padding: 16px 16px 24px;
  }
}
.article .article-body *:last-child {
  margin-bottom: 0;
}
.article .article-body .article-row {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .article .article-body .article-row {
    display: block;
  }
}
.article .article-body .article-thumb {
  width: 37.3333%;
  padding-top: 24px;
}
@media screen and (max-width: 767px) {
  .article .article-body .article-thumb {
    width: 100%;
    margin-bottom: 16px;
    padding-top: 0;
  }
}
.article .article-body .article-info {
  flex: 1;
}
.article .article-body .article-meta {
  font-size: 14px;
  text-align: right;
  color: #555;
  margin-bottom: 12px;
}
.article .article-body .article-txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.6;
  text-align: justify;
}
.article .article-body .article-link {
  text-align: center;
}

#header,
#fixed-nav,
.fixed-nav-sp,
.spmenu,
.lp {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

.mv {
  margin-top: 24px;
  padding-inline: 16px;
  background: none;
}
@media screen and (max-width: 767px) {
  .mv {
    margin-top: 0;
    padding-inline: 0;
  }
}
.mv .mv-inner {
  position: relative;
  max-width: 1120px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .mv .mv-inner {
    width: 100%;
    margin: auto;
  }
}

.mv-note {
  max-width: 832px;
  margin-inline: auto;
  padding: 8px 16px 24px;
}
@media screen and (max-width: 767px) {
  .mv-note {
    padding-inline: 12px;
  }
}

.box-bd {
  width: 100%;
  max-width: 1024px;
  margin-inline: auto;
  padding: 48px 40px;
  border-radius: 16px;
  border: 1px solid #333;
  background: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .box-bd {
    padding-inline: calc(24px + (40 - 24) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .box-bd {
    padding: 32px 16px 32px;
  }
}
.box-bd.mt {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .box-bd.mt {
    margin-top: 48px;
  }
}
.box-bd.mb {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .box-bd.mb {
    margin-bottom: 24px;
  }
}

.pic-worry {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .pic-worry {
    width: calc(100% + 32px);
    margin-left: -16px;
    margin-bottom: 40px;
  }
}

.bnr-campaign {
  text-align: center;
  margin-block: 0 32px;
  padding-inline: 16px;
}
@media screen and (max-width: 767px) {
  .bnr-campaign {
    margin-block: 24px;
  }
}

.bnr-camera {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 736px;
  margin: 8px auto 48px;
}
@media screen and (max-width: 767px) {
  .bnr-camera {
    margin: 16px auto 32px;
  }
}
.bnr-camera .bnr-camera-col {
  position: relative;
}
.bnr-camera .bnr-camera-col:nth-of-type(1) {
  margin-right: 16px;
  width: 29.0760869565%;
}
@media screen and (max-width: 767px) {
  .bnr-camera .bnr-camera-col:nth-of-type(1) {
    width: 40%;
    max-width: 240px;
    margin-right: 8px;
  }
}
.bnr-camera .bnr-camera-col:nth-of-type(2) {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin-top: -12px;
}
@media screen and (max-width: 767px) {
  .bnr-camera .bnr-camera-col:nth-of-type(2) {
    font-size: 15px;
  }
}
.bnr-camera .bnr-camera-col:nth-of-type(2) .em {
  position: relative;
  font-size: 26px;
  color: #fb3f34;
}
@media screen and (max-width: 767px) {
  .bnr-camera .bnr-camera-col:nth-of-type(2) .em {
    font-size: 15px;
  }
}
.bnr-camera .bnr-camera-col:nth-of-type(2) p {
  margin-bottom: 0;
}
.bnr-camera .bnr-camera-col:nth-of-type(2) .logo {
  max-width: 340px;
  margin: 6px auto 0;
}
@media screen and (max-width: 767px) {
  .bnr-camera .bnr-camera-col:nth-of-type(2) .logo {
    max-width: 240px;
  }
}

.ballon-wht {
  position: relative;
  max-width: 800px;
  margin: 60px auto;
  padding: 32px 32px;
  border-radius: 20px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .ballon-wht {
    max-width: 75.7333333333vw;
    margin: 8.5333333333vw auto;
    padding: 4.2666666667vw 4.2666666667vw;
    border-radius: 3.2vw;
  }
}
.ballon-wht::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: -26px;
  width: 0;
  height: 0;
  margin-inline: auto;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-top: 28px solid #fff;
}
@media screen and (max-width: 767px) {
  .ballon-wht::after {
    bottom: -5.3333333333vw;
    border-left-width: 3.7333333333vw;
    border-right-width: 3.7333333333vw;
    border-top-width: 5.8666666667vw;
  }
}

.cs {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .cs {
    margin-bottom: 48px;
  }
}

.cs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .cs-row {
    justify-content: center;
  }
}

.cs-chart {
  position: relative;
  width: 368px;
  height: 368px;
  border-radius: 50%;
  background: conic-gradient(#fb3f34 0%, #fb3f34 93%, #ffc2be 93%, #ffc2be 100%);
}
@media screen and (min-width: 375px) and (max-width: 767px) {
  .cs-chart {
    width: calc(210px + (368 - 210) * (100vw - 375px) / (767 - 375));
    height: calc(210px + (368 - 210) * (100vw - 375px) / (767 - 375));
  }
}
@media screen and (max-width: 767px) {
  .cs-chart {
    margin-right: 3.2vw;
  }
}

.chart-txt-1 {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 51.6666666667%;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  margin-inline: auto;
}
@media screen and (min-width: 375px) and (max-width: 767px) {
  .chart-txt-1 {
    font-size: calc(14px + (18 - 14) * (100vw - 375px) / (767 - 375));
  }
}

.chart-txt-2 {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 59.6666666667%;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.2px;
  text-align: center;
  color: #fff;
  margin-inline: auto;
}
@media screen and (min-width: 375px) and (max-width: 767px) {
  .chart-txt-2 {
    font-size: calc(24px + (42 - 24) * (100vw - 375px) / (767 - 375));
    top: calc(130px + (222 - 130) * (100vw - 375px) / (767 - 375));
  }
}

.cs-chart-num {
  white-space: nowrap;
  font-size: 72px;
  font-weight: 700;
  color: #fb3f34;
}
@media screen and (min-width: 375px) and (max-width: 767px) {
  .cs-chart-num {
    font-size: calc(40px + (72 - 40) * (100vw - 375px) / (767 - 375));
  }
}
.cs-chart-num span {
  font-size: 124px;
}
@media screen and (min-width: 375px) and (max-width: 767px) {
  .cs-chart-num span {
    font-size: calc(72px + (124 - 72) * (100vw - 375px) / (767 - 375));
  }
}

.cs-catch {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #fb3f34;
  padding: 6px 12px 8px;
  border-top: 4px solid #fb3f34;
  border-bottom: 4px solid #fb3f34;
}
@media screen and (max-width: 767px) {
  .cs-catch {
    font-size: 20px;
    border-width: 3px;
    padding: 4px 10px 6px;
  }
}

.bnr-shinlife {
  margin-top: 60px;
  padding-inline: 16px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .bnr-shinlife {
    margin-top: 40px;
  }
}