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

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

.section-note .container .fs-14.fw-bold {
  margin-left: 0;
}

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

.lp sup {
  font-weight: normal;
}

.lp [class*=link-self]::after {
  width: 18px;
  height: 18px;
}

/*テキスト*/
@media (min-width: 768px) and (max-width: 1080px) {
  .fs-20-tablet {
    font-size: 20px !important;
  }
}

@media (min-width: 768px) and (max-width: 1080px) {
  .fs-18-tablet {
    font-size: 18px !important;
  }
}

@media (min-width: 768px) and (max-width: 1080px) {
  .fs-16-tablet {
    font-size: 16px !important;
  }
}

.fs-36 {
  font-size: 36px !important;
}

@media screen and (max-width: 767px) {
  .fs-36-sp {
    font-size: 36px !important;
  }
}

.text-del {
  text-decoration: line-through;
}

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

.text-upper.text-upper-sm::before, .text-upper.text-upper-sm::after {
  top: 2px;
  height: 80%;
  border-color: currentColor;
  border-width: 2px;
}
.text-upper.text-upper-sm::before {
  transform: rotate(-24deg);
}
.text-upper.text-upper-sm::after {
  transform: rotate(24deg);
}

.color-marker.yel {
  background: linear-gradient(transparent 1.1em, #fcff00 1.1em, #fcff00 1.35em, transparent 1.35em);
}
.color-marker.blu {
  background: linear-gradient(transparent 1.1em, #b2f7ff 1.1em, #b2f7ff 1.35em, transparent 1.35em);
}
.color-marker.pnk {
  background: linear-gradient(transparent 1.1em, #ffb9fa 1.1em, #ffb9fa 1.35em, transparent 1.35em);
}
.color-marker.grn {
  background: linear-gradient(transparent 1.1em, #8af8f9 1.1em, #8af8f9 1.35em, transparent 1.35em);
}

.text-check-primary.color-net::before {
  background-image: url(../images/icn-text-check-jcom-net.svg);
}

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

/*
.color-marker {
	position: relative;
	z-index: 0;
	background: none;

	&::after {
		content: "";
		width: 100%;
		height: 10px;
		background-color: #f8d200;
		position: absolute;
		bottom: -6%;
		left: 0;
		border-radius: 12px;
		z-index: -1;

		@media screen and (max-width: 767px) {
			height: 10px;
		}
	}
}
*/
/*テキストリンク*/
@media screen and (max-width: 767px) {
  .link-self.icn-fixed {
    padding-right: 24px;
  }
}
@media screen and (max-width: 767px) {
  .link-self.icn-fixed::after {
    position: absolute;
    top: 1px;
    right: 0;
    bottom: 0;
    width: 1em;
    height: 1em;
    margin: auto;
  }
}

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

/*ブレークポイント表示・非表示*/
.show-pc {
  display: none;
}
@media screen and (min-width: 1081px) {
  .show-pc {
    display: block;
  }
}

.show-tablet {
  display: none;
}
@media (min-width: 768px) and (max-width: 1080px) {
  .show-tablet {
    display: block;
  }
}

.show-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .show-sp {
    display: block;
  }
}

.show-pc-tablet {
  display: none;
}
@media screen and (min-width: 768px) {
  .show-pc-tablet {
    display: block;
  }
}

.show-sp-tablet {
  display: none;
}
@media screen and (max-width: 1080px) {
  .show-sp-tablet {
    display: block;
  }
}

/*ラベル*/
.label-disk-dark {
  position: relative;
  display: inline-block;
  vertical-align: baseline;
  font-size: 16px;
  line-height: 1.1;
  color: #fff;
  text-align: center;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.3em;
  border-radius: 100px;
  background-color: #333;
}

/*box-bodyリンクアイコン*/
.box-body.is-link {
  background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center right 16px/9px 16px;
}
.box-body.is-link p {
  color: #333;
}

.link-bullet-primary[data-bullet-position=row-middle] {
  padding-right: 0;
}
.link-bullet-primary[data-bullet-position=row-middle]::after {
  width: 8px;
  height: 16px;
  right: 12px;
}

/*余白*/
@media screen and (max-width: 767px) {
  .p-0-sp {
    padding: 0 !important;
  }
}

.mt-lg-ng {
  margin-top: -24px;
}

/*ボーダー*/
.bd-color-jcom-mobile {
  border-color: #00a5a8;
}

/*ボード*/
.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;
}

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

.content-800 {
  position: relative;
  max-width: 800px;
  margin-inline: auto;
}

.content-736 {
  position: relative;
  max-width: 736px;
  margin-inline: auto;
}

.content-480 {
  position: relative;
  max-width: 480px;
  margin-inline: auto;
}

.w-100 {
  width: 100%;
}

.btn-w-450 {
  width: 100%;
  max-width: 450px !important;
}

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

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

/*CVエリア タブレット時に幅が小さくなるのを回避*/
.section.section-cv .container .cv-guide[data-max-width="764"] {
  max-width: 764px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .section.section-cv .container .btn-white-primary.not-square,
  .section.section-cv .container .btn-primary.not-square {
    padding: 0 !important;
  }
  .section.section-cv .container .btn-white-primary.not-square.icn-starter,
  .section.section-cv .container .btn-primary.not-square.icn-starter {
    background-position: 20px center !important;
  }
  .section.section-cv .container .btn-white-primary.not-square::after,
  .section.section-cv .container .btn-primary.not-square::after {
    right: 24px;
    display: inline-block;
    width: 9px;
    height: 16px;
  }
}
@media screen and (max-width: 767px) {
  .section.section-cv .container [class^=btn-].square {
    height: 135px;
  }
}
.section.section-cv .container [class^=btn-].adjust {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 68px;
  padding: 0 !important;
  vertical-align: bottom;
}
@media (min-width: 768px) and (max-width: 959px) {
  .section.section-cv .container [class^=btn-].adjust::after {
    right: 12px;
  }
}
@media screen and (max-width: 767px) {
  .section.section-cv .container [class^=btn-][data-icon-sp=false]::after {
    display: none !important;
  }
}

.lp .acc {
  position: relative;
  border-radius: 16px;
  margin-top: 32px;
  padding: 10px 24px;
  border: solid #cacaca 2px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .lp .acc {
    padding-left: 16px;
    padding-right: 16px;
    border-width: 2px;
    border-radius: 12px;
  }
}
.lp .acc[data-color=mobile] {
  border-color: #29a5a9;
}
.lp .acc[data-color=net] {
  border-color: #0087d1;
}
.lp .acc-trigger {
  cursor: pointer;
  font-size: 20px;
  line-height: 1.4;
  text-align: left;
  margin: 0;
  padding-top: 12px;
  padding-bottom: 12px;
  min-height: 27px;
  background: url(../images/acc_open.png) no-repeat center right/27px auto;
}
@media screen and (max-width: 767px) {
  .lp .acc-trigger {
    font-size: 18px;
  }
}
.lp .acc-trigger.open {
  background: url(../images/acc_close.png) no-repeat center right/27px auto;
}
.lp .acc-body {
  display: none;
  position: relative;
}
.lp .acc-body > .inner {
  margin-top: 8px;
  padding: 24px 0 0;
  border-top: 2px solid #cacaca;
}
.lp .acc-body[data-color=tv] > .inner {
  border-color: #e40077;
}
.lp .acc-body[data-color=mobile] > .inner {
  border-color: #29a5a9;
}

.swiper01 {
  position: relative;
  padding: 0 48px;
}
@media screen and (max-width: 767px) {
  .swiper01 {
    padding: 0;
  }
}
.swiper01 .swiper-container {
  position: relative;
}
.swiper01 [class^=swiper01-button-prev],
.swiper01 [class^=swiper01-button-next] {
  position: absolute;
  z-index: 10;
  top: calc(50% - 40px);
  width: 40px;
  height: 40px;
  margin: auto;
  outline: none;
  background: url(../images/btn_swiper.svg) no-repeat 0 0/contain;
}
@media screen and (max-width: 767px) {
  .swiper01 [class^=swiper01-button-prev],
  .swiper01 [class^=swiper01-button-next] {
    display: none;
  }
}
.swiper01 [class^=swiper01-button-prev].swiper-button-disabled,
.swiper01 [class^=swiper01-button-next].swiper-button-disabled {
  opacity: 0.4;
}
.swiper01 [class^=swiper01-button-prev] {
  left: 0;
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .swiper01 [class^=swiper01-button-prev] {
    left: 0;
  }
}
.swiper01 [class^=swiper01-button-next] {
  right: 0;
}
@media screen and (max-width: 767px) {
  .swiper01 [class^=swiper01-button-next] {
    right: 0;
  }
}
.swiper01 [class^=swiper01-pagination] {
  margin-top: 24px;
  text-align: center;
}
.swiper01 [class^=swiper01-pagination] .swiper-pagination-bullet {
  position: relative;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  border-radius: 10px;
  background: #ccc;
  opacity: 1;
}
.swiper01 [class^=swiper01-pagination] .swiper-pagination-bullet::after {
  transition: 0.25s;
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  width: 16px;
  height: 16px;
  border-radius: 16px;
  background-color: #E93817;
  opacity: 0;
}
.swiper01 [class^=swiper01-pagination] .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
  opacity: 1;
}

.lnav {
  max-width: 724px;
  margin: 32px auto;
  padding: 0 16px;
}
.lnav.senior {
  max-width: 832px;
}
@media screen and (max-width: 767px) {
  .lnav.senior .lnav-item.mobile li {
    width: calc(25% - 6px);
    margin: 3px 3px;
  }
}
@media screen and (max-width: 767px) {
  .lnav {
    flex-wrap: wrap;
    max-width: auto;
    margin: 24px auto;
    padding: 0 13px;
  }
}
.lnav .lnav-item ul {
  margin: auto;
}
.lnav .lnav-item ul li {
  margin-bottom: 0;
}
.lnav .lnav-item ul li a {
  position: relative;
  display: block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  width: 108px;
  height: 96px;
  padding: 20px 4px 12px;
  border-radius: 12px;
}
@media screen and (max-width: 767px) {
  .lnav .lnav-item ul li a {
    font-size: 14px;
    width: 100%;
    height: 84px;
    border-radius: 10px;
  }
}
.lnav .lnav-item ul li a.multi {
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .lnav .lnav-item ul li a.multi {
    padding-top: 10px;
  }
}
.lnav .lnav-item.mobile {
  width: 100%;
}
.lnav .lnav-item.mobile ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .lnav .lnav-item.mobile ul {
    flex-wrap: wrap;
    width: auto;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .lnav .lnav-item.mobile ul li {
    width: calc(33.3333% - 6px);
    margin: 3px 3px;
  }
}
.lnav .lnav-item.mobile ul li a {
  background: #29a5a9 url(../images/btn_anchor_circle_mobile.svg) no-repeat bottom 10px center/26px auto;
}
@media screen and (max-width: 767px) {
  .lnav .lnav-item.mobile ul li a {
    background-size: 20px auto;
  }
}

.mobile-price {
  border-radius: 16px;
  border: solid #29a5a9 3px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .mobile-price {
    border-width: 2px;
    border-radius: 16px;
  }
}

.mobile-price-list {
  position: relative;
  table-layout: auto;
  width: 100%;
  margin: 0 auto;
}
.mobile-price-list th,
.mobile-price-list td {
  position: relative;
  line-height: 1.4;
  padding: 16px 0;
  text-align: center;
  box-sizing: border-box;
  background-clip: padding-box;
}
@media (min-width: 320px) {
  .mobile-price-list th,
  .mobile-price-list td {
    font-size: calc(0.875rem + 8 * (100vw - 320px) / 480);
    min-height: 0vw;
  }
}
@media (min-width: 800px) {
  .mobile-price-list th,
  .mobile-price-list td {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .mobile-price-list th,
  .mobile-price-list td {
    padding: 14px 0;
  }
}
.mobile-price-list th .em,
.mobile-price-list td .em {
  font-weight: 700;
  color: #d9161B;
}
.mobile-price-list th .lg,
.mobile-price-list td .lg {
  font-size: 118.1818181818%;
}
.mobile-price-list th .tax,
.mobile-price-list td .tax {
  display: block;
  font-size: 72.7272727273%;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .mobile-price-list th .tax,
  .mobile-price-list td .tax {
    font-size: 63.6363636364%;
  }
}
.mobile-price-list tr th:not(:first-of-type),
.mobile-price-list tr td:not(:first-of-type) {
  border-left: solid #29a5a9 3px;
}
@media screen and (max-width: 767px) {
  .mobile-price-list tr th:not(:first-of-type),
  .mobile-price-list tr td:not(:first-of-type) {
    border-width: 2px;
  }
}
.mobile-price-list thead th:not(.td-item) {
  font-weight: 700;
  padding: 4px 0 12px;
}
@media screen and (max-width: 767px) {
  .mobile-price-list thead th:not(.td-item) {
    padding: 4px 0 10px;
  }
}
.mobile-price-list .th-data {
  font-size: 38px;
  width: 20%;
  font-weight: 700;
  background-color: #cbedee;
}
@media screen and (min-width: 320px) and (max-width: 800px) {
  .mobile-price-list .th-data {
    font-size: calc(2.9166666667vw + 14.6666666667px);
  }
}
.mobile-price-list .th-data .sm {
  font-size: 66.6666666667%;
  font-weight: 700;
}
.mobile-price-list .th-data .xs {
  display: block;
  font-size: 47.3684210526%;
  margin-bottom: -10px;
}
@media screen and (max-width: 767px) {
  .mobile-price-list .th-data .xs {
    margin-bottom: -6px;
  }
}
.mobile-price-list .th-data p[data-mh] {
  margin-bottom: 0;
}
.mobile-price-list .th-data .text-highlight {
  font-size: 16px;
  font-weight: 700;
  color: #e83817;
}
@media screen and (max-width: 767px) {
  .mobile-price-list .th-data .text-highlight {
    font-size: 13px;
  }
}
.mobile-price-list .th-data .text-highlight > .text-upper {
  bottom: -6px;
  padding-inline: 8px;
}
.mobile-price-list .th-data .text-highlight > .text-upper::before, .mobile-price-list .th-data .text-highlight > .text-upper::after {
  height: 68%;
}
@media screen and (max-width: 767px) {
  .mobile-price-list .th-data .text-highlight > .text-upper::before, .mobile-price-list .th-data .text-highlight > .text-upper::after {
    top: 0;
  }
}
.mobile-price-list th,
.mobile-price-list td {
  border: none;
}
.mobile-price-list th .arr,
.mobile-price-list td .arr {
  max-width: 46px;
  margin: 6px auto 2px;
}
@media screen and (max-width: 767px) {
  .mobile-price-list th .arr,
  .mobile-price-list td .arr {
    max-width: 44px;
  }
}
.mobile-price-list td {
  height: 100px;
}
@media screen and (max-width: 767px) {
  .mobile-price-list td {
    height: 76px;
  }
}
.mobile-price-list .td-item {
  padding: 12px 0;
  border-top: solid #29a5a9 3px;
  border-bottom: solid #29a5a9 3px;
  background-color: #cbedee;
}
@media (min-width: 320px) {
  .mobile-price-list .td-item {
    font-size: calc(0.875rem + 4 * (100vw - 320px) / 480);
  }
}
@media (min-width: 800px) {
  .mobile-price-list .td-item {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .mobile-price-list .td-item {
    padding: 10px 0;
    border-width: 2px;
  }
}
.mobile-price-list th.datamori .bef,
.mobile-price-list th.datamori .aft,
.mobile-price-list td.datamori .bef,
.mobile-price-list td.datamori .aft {
  margin: 0;
}
.mobile-price-list th.datamori .bef,
.mobile-price-list td.datamori .bef {
  font-size: 78.9473684211%;
  position: relative;
}
.mobile-price-list th.datamori .bef::before,
.mobile-price-list td.datamori .bef::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #d9161B;
  width: 50%;
  height: 3px;
  top: 50%;
  left: 25%;
  opacity: 0.75;
  border-radius: 60px;
}
@media screen and (max-width: 767px) {
  .mobile-price-list th.datamori .bef::before,
  .mobile-price-list td.datamori .bef::before {
    width: 60%;
    left: 20%;
    height: 3px;
  }
}
.mobile-price-list td.pb {
  padding-bottom: 72px !important;
}
@media screen and (max-width: 767px) {
  .mobile-price-list td.pb {
    padding-bottom: 68px !important;
  }
}
.mobile-price-list .td-spd {
  padding-top: 8px;
}
.mobile-price-list .td-spd .md {
  font-size: 81.8181818182%;
}
@media screen and (max-width: 767px) {
  .mobile-price-list .td-spd {
    padding: 10px 0 10px;
  }
}
.mobile-price-list .label-2 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 5;
  left: 16px;
  bottom: 52%;
  font-weight: 700;
  color: #fff;
  width: calc(500% - 24px);
  height: 46px;
  box-sizing: border-box;
  border-radius: 60px;
  background: #d9161B;
}
.mobile-price-list .label-2 .em {
  color: #d9161B;
}
@media (min-width: 320px) {
  .mobile-price-list .label-2 {
    font-size: calc(0.9375rem + 7 * (100vw - 320px) / 480);
  }
}
@media (min-width: 800px) {
  .mobile-price-list .label-2 {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .mobile-price-list .label-2 {
    width: calc(500% - 14px);
    height: 50px;
    left: 10px;
    bottom: 46%;
  }
}

@media screen and (max-width: 767px) {
  .section-cv .container {
    width: calc(100% - 32px);
    margin: 0 16px;
  }
}
@media screen and (max-width: 767px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .main-btn-adjust {
    padding-top: 34px;
    padding-bottom: 3px;
    background-position: center 6px;
    background-size: 28px 28px;
  }
}
@media screen and (max-width: 767px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .sub-btn-adjust {
    height: 74px;
  }
}
.section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone {
  min-height: auto;
  padding: 6px 12px 6px 12px;
  border: none;
  border-radius: 0;
  background-color: transparent;
}
@media screen and (max-width: 899px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone {
    line-height: 1.2;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone {
    line-height: 1.1;
  }
}
.section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone .phone-body {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
}
@media screen and (max-width: 899px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone .phone-body {
    display: inline-block;
    min-height: auto;
    padding-left: 28px;
    background: url(/common_v10/images/icn-phone-black.svg) no-repeat left center/22px auto;
  }
}
.section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone .phone-body .phone-txt-1 {
  font-size: 12px;
}
@media screen and (min-width: 900px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone .phone-body .phone-txt-1 {
    display: flex;
    align-items: center;
    min-height: 24px;
    padding-left: 28px;
    background: url(/common_v10/images/icn-phone-black.svg) no-repeat left center/24px auto;
    margin-right: 8px;
  }
}
.section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone .phone-body .phone-txt-2 {
  font-size: 20px;
}
@media screen and (max-width: 999px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone .phone-body .phone-txt-2 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .btn-phone .phone-body .phone-txt-2 {
    font-size: 15px;
  }
}
.section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .phone-remarks {
  font-feature-settings: "palt" 1;
  font-size: 12px;
  font-weight: normal;
  display: block;
  margin-top: -10px;
}
@media screen and (max-width: 899px) {
  .section-cv .container .cv-guide .cv-box.new-cv-box .new-cv-board .phone-remarks {
    font-size: 10px;
    margin-top: -5px;
  }
}
.section-cv[data-type="3"] .cv-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .section-cv[data-type="3"] .cv-row {
    flex-wrap: wrap;
  }
}
.section-cv[data-type="3"] .cv-col {
  width: calc(50% - 10px);
}
@media screen and (max-width: 767px) {
  .section-cv[data-type="3"] .cv-col {
    width: 100%;
  }
}
.section-cv[data-type="3"] .cv-col p {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .section-cv[data-type="3"] .btn-simulation {
    max-width: 100%;
    border-radius: 100px;
  }
}

.cv-sub {
  padding: 0 0 16px;
}
@media screen and (max-width: 767px) {
  .cv-sub .btn-white-primary {
    padding: 12px 0;
    border-radius: 16px;
  }
  .cv-sub .btn-white-primary::after {
    width: 7px;
    right: 8px;
  }
}

.btn-phone-wide {
  min-height: auto;
  padding: 6px 12px 6px 12px;
  border: none;
  border-radius: 0;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .btn-phone-wide {
    line-height: 1.1;
  }
}
.btn-phone-wide .phone-body {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
}
.btn-phone-wide .phone-body .phone-txt-1 {
  display: flex;
  align-items: center;
  font-size: 14px;
  min-height: 24px;
  padding-left: 28px;
  background: url(/common_v10/images/icn-phone-black.svg) no-repeat left center/24px auto;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .btn-phone-wide .phone-body .phone-txt-1 {
    font-size: 13px;
  }
}
.btn-phone-wide .phone-body .phone-txt-2 {
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .btn-phone-wide .phone-body .phone-txt-2 {
    font-size: 18px;
  }
}

.phone-wide-remarks {
  font-feature-settings: "palt" 1;
  font-size: 12px;
  font-weight: normal;
  display: block;
  margin-top: -10px;
}
.section.bg-pink .btn-primary.icn-starter,
.section.bg-pink .btn-white-dark.icn-starter {
  width: 100%;
  height: 100%;
  background-image: url(/common_v10/images/icn-think-white.svg);
  background-repeat: no-repeat;
  background-position: left 24px center;
  background-size: 28px 28px;
}
@media screen and (max-width: 767px) {
  .section.bg-pink .btn-primary.icn-starter,
  .section.bg-pink .btn-white-dark.icn-starter {
    background-size: 24px 24px;
  }
}
.section.bg-pink .btn-white-dark.icn-starter {
  background-image: url(/common_v10/images/icn-think-black.svg);
}
.lp {
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

a[href="/service/voice/?tab=mobile"] {
  display: none;
}

@media screen and (max-width: 767px) {
  .img-device {
    max-width: 240px;
  }
}

.text-inter {
  font-family: Inter, "Noto Sans JP", sans-serif;
}

.icn-mdu {
  background: url(../images/icn_sdu.svg) no-repeat center left 24px/32px auto;
}

.icn-q {
  color: #fff !important;
  display: inline-block;
  padding-left: 24px;
  padding-bottom: 2px;
  border-bottom: solid #fff 1px;
  background: url(../images/icn_q.svg) no-repeat center left/20px 20px;
}
@media screen and (max-width: 767px) {
  .icn-q {
    padding-left: 20px;
    padding-bottom: 2px;
    background-size: 16px 16px;
  }
}

.bg-net {
  background-color: #e5f1ff;
}

.bg-mobile {
  background-color: #daf6f6;
}

.color-blu {
  color: #0087d1;
}

.box-wht {
  padding: 32px 32px;
  border-radius: 32px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .box-wht {
    border-radius: 0;
    width: calc(100% + 48px);
    margin-left: -24px;
    padding: 40px 28px 24px;
  }
}
@media screen and (max-width: 767px) {
  .box-wht[data-color=mobile] {
    border: none;
  }
}
@media screen and (max-width: 767px) {
  .box-wht[data-color=net] {
    border: none;
  }
}

.box-pnk {
  padding: 24px 20px;
  border-radius: 16px;
  background-color: #fee3de;
}
@media screen and (max-width: 767px) {
  .box-pnk {
    padding: 16px 16px;
  }
}

.label-new {
  border-color: #ffff00;
  background: #ffff00;
}

@media screen and (max-width: 767px) {
  .lp [class^=btn-].btn-sm-sp {
    height: 68px;
    padding-block: 6px !important;
  }
}

.sec-container {
  padding: 48px 16px;
  box-sizing: content-box;
}
@media screen and (max-width: 767px) {
  .sec-container {
    padding: 32px 12px;
  }
}
.sec-container .sec-item {
  margin: 48px auto;
}

h1 {
  font-size: 30px;
  text-align: center;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 24px;
  }
}
h1 .fs-strong {
  font-size: 140%;
  line-height: 1;
}
h1 .fs-sm {
  font-size: 70%;
}
h1 .fs-xs {
  font-size: 50%;
}
h1 sup {
  top: -10px;
  font-size: 12px;
}

.h2-balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  padding-bottom: 4px;
  max-width: 320px;
  height: 72px;
  margin: 0 auto 48px;
  border-radius: 6px;
  background-color: #e945b8;
}
.h2-balloon span::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: calc(50% - 20px);
  bottom: -18px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #e945b8 transparent transparent transparent;
}
@media screen and (max-width: 899px) {
  .h2-balloon {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .h2-balloon {
    font-size: 22px;
    width: 68%;
    height: 60px;
    margin-bottom: 32px;
    padding-bottom: 2px;
  }
}

.h2-txt {
  font-size: 28px;
  margin: 0 0 48px;
  text-align: center;
  padding: 18px 12px;
  background: url(../images/tit_bar.png) no-repeat bottom center/360px 4px, url(../images/tit_bar.png) no-repeat top center/360px 4px;
}
@media screen and (max-width: 767px) {
  .h2-txt {
    font-size: 22px;
    margin-bottom: 32px;
    padding: 16px 0;
    background-size: 85% 4px;
  }
}

.h1-label {
  text-align: center;
  margin: 0 auto 12px;
}
.h1-label span {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  color: #29a5a9;
  padding: 0 0 4px;
  border-bottom: 3px solid #29a5a9;
}

.lp .mobile-charm .h-point {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .lp .mobile-charm .h-point {
    margin-bottom: 16px;
  }
}
.lp .mobile-charm .h-point > .label {
  flex: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  width: 78px;
  height: 78px;
  margin: 0 16px 0 0;
  border-radius: 12px;
  background-color: #d9161B;
}
@media screen and (max-width: 767px) {
  .lp .mobile-charm .h-point > .label {
    font-size: 13px;
    width: 64px;
    height: 64px;
  }
}
.lp .mobile-charm .h-point > .label .num {
  display: block;
  font-size: 32px;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .lp .mobile-charm .h-point > .label .num {
    font-size: 28px;
  }
}
.lp .mobile-charm .h-point h3 {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .lp .mobile-charm .h-point h3 {
    text-align: left;
  }
}
.lp .mobile-charm .h-point sup {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .lp .mobile-charm .h-point sup {
    font-size: 12px;
  }
}
.lp .mobile-charm hr {
  height: 2px;
  margin-block: 40px;
}
.lp .features-list > .col-33 {
  padding-block: 16px;
}
@media screen and (max-width: 767px) {
  .lp .features-list > .col-33 {
    padding-block: 8px 24px;
  }
}
.lp .features-list > .col-33::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: #ddd;
}
@media screen and (min-width: 768px) {
  .lp .features-list > .col-33::after {
    right: -16px;
    top: 0;
    width: 1px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .lp .features-list > .col-33::after {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
  }
}
.lp .features-list > .col-33:last-of-type::after {
  display: none;
}

.lp .flow-step {
  display: flex;
  justify-content: space-between;
}
.lp .flow-step-item {
  width: 100%;
  max-width: 240px;
}
@media screen and (max-width: 767px) {
  .lp .flow-step-item {
    max-width: calc(100% - 32px);
    margin: auto;
  }
}
.lp .flow-step-item .head {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  max-width: 160px;
  margin: auto;
  padding: 8px 0;
  border-radius: 100px;
  background-color: #d9161B;
}
@media screen and (max-width: 767px) {
  .lp .flow-step-item .head {
    font-size: 16px;
    padding: 6px 0;
  }
}
.lp .flow-step-item .body {
  padding: 16px 0;
}
@media screen and (max-width: 767px) {
  .lp .flow-step-item .body {
    padding: 16px 0;
  }
}
.lp .flow-step-item .body .img {
  width: 228px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .lp .flow-step-item .body .img {
    width: 100%;
  }
}
.lp .flow-step-item .body .txt {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-top: 6px;
}
@media screen and (max-width: 767px) {
  .lp .flow-step-item .body .txt {
    font-size: 14px;
  }
}
.lp .flow-step-item .body p {
  margin-bottom: 0;
}
.lp .flow-step-next {
  min-width: 11px;
  min-height: 21px;
  align-self: center;
  margin: 0 8px;
}
@media screen and (max-width: 767px) {
  .lp .flow-step-next {
    min-width: 8px;
    min-height: 16px;
    margin: 0 2px;
  }
}