@charset "UTF-8";
/*////////////////////////////////////////////////////

    .設定

////////////////////////////////////////////////////*/
/*スペース*/
/*中央寄せ $direction x：横方向 y：縦方向 xy：縦横方向*/
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-moz-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
#lp {
  font-family: "游ゴシック", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 700;
  padding: 100px 0 0;
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  #lp {
    padding: 60px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  #lp {
    padding: 50px 0 0;
  }
}
#lp .txt-link a {
  display: inline-block;
  text-decoration: underline;
  color: #E44E00;
  font-size: 100%;
  text-decoration: underline;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgb(228, 78, 0) 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: 0.3s;
  margin: 0 3px;
  text-indent: 0;
}
#lp .txt-link a:hover {
  background-position: -100% 0;
  color: #fff;
}
#lp #mv {
  position: relative;
  overflow: hidden;
  z-index: 0;
  /* 最背面 */
  background: url(/lp_plus/img/mv_bg_mtif.png) center bottom/contain no-repeat;
  /* その上に載せる既存背景 */
}
#lp #mv::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(/lp_plus/img/bg_mv_art.svg) center top/contain no-repeat;
  z-index: 0;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  #lp #mv {
    background: url(/lp_plus/img/mv_bg_mtif_sp.png) center bottom/contain no-repeat;
  }
  #lp #mv::before {
    background: url(/lp_plus/img/bg_mv_art_sp.svg) center top/contain no-repeat;
  }
}
#lp #mv > * {
  position: relative;
  z-index: 1;
}
#lp #mv .mv-inner {
  position: relative;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 60px 0 10px;
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-inner {
    padding: 0 0 18px;
  }
  #lp #mv .mv-inner::after {
    width: 118%;
    height: 118px;
    background-size: cover;
  }
}
#lp #mv .inbox {
  position: relative;
}
#lp #mv .mv-copy {
  position: relative;
  z-index: 5;
  text-align: center;
}
#lp #mv .mv-copy h1 {
  margin: 0;
}
#lp #mv .mv-copy img {
  display: block;
  margin: 0 auto;
  height: auto;
}
#lp #mv .mv-copy .mv-txt-pc {
  width: min(80%, 1350px);
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-copy .mv-txt-pc {
    display: none;
  }
}
#lp #mv .mv-copy .mv-txt-sp {
  width: min(96%, 300px);
}
@media only screen and (min-width: 768px) {
  #lp #mv .mv-copy .mv-txt-sp {
    display: none;
  }
}
#lp #mv .mv-people {
  z-index: 4;
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-people {
    display: flex;
    width: 100%;
    justify-content: center;
  }
}
#lp #mv .mv-pep {
  position: absolute;
  display: block;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-pep {
    position: relative;
  }
}
#lp #mv .mv-pep01 {
  width: min(23.5%, 300px);
  bottom: 2vw;
  left: 10%;
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-pep01 {
    left: auto;
    bottom: -2vw;
    width: 130px;
  }
}
#lp #mv .mv-pep02 {
  width: min(25.5%, 280px);
  bottom: 2vw;
  right: 10%;
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-pep02 {
    width: 110px;
    right: auto;
    bottom: -2vw;
  }
}
#lp #mv .mv-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
#lp #mv .mv-label img {
  width: min(34%, 500px);
  display: block;
  height: auto;
  margin: 0 auto;
  display: block;
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-label img {
    width: 75%;
    height: auto;
  }
}
#lp #mv .mv-btns {
  display: flex;
  justify-content: center;
  gap: 32px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 3vw 16px 0;
}
#lp #mv .mv-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(50% - 16px);
  max-width: 575px;
  height: 82px;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: opacity 0.2s ease;
  box-shadow: 3px 4px 0 #0b3f71, inset 0 2px 0 rgba(255, 255, 255, 0.25);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#lp #mv .mv-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 28px;
  width: 16px;
  height: 16px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
#lp #mv .mv-btn:hover {
  transform: translateY(3px);
  box-shadow: 0 1px 0 #0b3f71, inset 0 2px 0 rgba(255, 255, 255, 0.25);
}
#lp #mv .mv-btn--blue {
  background: #4f9dd3;
}
#lp #mv .mv-btn--blue:hover {
  background: #2f88c7;
}
#lp #mv .mv-btn--orange {
  background: linear-gradient(#f26b25 0%, #e44e00 100%);
}
#lp #mv .mv-btn--orange:hover {
  background: linear-gradient(#e85b13 0%, #c84000 100%);
}
#lp #mv .label-notes {
  z-index: 6;
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: #868686;
  text-align: right;
  margin-top: 20px;
  padding: 0 20px;
  text-indent: -1.5em;
  margin-left: 1em;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  #lp #mv .label-notes {
    text-align: left;
  }
}
@media only screen and (min-width: 1100px) and (max-width: 1399px) {
  #lp #mv .mv-pep01 {
    left: 5%;
    width: 320px;
  }
  #lp #mv .mv-pep02 {
    right: 5%;
    width: 285px;
  }
  #lp #mv .mv-label {
    bottom: 0;
  }
  #lp #mv .mv-btn {
    font-size: 28px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  #lp #mv .mv-pep01 {
    left: 4%;
    bottom: 0;
    width: 260px;
  }
  #lp #mv .mv-pep02 {
    right: 4%;
    bottom: 0;
    width: 225px;
  }
  #lp #mv .mv-btns {
    gap: 18px;
    max-width: 1000px;
  }
  #lp #mv .mv-btn {
    height: 72px;
    font-size: 25px;
  }
  #lp #mv .mv-btn::after {
    right: 24px;
    width: 14px;
    height: 14px;
    border-top-width: 4px;
    border-right-width: 4px;
  }
  #lp #mv .label-notes {
    right: 20px;
    font-size: 10px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #mv .mv-btns {
    flex-direction: column;
    gap: 12px;
    width: calc(100% - 48px);
    max-width: 340px;
    padding: 0;
  }
  #lp #mv .mv-btns.is-floating {
    position: fixed;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    z-index: 1200;
    width: calc(100% - 24px);
    max-width: 360px;
    padding: 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  }
  #lp #mv .mv-btn {
    width: 100%;
    max-width: none;
    height: 45px;
    font-size: 21px;
    padding-top: 3px;
    border-radius: 6px;
  }
  #lp #mv .mv-btn::after {
    right: 18px;
    width: 11px;
    height: 11px;
    border-top-width: 3px;
    border-right-width: 3px;
  }
  #lp #mv .label-notes {
    right: 12px;
    left: 12px;
    bottom: 6px;
    font-size: 8px;
    line-height: 1.35;
  }
}
#lp {
  /* cta */
  /* Section styles */
}
#lp section {
  font-family: "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 500;
  margin-bottom: 0px;
  padding: 0;
  opacity: 0; /* 初期状態は非表示 */
  transform: translateY(20px); /* 20px下に移動 */
  transition: opacity 0.5s ease, transform 0.5s ease; /* アニメーション設定 */
}
@media only screen and (max-width: 767px) {
  #lp section {
    padding: 1.5em 0 0;
  }
}
#lp section:last-child {
  margin-bottom: 0; /* 最後のセクションのmargin-bottomを削除 */
}
#lp {
  /* Article styles */
}
#lp {
  /*画像PCSP調整*/
}
#lp img.lpimg-pc {
  display: inline;
}
@media only screen and (max-width: 767px) {
  #lp img.lpimg-pc {
    display: none;
  }
}
#lp img.lpimg-sp {
  display: inline;
}
@media only screen and (min-width: 768px) {
  #lp img.lpimg-sp {
    display: none;
  }
}
#lp {
  /*改行調整*/
}
#lp .br-sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  #lp .br-sp {
    display: block;
  }
}
#lp .br-pc {
  display: block;
}
@media only screen and (max-width: 767px) {
  #lp .br-pc {
    display: none;
  }
}
#lp {
  /*ドット下線*/
}
#lp .dotted-uner {
  border-bottom: dotted 4px #94cee1;
}
@media only screen and (max-width: 767px) {
  #lp .dotted-uner {
    border-bottom: dotted 2px #94cee1;
  }
}
#lp {
  /*間隔調整-SPは半分の値で指定-*/
}
#lp .marginT20 {
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  #lp .marginT20 {
    margin-top: 10px;
  }
}
#lp .marginT40 {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  #lp .marginT40 {
    margin-top: 20px;
  }
}
#lp .marginB20 {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  #lp .marginB20 {
    margin-bottom: 10px;
  }
}
#lp .marginB40 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  #lp .marginB40 {
    margin-bottom: 20px;
  }
}
#lp {
  /*stress*/
}
#lp #stress {
  padding: 3em 0 1.5em 0;
}
@media only screen and (max-width: 767px) {
  #lp #stress {
    padding: 1.5em 0 0.5em 0;
  }
}
#lp #stress .tl-stress {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  #lp #stress .tl-stress {
    position: relative;
  }
}
#lp #stress .tl-stress img.stress-fukidashi-pc {
  display: inline;
  width: 180px;
}
@media only screen and (max-width: 767px) {
  #lp #stress .tl-stress img.stress-fukidashi-pc {
    display: none;
  }
}
#lp #stress .tl-stress img.stress-fukidashi-sp {
  display: inline;
  width: 25%;
  position: absolute;
  top: -1em;
  left: 1em;
}
@media only screen and (min-width: 768px) {
  #lp #stress .tl-stress img.stress-fukidashi-sp {
    display: none;
  }
}
#lp #stress .tl-stress h2 {
  font-size: 50px;
  color: #0C3F71;
  text-align: center;
  font-weight: bold;
}
@media only screen and (min-width: 1100px) {
  #lp #stress .tl-stress h2 {
    letter-spacing: -0.05em;
  }
}
#lp #stress .tl-stress h2 {
  padding: 0 2em 0 0.3em;
}
@media only screen and (max-width: 767px) {
  #lp #stress .tl-stress h2 {
    font-size: 24px;
    padding: 0;
  }
}
#lp #stress .tl-stress h2 span {
  color: #595757;
  font-size: 33px;
  display: block;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #lp #stress .tl-stress h2 span {
    font-size: 15px;
    padding-left: 2em;
  }
}
#lp #stress .tl-stress h2 strong {
  background: linear-gradient(transparent 70%, #fddb62 70%);
}
#lp #stress .img-stress {
  text-align: center;
}
#lp #stress .img-stress img {
  width: 100%;
  max-width: 880px;
}
#lp {
  /*providerInfo*/
}
#lp #providerInfo {
  background: #d6eef2;
  padding: 0;
}
#lp #providerInfo .tl-providerInfo {
  background: repeating-linear-gradient(-45deg, #c0d6d9, #c0d6d9 2px, #d6eef2 2px, #d6eef2 5px);
  padding-bottom: 0.7em;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo .tl-providerInfo {
    padding-bottom: 0.3em;
  }
}
#lp #providerInfo .tl-providerInfo h2 {
  line-height: 1;
  background: #0077AC;
  color: #fff;
  font-size: 38px;
  text-align: center;
  padding: 0.7em 0;
  font-weight: bold;
}
@media only screen and (min-width: 1100px) {
  #lp #providerInfo .tl-providerInfo h2 {
    letter-spacing: -0.04em;
  }
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo .tl-providerInfo h2 {
    font-size: 20px;
    line-height: 1.2;
    padding: 0.4em 0;
  }
}
#lp #providerInfo .tl-providerInfo h2 strong {
  color: #fddb62;
  font-size: 45px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo .tl-providerInfo h2 strong {
    font-size: 25px;
  }
}
#lp #providerInfo article {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
  padding: 2em 0 1em 0;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article {
    padding: 1em 0.5em;
    width: 90%;
  }
}
#lp #providerInfo article .tl-yakuwari {
  color: #0C3F71;
  width: 100%;
  max-width: 880px;
  font-size: 28px;
  line-height: 1;
  margin: 0 auto;
  padding: 0.2em 0em 0.5em 0;
  position: relative;
  border-bottom: dotted 4px #94cee1;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .tl-yakuwari {
    font-size: 20px;
    line-height: 1.2;
    padding: 0.2em 1.7em 0.2em 0;
    border-bottom: dotted 2px #94cee1;
  }
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .tl-yakuwari span {
    display: inline-block;
  }
}
#lp #providerInfo article .tl-yakuwari strong {
  font-size: 38px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .tl-yakuwari strong {
    font-size: 25px;
  }
}
#lp #providerInfo article .tl-yakuwari .tl-yakuwari-mome {
  position: absolute;
  top: -0.3em;
  right: 0;
  width: 80px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .tl-yakuwari .tl-yakuwari-mome {
    width: 65px;
    top: 0.8em;
    right: 1em;
  }
}
#lp #providerInfo article .cnt-yakuwari {
  width: 100%;
  max-width: 880px;
  margin: 4em auto;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-yakuwari {
    margin: 1.5em auto;
  }
}
#lp #providerInfo article .cnt-yakuwari .tl-cnt-yakuwari {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
#lp #providerInfo article .cnt-yakuwari .tl-cnt-yakuwari img {
  width: 57px;
  margin-right: 0.1em;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-yakuwari .tl-cnt-yakuwari img {
    width: 30px;
  }
}
#lp #providerInfo article .cnt-yakuwari .tl-cnt-yakuwari h3 {
  color: #0077AC;
  font-size: 33px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-yakuwari .tl-cnt-yakuwari h3 {
    font-size: 20px;
  }
}
#lp #providerInfo article .cnt-yakuwari p {
  font-size: 18px;
  padding: 0.7em 0 0.5em 0;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-yakuwari p {
    font-size: 14px;
    padding: 0.2em 0 1em 2em;
    line-height: 1.4;
  }
}
#lp #providerInfo article .cnt-yakuwari .img-yakuwari {
  border: 5px solid #efc129;
  background: #fff;
  border-radius: 15px;
  text-align: center;
  padding: 1em 1.6em;
}
#lp #providerInfo article .cnt-yakuwari .img-yakuwari img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-yakuwari .img-yakuwari {
    padding: 0.25em;
    border: 3px solid #efc129;
  }
}
#lp #providerInfo article .cnt-seigen {
  max-width: 880px;
  margin: 3em auto;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen {
    margin-bottom: 1em;
  }
}
#lp #providerInfo article .cnt-seigen .tl-cnt-seigen {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
#lp #providerInfo article .cnt-seigen .tl-cnt-seigen img {
  width: 57px;
  margin-right: 0.1em;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .tl-cnt-seigen img {
    width: 30px;
  }
}
#lp #providerInfo article .cnt-seigen .tl-cnt-seigen h3 {
  color: #0077AC;
  font-size: 33px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .tl-cnt-seigen h3 {
    font-size: 20px;
  }
}
#lp #providerInfo article .cnt-seigen p {
  font-size: 18px;
  padding: 0.7em 0 0.5em 0;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen p {
    font-size: 14px;
    padding: 0.2em 0 1em 2em;
    line-height: 1.4;
  }
}
#lp #providerInfo article .cnt-seigen .teika {
  border: 5px solid #efc129;
  background: #fff;
  border-radius: 15px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika {
    border: 3px solid #efc129;
  }
}
#lp #providerInfo article .cnt-seigen .teika .tl-teika {
  display: flex;
  flex-direction: row;
  justify-content: center;
  background: #fff5d2;
  border-radius: 12px 12px 0 0;
}
#lp #providerInfo article .cnt-seigen .teika .tl-teika img {
  width: 48px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .tl-teika img {
    width: 25px;
    margin-left: -0.5em;
  }
}
#lp #providerInfo article .cnt-seigen .teika .tl-teika h4 {
  color: #0C3F71;
  font-size: 20px;
  line-height: 1.3;
  text-align: center;
  padding: 0.6em 0 0.4em 2em;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .tl-teika h4 {
    font-size: 13px;
    padding: 0.6em 0 0.4em 1em;
  }
}
#lp #providerInfo article .cnt-seigen .teika .tl-teika h4 strong {
  font-size: 33px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .tl-teika h4 strong {
    font-size: 20px;
  }
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .teika-inner {
    flex-direction: column;
  }
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt {
  background: #f5f5f5;
  border-radius: 10px;
  width: 45%;
  margin: 2em 0;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt {
    width: 94%;
    margin: 1.5em auto 0.5em auto;
  }
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt .tl-teika-inner-cnt {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt .tl-teika-inner-cnt img {
  width: 60px;
  margin: -1.5em 0.3em 0 1em;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt .tl-teika-inner-cnt img {
    margin: -1.5em 0.3em 0 -0.05em;
  }
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt .tl-teika-inner-cnt h5 {
  color: #333;
  font-size: 25px;
  line-height: 1.3;
  text-align: center;
  padding: 0.8em 0;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt .tl-teika-inner-cnt h5 {
    font-size: 20px;
  }
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt .tl-teika-inner-cnt h5 strong {
  font-size: 33px;
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt p {
  padding: 0em 1.5em 1.5em 1.5em;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt p {
    font-size: 14px;
  }
}
#lp #providerInfo article .cnt-seigen .teika .teika-inner .teika-inner-cnt p strong {
  background: linear-gradient(transparent 90%, #fddb62 90%);
}
#lp #providerInfo .kaizen {
  text-align: center;
}
#lp #providerInfo .kaizen img {
  width: 100%;
  max-width: 1115px;
  margin-bottom: 3.5em;
}
@media only screen and (max-width: 767px) {
  #lp #providerInfo .kaizen img {
    width: 90%;
    margin-bottom: 1em;
  }
}
#lp #ranking1 {
  background-color: #ffffff;
  background-image: radial-gradient(#fcefc4 13%, transparent 17%), radial-gradient(#fcefc4 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 {
    background-color: #ffffff;
    background-image: radial-gradient(#fcefc4 11%, transparent 11%), radial-gradient(#fcefc4 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
  }
}
#lp #ranking1 .wave-container {
  position: relative;
  background: #d6eef2;
}
#lp #ranking1 .wave {
  position: absolute;
  height: 65px;
  width: 100%;
  background: #d6eef2;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 .wave {
    height: 25px;
  }
}
#lp #ranking1 .wave::before, #lp #ranking1 .wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100% 50%;
}
#lp #ranking1 .wave::before {
  width: 55%;
  height: 109%;
  background-color: #fff;
  background-image: radial-gradient(#fcefc4 13%, transparent 17%), radial-gradient(#fcefc4 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
  right: -1.5%;
  top: 60%;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 .wave::before {
    background-color: #fff;
    background-image: radial-gradient(#fcefc4 11%, transparent 11%), radial-gradient(#fcefc4 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
  }
}
#lp #ranking1 .wave::after {
  width: 55%;
  height: 100%;
  background-color: #d6eef2;
  left: -1.5%;
  top: 40%;
}
#lp #ranking1 .catch-ranking1 {
  text-align: center;
  padding-top: 3em;
  background-image: url(/lp_plus/img/ashirai-bg01.svg);
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: 0 25%;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 .catch-ranking1 {
    background: none;
    padding-top: 1em;
  }
}
#lp #ranking1 .catch-ranking1 img {
  width: 100%;
  max-width: 850px;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 .catch-ranking1 img {
    max-width: auto;
    width: 96%;
  }
}
#lp #ranking1 article {
  background-image: url(/lp_plus/img/ashirai-bg01.svg);
  background-size: 30%;
  background-repeat: no-repeat;
  background-position: bottom right;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article {
    max-width: auto;
    width: 90%;
    background-size: 80%;
  }
}
#lp #ranking1 article .article-inner {
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  border: 5px solid rgba(255, 213, 78, 0.7);
  width: 100%;
  max-width: 830px;
  margin: 1.7em auto 0 auto;
  position: relative;
  padding: 2em;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner {
    margin: 1em auto 0 auto;
    border: 2px solid rgba(255, 213, 78, 0.7);
    border-radius: 5px;
    width: 100%;
    max-width: auto;
    padding: 0em;
  }
}
#lp #ranking1 article .article-inner .medal-icon {
  position: absolute;
  top: -1.7em;
  right: -0.7em;
  width: 220px;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner .medal-icon {
    width: 100px;
    top: -1.7em;
    right: -1.1em;
  }
}
#lp #ranking1 article .article-inner h3 {
  color: #0C3F71;
  font-size: 25px;
  line-height: 1;
  border-bottom: dotted 4px #94cee1;
  padding-bottom: 0.1em;
}
@media only screen and (min-width: 1100px) {
  #lp #ranking1 article .article-inner h3 {
    letter-spacing: -0.05em;
  }
}
#lp #ranking1 article .article-inner h3 {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner h3 {
    border-bottom: 0;
    color: #333;
    font-size: 15px;
    background: #fff1d2;
    display: block;
    padding: 0.8em;
  }
}
#lp #ranking1 article .article-inner h3 span {
  font-size: 35px;
  display: inline-block;
  margin-bottom: 0.2em;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner h3 span {
    color: #0C3F71;
    font-size: 18px;
    margin-bottom: 0em;
    margin-top: 0.5em;
  }
}
#lp #ranking1 article .article-inner h3 strong {
  font-size: 60px;
  color: #E44E00;
  display: inline-block;
  margin-top: 0.2em;
}
@media only screen and (min-width: 1100px) {
  #lp #ranking1 article .article-inner h3 strong {
    letter-spacing: -0.07em;
  }
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner h3 strong {
    font-size: 29px;
  }
}
#lp #ranking1 article .article-inner .article-inner-txt {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner .article-inner-txt {
    flex-direction: column;
  }
}
#lp #ranking1 article .article-inner .article-inner-txt p {
  font-size: 17px;
  font-weight: bold;
  padding: 1.5em 0 0;
}
@media only screen and (min-width: 1100px) {
  #lp #ranking1 article .article-inner .article-inner-txt p {
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner .article-inner-txt p {
    font-size: 14px;
    padding: 0.7em 0.9em;
    line-height: 1.5;
  }
}
#lp #ranking1 article .article-inner .article-inner-txt p strong {
  font-size: 24px;
  color: #E44E00;
  background: linear-gradient(transparent 92%, #fddb62 92%);
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner .article-inner-txt p strong {
    font-size: 18px;
  }
}
#lp #ranking1 article .article-inner .article-inner-txt .mome-ranking1 {
  text-align: right;
  align-self: flex-end;
}
#lp #ranking1 article .article-inner .article-inner-txt .mome-ranking1 img {
  width: 170px;
  margin-right: 3em;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 article .article-inner .article-inner-txt .mome-ranking1 img {
    width: 60px;
    margin-right: 1em;
    margin-top: -2em;
  }
}
#lp #ranking1 .ranking1-notes {
  font-size: 13px;
  text-align: right;
  max-width: 850px;
  width: 100%;
  margin: 0 auto;
  padding: 0.5em 0 2em 0;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 .ranking1-notes {
    font-size: 11px;
  }
}
#lp #ranking1 .cta-btn {
  padding: 1vh 0 4vh 15vw;
}
@media only screen and (max-width: 767px) {
  #lp #ranking1 .cta-btn {
    padding: 3.2em 1em 1.5em;
  }
}
#lp #specialties {
  background: #d6eef2;
  border-bottom: 6px solid #bed7dd;
}
@media only screen and (max-width: 767px) {
  #lp #specialties {
    border-bottom: 3px solid #bed7dd;
  }
}
#lp #specialties .tl-specialties {
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding-top: 3em;
}
@media only screen and (max-width: 767px) {
  #lp #specialties .tl-specialties {
    padding-top: 1em;
    position: relative;
  }
}
#lp #specialties .tl-specialties h2 {
  color: #595757;
  font-size: 25px;
  text-align: center;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #lp #specialties .tl-specialties h2 {
    font-size: 18px;
  }
}
#lp #specialties .tl-specialties h2 strong {
  color: #0C3F71;
  font-size: 45px;
  display: block;
}
@media only screen and (max-width: 767px) {
  #lp #specialties .tl-specialties h2 strong {
    font-size: 27px;
  }
}
#lp #specialties .tl-specialties img {
  width: 130px;
  margin-top: -2em;
  margin-left: -130px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties .tl-specialties img {
    position: absolute;
    width: 70px;
    margin-top: 0em;
    margin-left: 0px;
    top: 0.25em;
    left: 1em;
  }
}
#lp #specialties article {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1000px;
  margin: 2em auto;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article {
    margin: 1em auto;
  }
}
#lp #specialties article .cnt-specialties {
  width: 31%;
  border-radius: 20px;
  background: #fff;
  margin-bottom: 2em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties {
    width: 90%;
    margin: 0 auto 1.4em auto;
  }
}
#lp #specialties article .cnt-specialties img.specialties-point {
  position: absolute;
  top: -1em;
  left: -1.5em;
  width: 83px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties img.specialties-point {
    top: -1em;
    left: -1em;
    width: 65px;
  }
}
#lp #specialties article .cnt-specialties h3 {
  background: #0C3F71;
  border-radius: 18px 18px 0 0;
  color: #fff;
  font-size: 20px;
  line-height: 2.4;
  text-align: center;
  display: block;
  padding-left: 0.7em;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties h3 {
    text-align: left;
    padding-left: 3em;
    font-size: 19px;
    line-height: 2.2;
  }
}
#lp #specialties article .cnt-specialties p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 0 0.5em;
  font-size: 17px;
  font-weight: bold;
  color: #595757;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p {
    flex-direction: row-reverse;
    justify-content: space-between;
    text-align: left;
    padding: 0.75em 1.2em;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0em;
  }
}
#lp #specialties article .cnt-specialties p img {
  margin: 0.7em auto;
  display: inline;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p img {
    margin: 0;
  }
}
#lp #specialties article .cnt-specialties p img.specialties-img01 {
  /*width: 170px;*/
  width: auto;
  height: 120px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p img.specialties-img01 {
    width: 80px;
    height: auto;
  }
}
#lp #specialties article .cnt-specialties p img.specialties-img02 {
  /*width: 170px;*/
  width: auto;
  height: 120px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p img.specialties-img02 {
    width: 80px;
    height: auto;
  }
}
#lp #specialties article .cnt-specialties p img.specialties-img03-pc {
  /*width: 210px;*/
  width: auto;
  height: 120px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p img.specialties-img03-pc {
    display: none;
  }
}
#lp #specialties article .cnt-specialties p img.specialties-img03-sp {
  /*width: 210px;*/
  height: auto;
  width: 100px;
}
@media only screen and (min-width: 768px) {
  #lp #specialties article .cnt-specialties p img.specialties-img03-sp {
    display: none;
  }
}
#lp #specialties article .cnt-specialties p img.specialties-img04 {
  /*width: 115px;*/
  width: auto;
  height: 120px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p img.specialties-img04 {
    width: 80px;
    height: auto;
  }
}
#lp #specialties article .cnt-specialties p img.specialties-img05 {
  /*width: 155px;*/
  width: auto;
  height: 120px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p img.specialties-img05 {
    width: 80px;
    height: auto;
  }
}
#lp #specialties article .cnt-specialties p img.specialties-img06 {
  /*width: 140px;*/
  width: auto;
  height: 120px;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p img.specialties-img06 {
    width: 80px;
    height: auto;
  }
}
#lp #specialties article .cnt-specialties p span {
  display: block;
  margin: 0 auto 1em auto;
}
@media only screen and (max-width: 767px) {
  #lp #specialties article .cnt-specialties p span {
    margin: 0;
  }
}
#lp #price {
  padding: 2em 0;
  background-image: url(/lp_plus/img/ashirai-bg01.svg);
  background-size: 35%;
  background-repeat: no-repeat;
  background-position: top left;
  border-bottom: 6px solid #bed7dd;
}
@media only screen and (max-width: 767px) {
  #lp #price {
    padding: 30px 0 !important;
    border-bottom: 3px solid #bed7dd;
    background-size: 45%;
  }
}
#lp #price .asterisk {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 1em;
  padding-left: 1.5em;
  list-style: none;
}
#lp #price .asterisk li {
  color: #646464;
  text-indent: -1em;
  font-size: 13px;
}
#lp #price .asterisk ul {
  list-style: none;
  padding-left: 1em;
  margin: 0.5em 0em;
}
#lp #price .asterisk ul li {
  text-indent: -1em;
  color: #646464;
  font-size: 13px;
}
#lp #price h2 {
  font-size: 45px;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  color: #0C3F71;
  margin-bottom: 0.15em;
}
@media only screen and (max-width: 767px) {
  #lp #price h2 {
    font-size: 27px;
    margin-bottom: 0.05em;
  }
}
#lp #price h2 img {
  width: 60px;
}
@media only screen and (max-width: 767px) {
  #lp #price h2 img {
    width: 40px;
  }
}
#lp #price article {
  background-image: url(/lp_plus/img/ashirai-bg01.svg);
  background-size: 35%;
  background-repeat: no-repeat;
  background-position: bottom right;
}
@media only screen and (max-width: 767px) {
  #lp #price article {
    background-size: 45%;
  }
}
#lp #price article h3 {
  text-align: center;
}
#lp #price article h3 img {
  width: 100%;
  max-width: 1000px;
}
#lp #price article h4 {
  font-size: 26px;
  color: #333;
  text-align: center;
  padding: 0.8em 0 0.5em 0;
}
#lp #price article h4 span {
  background: linear-gradient(transparent 80%, #fddb62 80%);
}
@media only screen and (max-width: 767px) {
  #lp #price article h4 {
    font-size: 21px;
    padding: 0.5em 0 0.25em 0;
  }
}
#lp #price article .price-inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner {
    flex-direction: column;
    width: 90%;
  }
}
#lp #price article .price-inner {
  /*基本接続サービス*/
}
#lp #price article .price-inner .cnt-price-kihon {
  width: 44%;
  background: #d6eef2;
  margin-bottom: 2em;
  padding: 1.25em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon {
    width: auto;
    padding: 0.75em 1.25em;
  }
}
#lp #price article .price-inner .cnt-price-kihon h5.tl-price-kihon {
  font-size: 30px;
  color: #0C3F71;
  text-align: center;
}
@media only screen and (min-width: 1100px) {
  #lp #price article .price-inner .cnt-price-kihon h5.tl-price-kihon {
    height: 80px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon h5.tl-price-kihon {
    font-size: 23px;
    margin-bottom: 0.7em;
  }
}
#lp #price article .price-inner .cnt-price-kihon h5.month-price-kihon {
  text-align: center;
  padding-bottom: 0.5em;
  border-bottom: dotted 4px #94cee1;
  line-height: 1;
  color: #333;
  font-size: 22px;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon h5.month-price-kihon {
    border-bottom: dotted 2px #94cee1;
    font-size: 18px;
  }
}
#lp #price article .price-inner .cnt-price-kihon h5.month-price-kihon strong {
  font-size: 32px;
  color: #0C3F71;
}
@media only screen and (min-width: 1100px) {
  #lp #price article .price-inner .cnt-price-kihon h5.month-price-kihon strong {
    display: inline-block;
    margin-bottom: -3px;
    margin-left: 7px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon h5.month-price-kihon strong {
    font-size: 25px;
    display: inline-block;
    margin-left: 7px;
  }
}
#lp #price article .price-inner .cnt-price-kihon h5.month-price-kihon span {
  font-size: 19px;
  color: #0C3F71;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon h5.month-price-kihon span {
    font-size: 14px;
  }
}
#lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner {
  background-color: #fff;
  background-image: radial-gradient(#fcefc4 13%, transparent 17%), radial-gradient(#fcefc4 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
  position: relative;
  border-radius: 20px;
}
@media only screen and (min-width: 1100px) {
  #lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner {
    height: 170px;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner {
    background-color: #fff;
    background-image: radial-gradient(#fcefc4 11%, transparent 11%), radial-gradient(#fcefc4 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
    border-radius: 10px;
  }
}
#lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner h6 {
  background: #0077AC;
  color: #fff;
  width: 50%;
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 5;
  font-size: 18px;
  text-align: center;
  border-radius: 20px;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner h6 {
    font-size: 17px;
    width: 68%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  #lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner h6 {
    width: 68%;
  }
}
#lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner .img-price-kihon {
  text-align: center;
  padding: 2em 0 1em 0;
}
#lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner .img-price-kihon img {
  width: 60%;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner .img-price-kihon img {
    width: 70%;
  }
}
#lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner .txt-price-kihon {
  color: #333;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  line-height: 1.25;
  padding-bottom: 1em;
  margin-bottom: 1.15em;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner .txt-price-kihon {
    font-size: 14px;
    padding-right: 0.25em;
    padding-left: 0.25em;
  }
}
#lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner .txt-price-kihon strong {
  font-size: 23px;
  color: #0C3F71;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-kihon .cnt-price-kihon-inner .txt-price-kihon strong {
    font-size: 16px;
  }
}
#lp #price article .price-inner {
  /*基本接続サービスここまで*/
  /*基本+IP*/
}
#lp #price article .price-inner .cnt-price-ip {
  width: 44%;
  background: #ebf2f6;
  margin-bottom: 2em;
  padding: 1.25em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip {
    width: auto;
  }
}
#lp #price article .price-inner .cnt-price-ip h5.tl-price-ip {
  font-size: 17px;
  color: #0C3F71;
  text-align: center;
}
@media only screen and (min-width: 1100px) {
  #lp #price article .price-inner .cnt-price-ip h5.tl-price-ip {
    height: 70px;
    padding-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip h5.tl-price-ip {
    font-size: 14px;
    margin-bottom: 1.6em;
  }
}
#lp #price article .price-inner .cnt-price-ip h5.tl-price-ip span {
  font-size: 22px;
  line-height: 1.65;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip h5.tl-price-ip span {
    font-size: 17px;
  }
}
#lp #price article .price-inner .cnt-price-ip h5.month-price-ip {
  text-align: center;
  padding-bottom: 0.5em;
  border-bottom: dotted 4px #94cee1;
  line-height: 1;
  color: #333;
  font-size: 22px;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip h5.month-price-ip {
    border-bottom: dotted 2px #94cee1;
    font-size: 18px;
  }
}
#lp #price article .price-inner .cnt-price-ip h5.month-price-ip strong {
  font-size: 32px;
  color: #0C3F71;
}
@media only screen and (min-width: 1100px) {
  #lp #price article .price-inner .cnt-price-ip h5.month-price-ip strong {
    display: inline-block;
    margin-bottom: -3px;
    margin-left: 7px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip h5.month-price-ip strong {
    font-size: 25px;
    display: inline-block;
    margin-left: 7px;
  }
}
#lp #price article .price-inner .cnt-price-ip h5.month-price-ip span {
  font-size: 19px;
  color: #0C3F71;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip h5.month-price-ip span {
    font-size: 14px;
  }
}
#lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner {
  background-color: #fff;
  background-image: radial-gradient(#fcefc4 13%, transparent 17%), radial-gradient(#fcefc4 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
  position: relative;
  border-radius: 20px;
}
@media only screen and (min-width: 1100px) {
  #lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner {
    height: 170px;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner {
    background-color: #fff;
    background-image: radial-gradient(#fcefc4 11%, transparent 11%), radial-gradient(#fcefc4 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
    border-radius: 10px;
  }
}
#lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner h6 {
  background: #0077AC;
  color: #fff;
  width: 50%;
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 5;
  font-size: 18px;
  text-align: center;
  border-radius: 20px;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner h6 {
    font-size: 17px;
    width: 68%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  #lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner h6 {
    width: 68%;
  }
}
#lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner .img-price-ip {
  text-align: center;
  padding: 1.5em 0 0.8em 0;
}
#lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner .img-price-ip img {
  width: 17%;
}
#lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner .txt-price-ip {
  color: #333;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  line-height: 1.25;
  padding-bottom: 1em;
  margin-bottom: 1.15em;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner .txt-price-ip {
    font-size: 14px;
  }
}
#lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner .txt-price-ip strong {
  font-size: 23px;
  color: #0C3F71;
}
@media only screen and (max-width: 767px) {
  #lp #price article .price-inner .cnt-price-ip .cnt-price-ip-inner .txt-price-ip strong {
    font-size: 17px;
  }
}
#lp #price article .price-inner {
  /*基本+IPここまで*/
}
#lp #campaign {
  padding: 4em 0 2em 0;
  background: #efc129;
  background-image: url(/lp_plus/img/twinkle.svg);
  background-size: 1300px;
  background-repeat: no-repeat;
  background-position: top;
}
@media only screen and (max-width: 767px) {
  #lp #campaign {
    background-size: 100%;
    padding: 1.7em 0 2em 0;
  }
}
#lp #campaign article {
  border: 5px solid #ffe17e;
  background: #fff;
  max-width: 900px;
  width: 100%;
  margin: 0 auto 4em auto;
  border-radius: 15px;
  border-radius: 10px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article {
    width: 92%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  #lp #campaign article {
    width: 88%;
    margin: 0 auto;
  }
}
#lp #campaign article img.img-campaign-fukidashi {
  width: 280px;
  position: absolute;
  top: -3em;
  left: -3em;
  z-index: 5;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article img.img-campaign-fukidashi {
    width: 45%;
    top: -1.2em;
    left: -0.5em;
  }
}
#lp #campaign article h2 {
  padding: 0.6em 0 0.4em 0;
  background-image: radial-gradient(#fcefc4 13%, transparent 17%), radial-gradient(#fcefc4 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
  position: relative;
  border-radius: 20px;
  text-align: center;
  font-size: 45px;
  color: #0C3F71;
}
@media only screen and (min-width: 1100px) {
  #lp #campaign article h2 {
    letter-spacing: -0.05em;
  }
}
#lp #campaign article h2 {
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article h2 {
    background-color: #fff;
    background-image: radial-gradient(#fcefc4 11%, transparent 11%), radial-gradient(#fcefc4 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
    border-radius: 10px;
    font-size: 26px;
    padding: 1em 0 0.4em 0;
  }
}
#lp #campaign article h2 strong {
  font-size: 70px;
  color: #E44E00;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article h2 strong {
    font-size: 40px;
  }
}
@media only screen and (max-width: 767px) {
  #lp #campaign article h2 span {
    display: block;
    text-align: right;
    padding-right: 1em;
  }
}
#lp #campaign article .campaign-inner {
  width: 86%;
  margin: 0 auto;
  padding-bottom: 1.8em;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article .campaign-inner {
    width: 94%;
  }
}
#lp #campaign article .campaign-inner h3 {
  margin-bottom: 1.3em;
}
#lp #campaign article .campaign-inner .ribbon-wrapper {
  display: block;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
#lp #campaign article .campaign-inner .ribbon {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 10px;
  margin: 0;
  padding: 10px 0;
  z-index: 2;
  width: 23px;
  text-align: center;
  font-size: 17px;
  color: white;
  background: #E44E00;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article .campaign-inner .ribbon {
    width: 20px;
  }
}
#lp #campaign article .campaign-inner .ribbon:after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 11px solid #E44E00;
  border-right: 12px solid #E44E00;
  border-bottom: 10px solid transparent;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article .campaign-inner .ribbon:after {
    border-left: 10px solid #E44E00;
    border-right: 10px solid #E44E00;
    border-bottom: 8px solid transparent;
  }
}
#lp #campaign article .campaign-inner h4 {
  font-size: 28px;
  line-height: 1.4;
  color: #0C3F71;
  padding-left: 1.6em;
}
@media only screen and (min-width: 1100px) {
  #lp #campaign article .campaign-inner h4 {
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 767px) {
  #lp #campaign article .campaign-inner h4 {
    font-size: 20px;
    padding-left: 1.8em;
  }
}
#lp #campaign article .campaign-inner p.campaign-bnr {
  padding: 1em 0 0.4em 0;
  text-align: center;
}
#lp #campaign article .campaign-inner p.campaign-bnr img {
  width: 80%;
}
@media only screen and (max-width: 767px) {
  #lp #campaign article .campaign-inner p.campaign-bnr img {
    width: 100%;
  }
}
#lp #campaign article .campaign-inner p {
  font-size: 13px;
  margin-bottom: 2em;
}
#lp #campaign li {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  #lp #campaign li {
    font-size: 14px;
  }
}
#lp {
  /* アコーディオンのスタイル */
}
#lp .accordion {
  background-color: #bed7dd;
  color: #0C3F71;
  cursor: pointer;
  padding: 0.3em 1em;
  font-weight: bold;
  font-size: 20px;
  width: 100%;
  text-align: center;
  border: none;
  outline: none;
  transition: background-color 0.3s;
  font-family: "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, Helvetica, Verdana, sans-serif;
}
#lp {
  /* アコーディオンのアクティブな状態のスタイル */
}
#lp .active, #lp .accordion:hover {
  background-color: #ddd;
}
#lp {
  /* アコーディオンの中身のスタイル */
}
#lp .panel {
  padding: 0 1em;
  background-color: #f5f5f5;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
@media only screen and (max-width: 767px) {
  #lp .panel {
    padding: 0 1em;
  }
}
#lp .panel p {
  color: #0C3F71;
  font-size: 15px !important;
  margin: 0;
  padding: 1.3em 1.5em 0em 1.5em;
}
@media only screen and (max-width: 767px) {
  #lp .panel p {
    font-size: 14px;
    padding: 1em 0 0 0;
  }
}
#lp .panel p a {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  color: #c84000;
}
#lp .panel p a:hover {
  color: #0389C4;
}
#lp .panel .acd-img-trial-pc {
  width: 94%;
  margin: 1em auto;
  display: block;
}
@media only screen and (max-width: 767px) {
  #lp .panel .acd-img-trial-pc {
    display: none;
  }
}
#lp .panel .acd-img-trial-sp {
  width: 94%;
  margin: 1em auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  #lp .panel .acd-img-trial-sp {
    display: none;
  }
}
#lp .panel ul {
  padding: 0 3em 1em 3em;
}
@media only screen and (max-width: 767px) {
  #lp .panel ul {
    padding: 0 1em;
  }
}
#lp .panel ul ul {
  padding: 0 1.5em;
}
@media only screen and (max-width: 767px) {
  #lp .panel ul ul {
    padding: 0 0 0 1em;
  }
}
#lp {
  /* プラス記号のスタイル */
}
#lp .plus {
  float: right;
}
#lp {
  /*step*/
}
#lp #easy3step {
  background-color: #bed7dd;
  padding: 4em 0;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step {
    padding: 1.5em 0;
  }
}
#lp #easy3step h2 {
  background-color: #0C3F71;
  color: #fff;
  font-size: 45px;
  text-align: center;
  border-radius: 40px;
  line-height: 1;
  padding: 0.5em 0;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 1em auto;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step h2 {
    font-size: 27px;
    width: 96%;
  }
}
#lp #easy3step h2 strong {
  font-size: 40px;
  color: #fddb62;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step h2 strong {
    font-size: 25px;
    display: block;
  }
}
#lp #easy3step article {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article {
    flex-direction: column;
    width: 96%;
    margin-right: 4%;
    justify-content: center;
  }
}
#lp #easy3step article .article-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner {
    flex-direction: column;
    width: 96%;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step {
  background: #fff;
  border-radius: 20px;
  border-radius: 10px;
  padding: 1em;
  width: 27%;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step {
    width: 78%;
    margin-left: 2em;
    margin-bottom: 1.8em;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step strong {
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -1em;
  background: #ffe17e;
  width: 45%;
  padding: 0.4em 0;
  text-align: center;
  border-left: 5px solid #efc129;
  font-style: italic;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  color: #0C3F71;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step strong {
    left: -11em;
    top: -0.7em;
    font-size: 16px;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step strong span {
  font-size: 25px;
  line-height: 1;
  display: inline-block;
  margin-bottom: -2px;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step strong span {
    font-size: 23px;
    margin-bottom: -2px;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step h3 {
  font-size: 20px;
  padding-top: 0.7em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step h3 {
    font-size: 16px;
    text-align: left;
    position: relative;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step h3 span {
  background: linear-gradient(transparent 90%, #fddb62 90%);
}
#lp #easy3step article .article-inner .cnt-easy3step p {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step p {
    font-size: 14px;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step img.easy3step-1 {
  width: auto;
  height: 85px;
  display: block;
  margin: 1em auto;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step img.easy3step-1 {
    position: absolute;
    top: 1.5em;
    right: 1.5em;
    height: 30px;
    margin: 0;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step img.easy3step-2 {
  width: auto;
  height: 85px;
  display: block;
  margin: 1em auto;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step img.easy3step-2 {
    position: absolute;
    top: 1.5em;
    right: 1.5em;
    height: 36px;
    margin: 0;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step img.easy3step-3 {
  width: auto;
  height: 70px;
  display: block;
  margin: 1.3em auto;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step img.easy3step-3 {
    position: absolute;
    top: 1.5em;
    right: 1.5em;
    height: 30px;
    margin: 0;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step-end {
  background: #fff5d2;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .article-inner .cnt-easy3step-end {
    margin-bottom: 0em;
  }
}
#lp #easy3step article .article-inner .cnt-easy3step-end strong {
  background: #efc129;
  border-color: #ffe17e;
}
#lp #easy3step article .article-inner .cnt-easy3step-end h3 span {
  background: linear-gradient(transparent 90%, #efc129 90%);
}
#lp #easy3step article .step-arrow {
  display: flex;
  position: relative;
  width: 97%;
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  background: #448FC1;
  margin-top: 1em;
  margin-bottom: 2em;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .step-arrow {
    width: 10%;
    margin-top: 0em;
    margin-bottom: 1em;
  }
}
#lp #easy3step article .step-arrow p {
  text-align: center;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .step-arrow p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}
#lp #easy3step article .step-arrow::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 30px solid transparent;
  border-right: 0 solid transparent;
  border-left: 30px solid #448FC1;
  border-bottom: 30px solid transparent;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  #lp #easy3step article .step-arrow::after {
    position: absolute;
    top: auto;
    bottom: -1em;
    right: -0.6em;
    width: 0;
    height: 0;
    margin: 0;
    border-top: 30px solid #448FC1;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-bottom: 0 solid transparent;
    transform: translateY(1px);
    box-sizing: border-box;
  }
}
#lp #easy3step article .step-arrow {
  /* Firefox */
}
@-moz-document url-prefix() {
  #lp #easy3step article .step-arrow::after {
    top: -35%;
    bottom: auto;
  }
}
#lp #faq {
  background-color: #fff;
}
#lp #faq .wave-container {
  position: relative;
  background: #bed7dd;
}
#lp #faq .wave {
  position: absolute;
  height: 65px;
  width: 100%;
  background: #bed7dd;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  #lp #faq .wave {
    height: 25px;
  }
}
#lp #faq .wave::before, #lp #faq .wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100% 50%;
}
#lp #faq .wave::before {
  width: 55%;
  height: 109%;
  background-color: #fff;
  right: -1.5%;
  top: 60%;
}
@media only screen and (max-width: 767px) {
  #lp #faq .wave::before {
    background-color: #fff;
  }
}
#lp #faq .wave::after {
  width: 55%;
  height: 100%;
  background-color: #bed7dd;
  left: -1.5%;
  top: 40%;
}
#lp #faq article {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
  padding: 2.6em 0 1em 0;
}
@media only screen and (max-width: 767px) {
  #lp #faq article {
    padding: 1em 0.5em;
    width: 90%;
  }
}
#lp #faq article h2 {
  font-size: 45px;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  color: #0C3F71;
  margin-bottom: 0.7em;
}
@media only screen and (min-width: 1100px) {
  #lp #faq article h2 {
    letter-spacing: -0.05em;
  }
}
@media only screen and (max-width: 767px) {
  #lp #faq article h2 {
    font-size: 27px;
    margin-bottom: 0.5em;
  }
}
#lp #faq article h2 img {
  width: 60px;
  margin: 0.3em 0 0 0.3em;
}
@media only screen and (max-width: 767px) {
  #lp #faq article h2 img {
    width: 40px;
  }
}
#lp #faq article h2 span {
  border-bottom: dotted 4px #94cee1;
}
@media only screen and (max-width: 767px) {
  #lp #faq article h2 span {
    border-bottom: dotted 2px #94cee1;
  }
}
#lp #faq {
  /*FAQ*/
}
#lp #faq .accordion {
  background-color: #f5f5f5;
  color: #333;
  cursor: pointer;
  margin-bottom: 1.5em;
  padding: 0.3em 3em 0.3em 3.25em;
  text-indent: -2.4em;
  font-weight: bold;
  font-size: 17px;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  transition: background-color 0.3s;
  font-family: "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, Helvetica, Verdana, sans-serif;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #faq .accordion {
    font-size: 14px;
    padding: 0.3em 1.5em 0.3em 2em;
    text-indent: -1.5em;
    margin-bottom: 1em;
  }
}
#lp #faq .accordion::before {
  content: "";
  display: inline-block;
  margin-right: 0px;
  width: 40px;
  height: 40px;
  background-image: url(/lp_plus/img/q.svg);
  background-size: contain;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  #lp #faq .accordion::before {
    margin-right: 0px;
    width: 20px;
    height: 20px;
  }
}
#lp #faq {
  /* アコーディオンのアクティブな状態のスタイル */
}
#lp #faq .active, #lp #faq .accordion:hover {
  background-color: #ddd;
}
#lp #faq {
  /* アコーディオンの中身のスタイル */
}
#lp #faq .panel {
  padding: 0 1em;
  background-color: #fff;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
@media only screen and (max-width: 767px) {
  #lp #faq .panel {
    padding: 0 1em;
  }
}
#lp #faq .panel p {
  color: #0C3F71;
  font-size: 15px;
  margin: 0;
  padding: 0em 1.5em 1.7em 1.5em;
}
@media only screen and (max-width: 767px) {
  #lp #faq .panel p {
    font-size: 14px;
    padding: 0em 0.5em 1em 0.5em;
  }
}
#lp #faq .panel ul {
  padding: 0 3em;
}
@media only screen and (max-width: 767px) {
  #lp #faq .panel ul {
    padding: 0 1em;
  }
}
#lp #faq .panel ul ul {
  padding: 0 1.5em;
}
@media only screen and (max-width: 767px) {
  #lp #faq .panel ul ul {
    padding: 0 0 0 1em;
  }
}
#lp #faq {
  /* プラス記号のスタイル */
}
#lp #faq .plus {
  position: absolute;
  top: 0.15em;
  right: 0em;
  font-size: 24px;
}
#lp #user-voice {
  padding: 2em 0;
  border-top: 6px solid #bed7dd;
  background-color: #fff;
  background-image: radial-gradient(#e1f3f6 13%, transparent 17%), radial-gradient(#e1f3f6 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice {
    background-color: #fff;
    background-image: radial-gradient(#e1f3f6 11%, transparent 11%), radial-gradient(#e1f3f6 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
    padding: 1em 0;
    border-top: 3px solid #bed7dd;
  }
}
#lp #user-voice h2 {
  font-size: 45px;
  text-align: center;
  color: #0C3F71;
  margin-bottom: 0.15em;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice h2 {
    font-size: 27px;
    margin-bottom: 0.05em;
  }
}
#lp #user-voice .lead {
  text-align: center;
  color: #595757;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 1.5em;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice .lead {
    font-size: 14px;
    padding: 0 1em;
    line-height: 1.3;
    margin-bottom: 2em;
  }
}
#lp #user-voice article {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice article {
    width: 90%;
  }
}
#lp #user-voice article h3 {
  font-size: 30px;
  color: #0C3F71;
  border-bottom: 3px solid #fff5d2;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice article h3 {
    font-size: 22px;
  }
}
#lp #user-voice article h3::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 3px;
  width: 50px;
  height: 38px;
  background-image: url(/lp_plus/img/voice-wifi.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice article h3::before {
    width: 40px;
    height: 28px;
  }
}
#lp #user-voice article .hinshitsu {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice article .hinshitsu {
    flex-direction: column;
  }
}
#lp #user-voice article .hinshitsu .hinshitsu-notes {
  font-size: 12px;
  text-align: right;
  color: #595757;
  width: 100%;
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu {
  width: 45%;
  padding: 1em 0;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice article .hinshitsu .cnt-hinshitsu {
    width: 100%;
    padding: 0.5em 0;
  }
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu h4 {
  color: #595757;
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 1em;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice article .hinshitsu .cnt-hinshitsu h4 {
    font-size: 16px;
    margin-bottom: 0.3em;
  }
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu {
  /*table*/
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu .table-hinshitsu {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid #bed7dd;
  border-left: 2px solid #bed7dd;
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu .table-hinshitsu th, #lp #user-voice article .hinshitsu .cnt-hinshitsu .table-hinshitsu td {
  padding: 8px;
  text-align: left;
  border-bottom: 2px solid #bed7dd;
  border-right: 2px solid #bed7dd;
  font-weight: bold;
  width: 50%;
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu .table-hinshitsu th {
  background-color: #d6eef2;
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu .table-hinshitsu td {
  color: #0C3F71;
  background-color: #fff;
}
#lp #user-voice article .hinshitsu .cnt-hinshitsu {
  /*tableここまで*/
}
#lp #user-voice {
  /*comment*/
}
#lp #user-voice #part-comment {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
}
#lp #user-voice #part-comment h3 {
  font-size: 30px;
  color: #0C3F71;
  border-bottom: 3px solid #fff5d2;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment h3 {
    font-size: 22px;
    width: 90%;
    margin: 0 auto;
  }
}
#lp #user-voice #part-comment h3::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 3px;
  width: 40px;
  height: 40px;
  background-image: url(/lp_plus/img/voice-note.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment h3::before {
    width: 23px;
    height: 23px;
  }
}
#lp #user-voice #part-comment .commentList {
  max-height: 600px;
  padding: 1.5em;
  margin-top: 1em;
  overflow-y: auto;
  direction: ltr;
  scrollbar-color: #0077AC #e4e4e4;
  scrollbar-width: thin;
  background: #d6eef2;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .commentList {
    margin-top: 0.5em;
    max-height: 360px;
    padding: 0.5em;
  }
}
#lp #user-voice #part-comment .commentList::-webkit-scrollbar {
  width: 10px;
}
#lp #user-voice #part-comment .commentList::-webkit-scrollbar-track {
  background-color: #e4e4e4;
  border-radius: 100px;
}
#lp #user-voice #part-comment .commentList::-webkit-scrollbar-thumb {
  border-radius: 100px;
  background-image: linear-gradient(180deg, #000 0%, #000 99%);
}
#lp #user-voice #part-comment .comment-box {
  border-radius: 15px;
  background: #fff;
  padding: 0.7em;
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box {
    padding: 5px;
    border-radius: 8px;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner {
  position: relative;
  border-radius: 10px;
  background: #fff;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-height: 220px;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner {
    border-radius: 5px;
    justify-content: flex-start;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .user {
  width: 20%;
  position: absolute;
  top: 10%;
  left: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  font-size: 15px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .user {
    width: 25%;
    font-size: 11px;
    padding-top: 1.5em;
    position: relative;
    align-self: flex-start;
    line-height: 1.3;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .user img {
  width: 60%;
  margin: 0 auto 0.5em auto;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .user img {
    width: 70%;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment {
  width: 80%;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment {
    width: 70%;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment dl.review {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 0.8em;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment dl.review {
    flex-direction: column;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment dl.review dt {
  background: #fff5d2;
  font-size: 16px;
  width: auto;
  padding: 0.4em;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment dl.review dt {
    font-size: 13px;
    padding: 0.25em 0.15em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment dl.review dt {
    font-size: 14px;
    padding: 0.15em 0.15em 0.15em 1em;
    width: 37%;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment dl.review dd {
  font-size: 15px;
  width: auto;
  padding: 0.25em 0.25em 0.25em 0.8em;
  line-height: 1.3;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .user-comment dl.review dd {
    width: 100%;
    font-size: 14px;
    padding: 0.25em 0.5em;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .speed {
  width: 80%;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .speed {
    width: 100%;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  background: #f5f5f5;
  border: 3px solid #bed7dd;
  width: 70%;
  padding: 1em;
  margin: 0.8em 0 1em 0;
  border-radius: 3px;
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl {
    width: 90%;
    padding: 0.5em;
    display: block;
    margin: 0.5em auto;
    border: 1px solid #bed7dd;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dt {
  width: 22%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #0077AC;
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dt {
    justify-content: flex-end;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dt p {
  text-align: center;
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dt img {
  width: 47px;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dt img {
    width: 30px;
    margin: 0 0.5em 0 0;
  }
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dt {
    width: auto;
    flex-direction: row-reverse;
  }
}
#lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dd {
  width: 77%;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .comment-box .comment-box-inner .speed dl dd {
    width: 100%;
    text-align: left !important;
  }
}
#lp #user-voice #part-comment .asterisk {
  padding-top: 1.5em;
  padding-left: 2.5em;
  font-size: 15px;
  text-align: right;
  color: #C8DFEC;
}
@media only screen and (max-width: 767px) {
  #lp #user-voice #part-comment .asterisk {
    font-size: 12px;
    padding: 0.5em 0 0 0.5em;
  }
}
#lp #lp-end {
  background-color: #fff;
  background-image: radial-gradient(#e1f3f6 13%, transparent 17%), radial-gradient(#e1f3f6 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end {
    background-color: #fff;
    background-image: radial-gradient(#e1f3f6 11%, transparent 11%), radial-gradient(#e1f3f6 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
  }
}
#lp #lp-end .wave-container {
  position: relative;
  background: #d6eef2;
}
#lp #lp-end .wave {
  position: absolute;
  height: 65px;
  width: 100%;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end .wave {
    height: 25px;
  }
}
#lp #lp-end .wave::before, #lp #lp-end .wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100% 50%;
}
#lp #lp-end .wave::before {
  width: 55%;
  height: 109%;
  background-color: #d6eef2;
  right: -1.5%;
  top: 60%;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end .wave::before {
    background-color: #d6eef2;
  }
}
#lp #lp-end .wave::after {
  width: 55%;
  height: 100%;
  left: -1.5%;
  top: 40%;
  background-color: #fff;
  background-image: radial-gradient(#e1f3f6 13%, transparent 17%), radial-gradient(#e1f3f6 13%, transparent 17%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end .wave::after {
    background-color: #fff;
    background-image: radial-gradient(#e1f3f6 11%, transparent 11%), radial-gradient(#e1f3f6 11%, transparent 11%);
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
  }
}
#lp #lp-end #img-lp-end {
  padding: 5em 0 3em 0;
  background-color: #d6eef2;
  background-image: url(/lp_plus/img/mv-bg-left.svg);
  background-size: 20%;
  background-repeat: no-repeat;
  background-position: top left;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end #img-lp-end {
    background-size: 30%;
    padding: 0.7em 0;
    background-image: url(/lp_plus/img/mv-bg-left-sp.svg);
  }
}
#lp #lp-end #img-lp-end .img-lp-end-inner {
  background-image: url(/lp_plus/img/mv-bg-right.svg);
  background-size: 25%;
  background-repeat: no-repeat;
  background-position: bottom right;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end #img-lp-end .img-lp-end-inner {
    position: relative;
    background-size: 70%;
  }
}
#lp #lp-end #img-lp-end h2 {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end #img-lp-end h2 {
    padding-top: 0.5em;
  }
}
#lp #lp-end #img-lp-end img.img-lp-end-pc {
  width: 80%;
  max-width: 1200px;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end #img-lp-end img.img-lp-end-pc {
    display: none;
  }
}
#lp #lp-end #img-lp-end img.img-lp-end-sp {
  width: 96%;
}
@media only screen and (min-width: 768px) {
  #lp #lp-end #img-lp-end img.img-lp-end-sp {
    display: none;
  }
}
#lp #lp-end .label-notes {
  font-size: 12px;
  text-align: right;
  width: 70%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end .label-notes {
    font-size: 10px;
    position: absolute;
    top: 54%;
    right: 32%;
    text-align: right;
    z-index: 1000;
    width: 37%;
    line-height: 1.3;
  }
}
#lp #lp-end .asterisk {
  padding-bottom: 1em;
  padding-left: 1em;
  list-style: none;
}
#lp #lp-end .asterisk li {
  color: #646464;
  text-indent: -1em;
  font-size: 13px;
}
#lp #lp-end .asterisk ul {
  list-style: none;
  padding-left: 1em;
  margin: 0.5em 0em;
}
#lp #lp-end .asterisk ul li {
  text-indent: -1em;
  color: #646464;
  font-size: 13px;
}
#lp #lp-end .cta-btn {
  margin-top: 3.5em;
  margin-bottom: 1.3em;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end .cta-btn {
    margin-top: 0em;
  }
}
#lp #lp-end article {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  border: 2px solid #acbdc0;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end article {
    width: 90%;
  }
}
#lp #lp-end article h3 {
  background: #f5f5f5;
  color: #646464;
  font-size: 19px;
  font-weight: bold;
  text-align: center;
}
#lp #lp-end article h3::before {
  content: "";
  display: inline-block;
  width: 50px;
  height: 58px;
  background-image: url(/lp_plus/img/tl-caution.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  #lp #lp-end article h3::before {
    width: 25px;
    height: 21px;
  }
}
#lp #lp-end article ul {
  list-style-type: none;
  padding: 0.7em 1.2em;
}
#lp #lp-end article ul li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 13px;
}

.flow-of-usage {
  background-color: #fff;
  width: 100%;
  text-align: center;
  padding: 7vh 0 4vh 0;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage {
    padding: 4vh 0 2.5vh 0;
  }
}
.flow-of-usage article.before-you-apply {
  max-width: 1000px;
  width: 96%;
  margin: 4vh auto !important;
  padding: 0 0 0.6em 0;
  background: #fff;
  border-radius: 10px;
  border: 2px solid #e8eef1;
}
.flow-of-usage article.before-you-apply h3 {
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  background: #e8eef1;
  border-radius: 9px 9px 0px 0px;
  padding: 1em 0;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply h3 {
    padding: 0.3em 0;
    line-height: 1.7;
  }
}
.flow-of-usage article.before-you-apply h3 span {
  display: block;
  color: #175796;
  font-size: 30px;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply h3 span {
    font-size: 24px;
  }
}
.flow-of-usage article.before-you-apply h3 img {
  display: block;
  margin-right: 0.5em;
  width: 46px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply h3 img {
    width: 30px;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner {
  padding: 1em 1.25em 1em 1.25em;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner {
    padding: 1em 1.25em 0em 1.25em;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner h4 {
  color: #0C3F71;
  font-size: 20px;
  text-indent: -1.25em;
  padding-left: 1.25em;
  margin-bottom: 0.15em;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner h4 {
    font-size: 16px;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list {
    flex-direction: column;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box {
  width: 32%;
  border-radius: 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  position: relative;
  background: #b9dbef;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box {
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    background: linear-gradient(90deg, rgb(185, 219, 239) 0%, rgb(185, 219, 239) 19%, rgb(232, 238, 241) 19%, rgb(232, 238, 241) 100%);
    margin-bottom: 1em;
    align-items: center;
    height: auto;
    min-height: 10vh;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box h5 {
  font-size: 16px;
  color: #175796;
  padding: 0.7em;
  border-radius: 0 0 7px 7px;
  height: auto;
  min-height: 3vh;
  letter-spacing: -0.01em;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box h5 {
    height: auto;
    font-size: 15px;
    text-align: left;
    border-radius: 0 7px 7px 0;
    width: 80%;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box p {
  background: #e8eef1;
  height: 13vh;
  border-radius: 7px 7px 0 0;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box p {
    background: transparent;
    border-radius: 7px 0 0 7px;
    height: auto;
    min-height: 10vh;
    width: 20%;
    position: relative;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box p img {
  display: block;
  margin: 0 auto;
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-keiyaku {
  width: 60px;
  height: auto;
  margin-top: 2.2vh;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-keiyaku {
    width: 35px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-taiokiki {
  width: 78px;
  height: auto;
  margin-top: 1.7vh;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-taiokiki {
    width: 40px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-ipv6service {
  width: 85px;
  height: auto;
  margin-top: 1.7vh;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-ipv6service {
    width: 40px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-ntt {
  width: 53px;
  height: auto;
  margin-top: 2.5vh;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-ntt {
    width: 35px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-koza {
  width: 106px;
  height: auto;
  margin-top: 3.5vh;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-koza {
    width: 40px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
.flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-mail {
  width: 83px;
  height: auto;
  margin-top: 2.8vh;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.before-you-apply .before-you-apply-inner .flow-list .flow-box img.img-flow-mail {
    width: 40px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
.flow-of-usage article.flow-tab {
  width: 100%;
  max-width: 1000px;
  margin: 8vh auto 4vh auto !important;
  display: block !important;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.flow-tab {
    width: 96%;
    margin: 3vh auto 2vh auto;
  }
}
.flow-of-usage article.flow-tab .tabs {
  display: flex;
  justify-content: space-between;
  border-bottom: 0px;
  margin-top: 3.8vh;
}
.flow-of-usage article.flow-tab .tabs label {
  flex: 1;
  margin-right: 6px;
  padding: 10px;
  text-align: center;
  cursor: pointer;
  border: 0;
  transition: all 0.3s ease;
  position: relative;
  font-size: 20px;
  color: #e8eef1;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.flow-tab .tabs label {
    font-size: 13px;
  }
}
.flow-of-usage article.flow-tab .tabs label:last-child {
  margin-right: 0;
}
.flow-of-usage article.flow-tab input[type=radio] {
  display: none;
}
.flow-of-usage article.flow-tab .tab-content {
  display: none;
  padding: 1.25em;
  background: #fff;
  border-width: 3px;
  border-style: solid;
  border-color: #e1e1e1;
  text-align: left;
}
.flow-of-usage article.flow-tab .tabs label[for=tab1] {
  background: #336699;
}
.flow-of-usage article.flow-tab #tab1:checked ~ .tabs label[for=tab1] {
  background: #0c3f71;
  color: #fff;
}
.flow-of-usage article.flow-tab #tab1:checked ~ .tabs label[for=tab1]::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #0c3f71;
}
.flow-of-usage article.flow-tab #tab1:checked ~ .content1 {
  display: block;
}
.flow-of-usage article.flow-tab .tabs label[for=tab2] {
  background: #79aad1;
}
.flow-of-usage article.flow-tab #tab2:checked ~ .tabs label[for=tab2] {
  background: #2e93d8;
  color: #fff;
}
.flow-of-usage article.flow-tab #tab2:checked ~ .tabs label[for=tab2]::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #2e93d8;
}
.flow-of-usage article.flow-tab #tab2:checked ~ .content2 {
  display: block;
}
.flow-of-usage article.flow-tab .tabs label[for=tab3] {
  background: #66cccc;
}
.flow-of-usage article.flow-tab #tab3:checked ~ .tabs label[for=tab3] {
  background: #23a4ad;
  color: #fff;
}
.flow-of-usage article.flow-tab #tab3:checked ~ .tabs label[for=tab3]::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #23a4ad;
}
.flow-of-usage article.flow-tab #tab3:checked ~ .content3 {
  display: block;
}
.flow-of-usage article.flow-tab .flow-tab-attention {
  color: #cd3737;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.flow-tab .flow-tab-attention {
    font-size: 13px;
  }
}
.flow-of-usage article.flow-tab p {
  padding-bottom: 0.6em;
}
.flow-of-usage article.flow-tab .img-tab1-step img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.flow-tab .img-tab1-step img {
    width: 90%;
  }
}
.flow-of-usage article.flow-tab .img-tab1-step {
  text-align: center;
}
.flow-of-usage article.flow-tab ul.asterisk {
  padding-top: 1em;
  padding-left: 1em;
  list-style: none;
  font-size: 13px;
  color: #666;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.flow-tab ul.asterisk {
    padding: 0em 0.5em 1.5em 1.5em;
    font-size: 12px;
  }
}
.flow-of-usage article.flow-tab ul.asterisk li {
  text-indent: -1em;
}
@media only screen and (max-width: 767px) {
  .flow-of-usage article.flow-tab ul.asterisk li {
    line-height: 1.3;
  }
}

/*モーダルウィンドウ*/
.button-modal {
  background: #fff;
  color: #333;
  font-size: 15px;
  font-weight: bold;
  position: absolute;
  line-height: 1;
  padding: 0 0.5em 0.5em 0.5em;
  border-radius: 15px;
  top: 0.65em;
  right: 0.65em;
}
@media only screen and (max-width: 767px) {
  .button-modal {
    font-size: 13px;
    padding: 0 0.5em 0.5em 0.25em;
    width: 27%;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translateY(-50%);
  }
}
.button-modal:hover {
  background: #fff0ca;
  color: #0C3F71;
}
.button-modal span {
  position: relative;
  display: inline-block;
  padding-left: 10px;
  line-height: 1;
}
.button-modal span::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(/lp10g/img/img-hatena.svg) no-repeat;
  background-size: contain;
  margin-top: 4px;
  margin-bottom: -4px;
  margin-right: 5px;
}
@media only screen and (max-width: 767px) {
  .button-modal span::before {
    width: 18px;
    height: 18px;
  }
}

/* Modal container */
.modal {
  display: none;
  position: fixed;
  z-index: 10000000; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; /* Enable scroll if needed */
  background-color: rgba(0, 0, 0, 0.7);
}

/* Modal content */
.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: 10% auto;
  padding: 0px;
  border: 1px solid #666;
  width: 90%;
  max-width: 640px;
  font-family: "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, Helvetica, Verdana, sans-serif;
}
.modal-content article {
  height: auto;
  max-height: 480px;
  overflow: auto;
  padding-bottom: 0.7em;
}
@media only screen and (max-width: 767px) {
  .modal-content article {
    max-height: 500px;
  }
}
.modal-content a {
  color: #E44E00;
  text-decoration: underline;
}
.modal-content a:hover {
  opacity: 0.8;
}
.modal-content .asterisk {
  font-size: 12px;
}
.modal-content .tl-modal-content {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  background: #bed7dd;
  font-weight: bold;
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .modal-content .tl-modal-content {
    font-size: 15px;
  }
}
.modal-content .tl-modal-content strong {
  display: block;
  width: 10%;
  background: #0077AC;
  color: #fff;
  padding: 0.4em;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .modal-content .tl-modal-content strong {
    width: 16%;
  }
}
.modal-content .tl-modal-content span {
  display: block;
  color: #0C3F71;
  padding: 0.4em 0.65em;
}
.modal-content .modal-content-txt01 {
  font-weight: bold;
  font-size: 16px;
  padding: 1em;
}
@media only screen and (max-width: 767px) {
  .modal-content .modal-content-txt01 {
    font-size: 15px;
    padding: 0.5em;
  }
}
.modal-content .modal-content-txt02 {
  padding: 0.5em 1em;
  margin: 0 1em 0.7em;
}
.modal-content .modal-content-txt02 .kaisen {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .modal-content .modal-content-txt02 .kaisen {
    font-size: 13px;
  }
}
.modal-content .modal-content-txt02 .tl-txt02 {
  color: #0C3F71;
  font-size: 17px;
  font-weight: bold;
  border-left: 5px solid #0C3F71;
  padding-left: 0.6em;
  margin-bottom: 0.2em;
}
@media only screen and (max-width: 767px) {
  .modal-content .modal-content-txt02 .tl-txt02 {
    font-size: 15px;
  }
}
.modal-content .modal-content-txt02 strong {
  color: #0077AC;
}
@media only screen and (max-width: 767px) {
  .modal-content .modal-content-txt02 {
    padding: 0.5em;
    font-size: 14px;
  }
}
.modal-content .modal-content-txt02 .cnt-txt02 {
  font-size: 15px;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 767px) {
  .modal-content .modal-content-txt02 .cnt-txt02 {
    font-size: 13px;
  }
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner article {
  padding-left: 1.5em;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner strong {
  font-weight: bold;
  color: #0077AC;
  font-size: 16px;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner a.bold-link {
  font-weight: bold;
  color: #0077AC;
  font-size: 16px;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .series {
  padding-left: 1em;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .asterisk-series {
  padding-left: 2em;
  text-indent: -1em;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .ck-IPv6 {
  text-indent: -1em;
  padding-left: 1.5em;
  font-weight: bold;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .ck-IPv6 strong {
  color: #ff0000;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .ck-IPv4 {
  text-indent: -1em;
  padding-left: 1.5em;
  font-weight: bold;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .ck-IPv4 strong {
  color: #0077AC;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .plain-text {
  padding-top: 1em !important;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .plain-text img {
  vertical-align: top;
}
.modal-content .modal-content-txt02 .cnt-txt02 .cnt-txt02-inner .plain-text .about-kamome {
  color: #3883c1;
  font-weight: bold;
}
.modal-content .modal-content-txt03 {
  font-size: 12px;
  padding: 0 2em;
  margin-bottom: 0.6em;
}
.modal-content .modal-content-txt04 {
  padding: 1em 0 0;
  margin: 0 1em 0.7em;
}
.modal-content .modal-content-txt04 .tl-txt02 {
  color: #0C3F71;
  font-size: 17px;
  font-weight: bold;
  border-left: 5px solid #0C3F71;
  padding-left: 0.6em;
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 767px) {
  .modal-content .modal-content-txt04 .tl-txt02 {
    font-size: 15px;
  }
}
.modal-content .modal-content-txt04 .modal-content-txt04-inner {
  background: #f5f5f5;
  border: 2px solid #eee;
  padding: 0.5em 1em;
}
.modal-content .modal-content-txt04 .modal-content-txt04-inner strong {
  font-size: 16px;
  display: inline-block;
  margin-bottom: 0.2em;
}
.modal-content .modal-content-txt04 .modal-content-txt04-inner .asterisk-kataban {
  font-size: 13px;
  display: inline-block;
  margin-top: 0.2em;
}
.modal-content .img-hgw {
  display: flex;
}
.modal-content .img-hgw img {
  width: 45%;
  height: auto;
}
.modal-content .img-hgw ul {
  margin-left: 2em;
}
.modal-content .img-hgw ul li {
  list-style-type: disc;
  text-indent: -0.1em;
  padding-left: -1em;
}
.modal-content .img-hgw ul li::marker {
  color: #646464;
  font-size: 1.1em;
}
.modal-content .img-hgw ul li span.asterisk-hgw {
  font-size: 13px;
  display: inline-block;
  margin-top: 0.2em;
  text-indent: -1em;
  padding-left: 1em;
}
.modal-content .img-koseirei {
  background: #f5f5f5;
  border: 2px solid #eee;
  padding: 0.5em 1em;
  margin-top: 1em;
}
.modal-content .img-koseirei img {
  width: 70%;
  max-width: 650px;
}
@media only screen and (max-width: 767px) {
  .modal-content .img-koseirei img {
    width: 80%;
    max-width: auto;
  }
}
.modal-content .kaisetsu-koseirei {
  font-size: 13px;
  font-weight: 500;
  padding: 0.5em 1em;
  text-align: right;
}
.modal-content .koseirei01 p span {
  color: #0C3F71;
}
.modal-content .koseirei01 p {
  text-indent: -1em;
  padding-left: 1em;
  font-weight: bold;
}
.modal-content .koseirei02 p span {
  color: #3883c1;
}
.modal-content .koseirei02 p {
  text-indent: -1em;
  padding-left: 1em;
  font-weight: bold;
}
.modal-content .koseirei03 p span {
  color: #23a4ad;
}
.modal-content .koseirei03 p {
  text-indent: -1em;
  padding-left: 1em;
  font-weight: bold;
}
.modal-content .asterisk {
  padding-left: 2em;
  list-style: none;
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .modal-content .asterisk {
    padding-left: 1em;
    font-size: 13px;
  }
}
.modal-content .asterisk li {
  text-indent: -1em;
}
.modal-content .asterisk ul {
  list-style: none;
  padding-left: 1em;
  margin: 0.5em 0em;
}
.modal-content .asterisk ul li {
  text-indent: -1em;
}
.modal-content .asterisk ul li ul {
  list-style: none;
  padding-left: 1em;
  margin: 0.5em 0em;
}
.modal-content .asterisk ul li ul li {
  text-indent: -1em;
}

.mataha {
  text-align: center;
  padding: 0.5em 0 1em 0;
}
.mataha strong {
  display: inline-block;
  background: #0C3F71;
  color: #fff !important;
  font-weight: bold;
  font-size: 18px;
  white-space: nowrap;
  line-height: 1.6;
  padding: 0 0.3em;
}
@media only screen and (max-width: 767px) {
  .mataha strong {
    font-size: 16px;
  }
}

/* Close button */
.close {
  color: #fff;
  /*float: right;*/
  position: absolute;
  top: -50px;
  right: -10px;
  font-size: 22px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .close {
    top: -30px;
    right: 0px;
    font-size: 17px;
  }
}

.close:hover,
.close:focus {
  color: gray;
  text-decoration: none;
  cursor: pointer;
}

.speechBubble {
  display: inline-block;
  padding: 0.75em 3.5em;
  background-color: #f0f0f0;
  color: #333;
  line-height: 1.6;
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
  border: none;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .speechBubble {
    font-size: 13px;
    padding: 0.75em 1em;
  }
}
.speechBubble:hover {
  background-color: #fff0ca;
}
.speechBubble:hover::after {
  border-color: #fff0ca transparent transparent transparent;
}
.speechBubble::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: #f0f0f0 transparent transparent transparent;
}
.speechBubble img {
  display: inline-block;
  width: 22px;
  height: 22px;
}

.btn_aco {
  color: #0C3F71;
  font-size: 15px;
  margin: 0;
  padding: 0;
  letter-spacing: 0.02em;
  display: inline-block;
  line-height: 1.8;
  font-weight: bold;
  text-decoration: underline;
}

.title_plus {
  padding: 1.5vw;
  font-size: 3.4rem;
  background: linear-gradient(#fdfdfd 0%, #d1eaf4 100%);
  color: #0B3F71;
  box-sizing: border-box;
  width: 100%;
  border-top: 2px solid #0389C4;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0;
  text-shadow: 0px 3px 0px rgba(159, 188, 199, 0.6);
}
@media only screen and (max-width: 767px) {
  .title_plus {
    text-shadow: 0px 2px 0px rgba(159, 188, 199, 0.6);
    padding: 15px 10px;
    font-size: 2rem;
    line-height: 1.3;
  }
}

.advantages_wrap_01 {
  width: 92%;
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_01 {
    margin: 0 auto 4.6vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .advantages_wrap_01 {
    width: 98%;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_01 {
    width: 95%;
    margin: 0 auto 12vw;
  }
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_01 .advantages_wrap_01_inner {
    display: flex;
    justify-content: space-between;
    margin: 53px 0;
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_01 .advantages_wrap_01_inner {
    margin: 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div {
    width: 31%;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1099px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div {
    width: 32.5%;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div {
    margin-bottom: 8vw;
  }
}
@media only screen and (min-width: 1100px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 30px;
    padding: 15px 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div h3 {
    font-size: 20px;
    margin-bottom: 30px;
    padding: 15px 0;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div h3 {
    font-size: 18px;
    margin-bottom: 9.3vw;
    padding: 4vw 0;
  }
}
.advantages_wrap_01 .advantages_wrap_01_inner > div h3 {
  font-weight: bold;
  color: #fff;
  background-color: #448FC1;
  text-align: center;
  letter-spacing: 0;
}
.advantages_wrap_01 .advantages_wrap_01_inner > div h3 .only-pcSS {
  display: none;
}
@media only screen and (min-width: 1100px) and (max-width: 1280px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div h3 .only-pcSS {
    display: inline-block;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div h3 .only-pcSS {
    display: inline-block;
  }
}
.advantages_wrap_01 .advantages_wrap_01_inner > div figure {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div figure {
    margin-bottom: 37px;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div figure {
    margin-bottom: 4.5vw;
  }
}
.advantages_wrap_01 .advantages_wrap_01_inner > div figure img {
  width: 100%;
  height: auto;
}
.advantages_wrap_01 .advantages_wrap_01_inner > div p {
  line-height: 2.2;
  font-size: 14px;
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div p {
    padding: 0 10px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_01 .advantages_wrap_01_inner > div p {
    padding: 0 10px;
  }
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_01 .annotation {
    font-size: 11px;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .advantages_wrap_01 .annotation {
    margin: 0 2%;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_01 .annotation {
    font-size: 3vw;
  }
}

.advantages_wrap_02 {
  position: relative;
}
.advantages_wrap_02 .advantages_wrap_02_inner {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 1100px) {
  .advantages_wrap_02 .advantages_wrap_02_inner {
    width: 50%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .advantages_wrap_02 .advantages_wrap_02_inner {
    width: 75%;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_02 .advantages_wrap_02_inner {
    width: 86.5vw;
  }
}
.advantages_wrap_02 .advantages_wrap_02_inner figure {
  width: 24%;
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_02 .advantages_wrap_02_inner figure {
    width: 27%;
  }
}
.advantages_wrap_02 .advantages_wrap_02_inner figure:nth-child(odd) {
  margin-top: 35px;
}
.advantages_wrap_02 .advantages_wrap_02_inner figure img {
  width: 100%;
  height: auto;
}
.advantages_wrap_02 .lead-text {
  background-color: #F5F5F5;
  text-align: center;
  position: relative;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_02 .lead-text {
    margin: 10px auto 40px;
    width: 643px;
    padding: 36px 0;
    font-size: 23px;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_02 .lead-text {
    margin: 5.4vw auto 6.5vw;
    width: 84%;
    padding: 7vw 0;
    font-size: 4vw;
  }
}
.advantages_wrap_02 .lead-text::before, .advantages_wrap_02 .lead-text::after {
  content: url(/top/img/leaf.svg);
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_02 .lead-text::before {
    top: 10px;
    left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_02 .lead-text::before {
    top: 2.7vw;
    left: 1.3vw;
  }
}
.advantages_wrap_02 .lead-text::after {
  transform: rotate(-180deg);
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_02 .lead-text::after {
    bottom: 10px;
    right: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_02 .lead-text::after {
    bottom: 2.7vw;
    right: 1.3vw;
  }
}
.advantages_wrap_02 .top_annotation {
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .advantages_wrap_02 .top_annotation {
    width: 80%;
    font-size: 11px;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_02 .top_annotation {
    width: 95%;
    font-size: 3vw;
    line-height: 1.6;
  }
}
.advantages_wrap_02::before {
  content: "";
  display: block;
  aspect-ratio: 88.43/36;
  width: 6.4vw;
  background: url(/top/img/ico_kamome-1.svg);
  background-size: cover;
  position: absolute;
  left: 14vw;
  top: 10vw;
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .advantages_wrap_02::before {
    left: 2vw;
    top: 8vw;
  }
}
@media only screen and (max-width: 767px) {
  .advantages_wrap_02::before {
    left: 2vw;
    top: 8vw;
  }
}

.top_annotation {
  display: flex;
  flex-wrap: wrap;
  font-size: 11px;
  letter-spacing: 0;
}
.top_annotation dt {
  width: 1.5em;
}
.top_annotation dd {
  width: calc(100% - 1.5em);
}

#komari {
  background: #fff;
  padding: 0 0 80px;
}
@media only screen and (max-width: 767px) {
  #komari {
    padding: 0 0 50px;
  }
}
#komari .inner {
  width: min(100%, 1500px);
  margin: 0 auto;
}
#komari .sec_ttl {
  background: #d9e7f1;
  color: #0c4b82;
  font-size: 33px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  padding: 18px 20px;
  margin: 0 0 34px;
  border-top: 4px solid #1993d1;
}
@media only screen and (max-width: 767px) {
  #komari .sec_ttl {
    font-size: 18px;
    padding: 12px 10px;
    margin-bottom: 20px;
    border-top-width: 3px;
  }
}
#komari .komari_top {
  padding: 3vw 5vw 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 34px;
  margin-bottom: 18px;
}
@media only screen and (max-width: 767px) {
  #komari .komari_top {
    display: block;
    margin-bottom: 10px;
  }
}
#komari .komari_item {
  flex: 1;
  max-width: 646px;
}
#komari .komari_item img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #komari .komari_item {
    max-width: none;
  }
}
@media only screen and (max-width: 767px) {
  #komari .komari_item:first-child {
    padding-bottom: 30px;
    border-bottom: dotted 1px #B5B5B5;
  }
}
@media only screen and (max-width: 767px) {
  #komari .komari_item + .komari_item {
    margin-top: 18px;
    border-top: 1px dotted rgba(255, 255, 255, 0.5);
  }
}
#komari .komari_arrow {
  position: relative;
  z-index: 5;
  text-align: center;
  margin: 0 0 -30px;
}
#komari .komari_arrow img {
  width: 70px;
  height: auto;
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  #komari .komari_arrow {
    margin: 0 0 -20px;
  }
  #komari .komari_arrow img {
    width: 42px;
  }
}
#komari .komari_box {
  background: #eeecd6;
  background: linear-gradient(#fffcdb 0%, #fff 100%);
  border-radius: 90px;
  padding: 54px 40px 44px;
}
@media only screen and (max-width: 767px) {
  #komari .komari_box {
    border-radius: 36px;
    padding: 28px 14px 22px;
  }
}
#komari .komari_txt {
  text-align: center;
  margin-bottom: 34px;
}
#komari .komari_txt img {
  display: inline-block;
  width: min(100%, 1100px);
  height: auto;
}
@media only screen and (max-width: 767px) {
  #komari .komari_txt {
    margin-bottom: 18px;
  }
  #komari .komari_txt img {
    width: min(100%, 330px);
  }
}
#komari .komari_flow {
  text-align: center;
}
#komari .komari_flow img {
  display: inline-block;
  width: min(100%, 1120px);
  height: auto;
}
@media only screen and (max-width: 767px) {
  #komari .komari_flow img {
    width: 100%;
  }
}

#point {
  background: #F0F8FA;
  padding: 60px 0 80px;
}
@media only screen and (max-width: 767px) {
  #point {
    padding: 36px 0 50px;
  }
}
#point .inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 60px 20px 80px;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  #point .inner {
    padding: 0 12px 20px;
  }
}
#point .point_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0 auto 38px;
}
@media only screen and (max-width: 767px) {
  #point .point_list {
    display: block;
    margin-bottom: 24px;
  }
}
#point .point_item {
  position: relative;
  text-align: center;
}
#point .point_item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  border-left: 1px dotted #b8c8d3;
}
@media only screen and (max-width: 767px) {
  #point .point_item:not(:first-child)::before {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  #point .point_item + .point_item {
    margin-top: 28px;
  }
}
#point .point_item__img {
  margin-bottom: 18px;
}
#point .point_item__img img {
  display: block;
  width: min(100%, 330px);
  height: auto;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #point .point_item__img {
    margin-bottom: 14px;
  }
  #point .point_item__img img {
    width: min(100%, 280px);
  }
}
#point .point_item__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 82px;
  margin: 0;
  padding: 10px 16px;
  color: #fff;
  background: linear-gradient(#0389c4 0%, #034ca0 100%);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.16);
}
@media only screen and (min-width: 1100px) and (max-width: 1399px) {
  #point .point_item__ttl {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1099px) {
  #point .point_item__ttl {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  #point .point_item__ttl {
    min-height: 66px;
    font-size: 17px;
    line-height: 1.4;
    padding: 10px 12px;
  }
}
#point .point_note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  width: min(100%, 800px);
  margin: 0 auto;
  padding: 26px 28px;
  box-sizing: border-box;
  border-radius: 13px;
  background: linear-gradient(#fff 0%, #fff9e2 100%);
  border: 2px solid #ffc700;
}
@media only screen and (max-width: 767px) {
  #point .point_note {
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: 18px 14px 16px;
    border-radius: 12px;
    text-align: center;
    gap: 0;
  }
}
#point .point_note__icon {
  flex: 0 0 auto;
}
#point .point_note__icon img {
  width: 42px;
  height: auto;
  display: block;
}
@media only screen and (max-width: 767px) {
  #point .point_note__icon {
    margin: 0 auto 10px;
  }
  #point .point_note__icon img {
    width: 34px;
  }
}
#point .point_note__lead {
  flex: 0 0 auto;
  color: #222;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  #point .point_note__lead {
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
    white-space: normal;
    margin-bottom: 12px;
  }
}
#point .point_note__arrow {
  flex: 0 0 0;
  width: 0;
  height: 0;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 18px solid #0c56a6;
}
@media only screen and (max-width: 767px) {
  #point .point_note__arrow {
    display: none;
  }
}
#point .point_note__list {
  margin: 0;
  padding-left: 1.2em;
  color: #222;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}
#point .point_note__list li {
  text-align: left;
  list-style: disc;
}
#point .point_note__list li::marker {
  color: #1290d8;
}
@media only screen and (max-width: 767px) {
  #point .point_note__list {
    font-size: 16px;
    line-height: 1.7;
    padding-left: 1.1em;
  }
}

#cta-bottom {
  position: relative;
  padding: 0 !important;
}
#cta-bottom .inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .inner {
    padding: 0 12px;
  }
}
#cta-bottom .cta-bottom__top {
  background: linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px), #fff;
  background-size: 24px 24px, 24px 24px, auto;
  padding: 42px 0 0;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__top {
    padding: 26px 0 0;
    background-size: 20px 20px, 20px 20px, auto;
  }
}
#cta-bottom .cta-bottom__top .inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-bottom: 3vw;
}
@media only screen and (max-width: 1099px) {
  #cta-bottom .cta-bottom__top .inner {
    align-items: center;
    justify-content: center;
    flex-direction: column;
    display: block;
    margin-bottom: 30px;
  }
}
#cta-bottom .cta-bottom__top__lead {
  display: flex;
  align-items: center;
  gap: 28px;
  min-width: 0;
}
@media only screen and (max-width: 1099px) {
  #cta-bottom .cta-bottom__top__lead {
    gap: 14px;
    align-items: center;
    justify-content: center;
  }
}
#cta-bottom .cta-bottom__top__icon {
  flex: 0 0 auto;
}
#cta-bottom .cta-bottom__top__icon img {
  display: block;
  width: 170px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__top__icon img {
    width: 92px;
  }
}
#cta-bottom .cta-bottom__top__txt p {
  margin: 0;
  color: #222;
  font-size: 29px;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.01em;
}
@media only screen and (min-width: 1100px) and (max-width: 1399px) {
  #cta-bottom .cta-bottom__top__txt p {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__top__txt p {
    font-size: 15px;
    line-height: 1.6;
  }
}
#cta-bottom .cta-bottom__top__contact {
  flex: 0 0 580px;
  text-align: center;
}
@media only screen and (min-width: 1100px) and (max-width: 1399px) {
  #cta-bottom .cta-bottom__top__contact {
    flex-basis: 500px;
  }
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__top__contact {
    margin-top: 16px;
  }
}
#cta-bottom .cta-bottom__top__copy {
  margin: 0 0 14px;
  color: #222;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__top__copy {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.5;
  }
}
#cta-bottom .cta-bottom__wave {
  line-height: 0;
  background: transparent;
}
#cta-bottom .cta-bottom__wave img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center top;
}
#cta-bottom .cta-bottom__bottom {
  background: #0474B3;
  padding: 34px 0 48px;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__bottom {
    padding: 22px 0 34px;
  }
}
#cta-bottom .cta-bottom__card {
  background: #fff;
  border-radius: 18px;
  padding: 34px 40px;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__card {
    display: block;
    border-radius: 14px;
    padding: 16px 14px 18px;
  }
}
#cta-bottom .cta-bottom__campaign {
  flex: 0 1 520px;
}
#cta-bottom .cta-bottom__campaign a {
  opacity: 1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#cta-bottom .cta-bottom__campaign a:hover {
  opacity: 0.8;
}
#cta-bottom .cta-bottom__campaign img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__campaign {
    margin-bottom: 12px;
  }
}
#cta-bottom .cta-bottom__entry {
  flex: 0 1 560px;
  text-align: center;
}
#cta-bottom .cta-bottom__entry__copy {
  margin: 0 0 14px;
  color: #222;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-bottom__entry__copy {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.5;
  }
}
#cta-bottom .cta-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 80px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  box-sizing: border-box;
  transition: opacity 0.2s ease, transform 0.2s ease;
  box-shadow: 3px 4px 0 #0b3f71, inset 0 2px 0 rgba(255, 255, 255, 0.25);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#cta-bottom .cta-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 28px;
  width: 18px;
  height: 18px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  box-sizing: border-box;
}
#cta-bottom .cta-btn:hover {
  opacity: 0.92;
  transform: translateY(3px);
  box-shadow: 0px 1px 0 #0b3f71, inset 0 2px 0 rgba(255, 255, 255, 0.25);
}
@media only screen and (min-width: 1100px) and (max-width: 1399px) {
  #cta-bottom .cta-btn {
    font-size: 30px;
  }
}
@media only screen and (max-width: 767px) {
  #cta-bottom .cta-btn {
    min-height: 48px;
    font-size: 18px;
    box-shadow: 3px 4px 0 #0b4f7f, inset 0 2px 0 rgba(255, 255, 255, 0.2);
  }
  #cta-bottom .cta-btn::after {
    right: 16px;
    width: 12px;
    height: 12px;
    border-top-width: 3px;
    border-right-width: 3px;
  }
}
#cta-bottom .cta-btn--blue {
  background: #4f9dd3;
}
#cta-bottom .cta-btn--orange {
  background: #f56410;
}
@media only screen and (min-width: 1100px) {
  #cta-bottom .cta-btn--orange {
    min-height: 130px;
  }
}

.price {
  padding: 3vw 5vw !important;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .price {
    padding: 30px 15px !important;
  }
}
.price .fee_box {
  background: url("/service/img/bg_fee.jpg");
  background-color: #FFF9E5;
  border-top: 5px solid #EFC129;
  border-bottom: 5px solid #EFC129;
}
@media only screen and (min-width: 1100px) {
  .price .fee_box {
    padding: 70px 40px 53px;
    margin-bottom: 70px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .price .fee_box {
    padding: 12vw 6.8vw 9vw;
    margin-bottom: 12vw;
  }
}
@media only screen and (max-width: 767px) {
  .price .fee_box {
    padding: 30px 15px;
    margin-bottom: 35px;
  }
}
.price .fee_box .call {
  font-weight: bold;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
@media only screen and (min-width: 1100px) {
  .price .fee_box .call {
    font-size: 24px;
    margin-bottom: 45px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .price .fee_box .call {
    font-size: 4vw;
    margin-bottom: 7.65vw;
  }
}
@media only screen and (max-width: 767px) {
  .price .fee_box .call {
    font-size: 17px;
    margin-bottom: 26px;
    text-align: center;
    line-height: 1.4;
  }
}
.price .fee_box .call::before, .price .fee_box .call::after {
  content: "";
  width: 3px;
  height: 2em;
  background: #0C3F71;
}
@media only screen and (max-width: 767px) {
  .price .fee_box .call::before, .price .fee_box .call::after {
    height: 5em;
  }
}
.price .fee_box .call::before {
  transform: rotate(-25deg);
  margin-right: 20px;
}
.price .fee_box .call::after {
  transform: rotate(25deg);
  margin-left: 20px;
}
@media only screen and (min-width: 1100px) {
  .price .fee_box .call br {
    display: none;
  }
}
@media only screen and (min-width: 1100px) {
  .price .fee_box .fee_box_inner {
    display: flex;
    justify-content: space-between;
  }
}
.price .fee_box .fee_box_inner > div {
  background-color: #0077AC;
  color: #fff;
  font-weight: bold;
}
@media only screen and (min-width: 1100px) {
  .price .fee_box .fee_box_inner > div {
    width: 31%;
    text-align: center;
    padding: 30px 0;
    font-size: 25px;
    line-height: 1.28;
  }
}
@media only screen and (max-width: 1099px) {
  .price .fee_box .fee_box_inner > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 21px;
    padding: 0 20px;
    margin-bottom: 7px;
  }
}
@media only screen and (max-width: 1099px) and (min-width: 768px) and (max-width: 1099px) {
  .price .fee_box .fee_box_inner > div {
    font-size: 24px;
  }
}
.price .fee_box .fee_box_inner > div p {
  line-height: 1.28;
}
.price .fee_box .fee_box_inner > div .img {
  background-color: #fff;
  border-radius: 50%;
  position: relative;
}
@media only screen and (min-width: 1100px) {
  .price .fee_box .fee_box_inner > div .img {
    margin: 15px auto 0;
  }
}
@media only screen and (min-width: 1100px) {
  .price .fee_box .fee_box_inner > div .img {
    width: 184px;
    height: 184px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .price .fee_box .fee_box_inner > div .img {
    width: 16vw;
    height: 16vw;
    margin: 15px 0;
  }
}
@media only screen and (max-width: 767px) {
  .price .fee_box .fee_box_inner > div .img {
    width: 97px;
    height: 97px;
    margin: 15px 0;
  }
}
.price .fee_box .fee_box_inner > div .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  width: 70%;
  height: 70%;
}
@media only screen and (max-width: 1099px) {
  .price .fee_box .fee_box_inner > div .img img {
    width: 70%;
  }
}

.tbl_area {
  max-width: 1000px;
  margin: 0 auto;
}
.tbl_area .tbl_price {
  margin-top: 3vw;
  margin-bottom: 30px;
}
.tbl_area .tbl_price:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price {
    margin-top: 20px;
  }
}
.tbl_area .tbl_price > table {
  width: 100%;
}
.tbl_area .tbl_price > table {
  border-top: 1px solid #EAEAEA;
  border-bottom: 1px solid #EAEAEA;
  border-left: 1px solid #EAEAEA;
  border-collapse: separate;
}
.tbl_area .tbl_price > table thead th {
  background-color: #F6F7F7;
  color: #333 !important;
}
.tbl_area .tbl_price > table tbody th {
  background-color: #4699D1;
}
.tbl_area .tbl_price > table tbody th span {
  font-size: 1.2rem;
  line-height: 1.4;
  vertical-align: text-bottom;
  display: block;
}
.tbl_area .tbl_price > table tbody th span.no-br {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tbody th span.no-br {
    display: block;
  }
  .tbl_area .tbl_price > table tbody th span {
    font-size: 1.1rem;
  }
}
.tbl_area .tbl_price > table tbody tr th {
  padding: 15px;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tbody tr th {
    padding: 20px 5px;
  }
}
.tbl_area .tbl_price > table tbody tr th span {
  color: #CAEFFF;
}
.tbl_area .tbl_price > table tbody tr:last-child th {
  border-bottom: none;
}
.tbl_area .tbl_price > table tbody tr:last-child td {
  border-bottom: none;
}
.tbl_area .tbl_price > table tr th, .tbl_area .tbl_price > table tr td {
  border-right: 1px solid #EAEAEA;
  border-bottom: 1px solid #EAEAEA;
}
.tbl_area .tbl_price > table tr th {
  font-weight: bold;
  vertical-align: middle;
  padding: 5px;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tr th {
    padding: 10px 5px;
    line-height: 1.2;
  }
}
.tbl_area .tbl_price > table tr td {
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  padding: 15px 5px;
  font-weight: bold;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tr td {
    font-size: 1.6rem;
    padding: 10px;
    line-height: 1.2;
  }
}
.tbl_area .tbl_price > table tr td b {
  font-size: 1.3rem;
  font-weight: bold;
  color: #fff;
  display: block;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tr td b {
    font-size: 1.3rem;
    display: block;
  }
}
.tbl_area .tbl_price > table tr td span {
  vertical-align: text-bottom;
  font-weight: normal;
  font-size: 1.1rem;
  line-height: 1.6;
  display: block;
}
.tbl_area .tbl_price > table tr td strong {
  font-size: 1.7rem;
  color: #E44E00;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tr td strong {
    font-size: 1.4rem;
  }
}
.tbl_area .tbl_price > table tr td.f-small {
  font-size: 1.3rem;
  padding: 15px;
  font-weight: normal;
}
.tbl_area .tbl_price > table tr td.vertical {
  padding: 0;
  display: flex;
  justify-content: space-around;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tr td.vertical {
    flex-direction: column;
  }
}
.tbl_area .tbl_price > table tr td.vertical p {
  flex: 1 0 auto;
  text-align: center;
  border-right: 1px solid #EAEAEA;
  padding: 15px 5px;
}
.tbl_area .tbl_price > table tr td.vertical p:last-child {
  border-right: none;
}
@media only screen and (max-width: 767px) {
  .tbl_area .tbl_price > table tr td.vertical p {
    padding: 10px;
    flex-direction: column;
    border-right: none;
    border-bottom: 1px solid #EAEAEA;
  }
  .tbl_area .tbl_price > table tr td.vertical p:last-child {
    border-bottom: none;
  }
}

.sec_ttl__badge {
  position: relative;
  display: inline-block;
  padding: 7px 15px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #FDDB62;
  letter-spacing: 0.04em;
  z-index: 0;
  text-shadow: none;
}
@media only screen and (max-width: 767px) {
  .sec_ttl__badge {
    font-size: 15px;
    padding: 5px 16px;
    margin-bottom: 5px;
  }
}
.sec_ttl__badge::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #164877;
  transform: skewX(-25deg);
  transform-origin: center;
  z-index: -1;
}

#flow {
  padding: 80px 0;
  background: #F0F8FA;
}
@media only screen and (max-width: 767px) {
  #flow {
    padding: 30px 0 !important;
  }
}
#flow .inner {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 3vw 0;
}
@media only screen and (max-width: 767px) {
  #flow .inner {
    padding: 0;
  }
}
#flow .flow_list {
  position: relative;
}
#flow .flow_item {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  background: #fff;
  border-radius: 12px;
  padding: 40px;
  border: 1px solid #cfe2ea;
  box-sizing: border-box;
  position: relative;
  margin-bottom: 20px;
}
#flow .flow_item:last-child::before {
  display: none;
}
#flow .flow_item + .flow_arrow {
  margin-top: -2px;
}
#flow .flow_item--start {
  background: #FFFFEF;
}
#flow .flow_item::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -30px;
  width: 34px;
  height: 34px;
  background: url("/lp_plus/img/arrow.png") no-repeat center/contain;
  transform: translateX(-50%);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #flow .flow_item::before {
    bottom: -20px;
    width: 25px;
    height: 30px;
  }
}
#flow .flow_item__left {
  width: 42%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  text-align: left;
  padding-right: 28px;
  box-sizing: border-box;
  border-right: 1px dotted #c7d4da;
}
#flow .flow_item__left img {
  width: 120px;
  flex: 0 0 auto;
  margin: 0;
}
#flow .flow_item__left h3 {
  color: #1c4f80;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
}
#flow .flow_item__right {
  width: 58%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 32px;
  box-sizing: border-box;
  text-align: left;
}
#flow .flow_txt {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #222;
}
#flow .flow_txt.style01 {
  color: #0B3F71;
}
#flow .flow_note {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.8;
  color: #666;
}
#flow .flow_arrow {
  position: relative;
  text-align: center;
  padding: 18px 0;
}
#flow .flow_arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  border-left: 1px dotted #b9c9d1;
  transform: translateX(-50%);
}
#flow .flow_arrow img {
  position: relative;
  z-index: 1;
  width: 34px;
  height: auto;
  display: inline-block;
  background: #dfe7ea;
  padding: 0 4px;
  box-sizing: border-box;
}
#flow {
  /* 下2ブロック */
}
#flow .flow_bottom {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}
#flow .flow_campaign {
  background: #FFFAE6;
  border-radius: 12px;
  overflow: hidden;
}
#flow .flow_campaign img {
  display: block;
  width: calc(80% - 40px);
  margin: 20px auto;
  height: auto;
}
#flow .flow_campaign__ttl {
  background: #EBBA0B;
  padding: 10px 20px;
  font-weight: 700;
  line-height: 1.5;
  flex-direction: column;
  color: #0B3F71;
  box-sizing: border-box;
  min-height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#flow .flow_campaign__ttl span {
  color: #E44E00;
  font-size: 1.45em;
}
#flow .flow_campaign__body {
  padding: 0 20px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#flow .flow_campaign__note {
  margin: 0;
  font-size: 12px;
  line-height: 1.9;
  color: #555;
}
#flow .flow_cancel {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  text-align: center;
  display: flex;
  flex-direction: column;
  height: 100%;
}
#flow .flow_cancel img {
  width: 140px;
  margin: 16px auto 0;
  display: block;
  height: auto;
}
#flow .flow_cancel__ttl {
  background: #555;
  color: #fff;
  padding: 10px 20px;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.3;
  box-sizing: border-box;
  min-height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#flow .flow_cancel__body {
  padding: 0 20px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#flow .flow_cancel__btn {
  background: #f0b400;
  border-radius: 12px;
  padding: 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 18px;
  color: #333;
}
#flow .flow_cancel__note {
  margin: 0;
  font-size: 12px;
  color: #666;
  line-height: 1.8;
  text-align: left;
}
#flow {
  /* SP */
}
@media only screen and (max-width: 767px) {
  #flow {
    padding: 50px 0;
  }
  #flow .inner {
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }
  #flow .flow_item {
    display: block;
    text-align: center;
    padding: 26px 16px 24px;
    border-radius: 10px;
  }
  #flow .flow_item__left,
  #flow .flow_item__right {
    width: 100%;
    border-right: 0;
    padding: 0;
  }
  #flow .flow_item__left {
    display: block;
    text-align: center;
  }
  #flow .flow_item__left img {
    width: 140px;
    margin: 0 auto 12px;
  }
  #flow .flow_item__left h3 {
    text-align: center;
    font-size: 21px;
  }
  #flow .flow_item__right {
    margin-top: 8px;
    text-align: center;
  }
  #flow .flow_txt {
    font-size: 17px;
    line-height: 1.6;
  }
  #flow .flow_note {
    font-size: 12px;
    line-height: 1.8;
    text-align: left;
    margin-top: 10px;
  }
  #flow .flow_arrow {
    padding: 14px 0;
  }
  #flow .flow_arrow::before {
    display: none;
  }
  #flow .flow_arrow img {
    width: 34px;
    padding: 0;
    background: transparent;
  }
  #flow .flow_bottom {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 28px;
  }
  #flow .flow_campaign {
    border-radius: 10px;
  }
  #flow .flow_campaign img {
    width: calc(80% - 32px);
    margin: 18px auto 14px;
  }
  #flow .flow_campaign__ttl {
    padding: 14px 12px;
    font-size: 16px;
  }
  #flow .flow_campaign__ttl span {
    font-size: 1.5em;
  }
  #flow .flow_campaign__body {
    padding: 0 16px 18px;
  }
  #flow .flow_campaign__note {
    font-size: 11px;
    line-height: 1.9;
  }
  #flow .flow_cancel {
    border-radius: 10px;
  }
  #flow .flow_cancel img {
    width: 120px;
    margin: 14px auto 8px;
  }
  #flow .flow_cancel__ttl {
    padding: 14px 12px;
    font-size: 16px;
  }
  #flow .flow_cancel__body {
    padding: 0 16px 18px;
  }
  #flow .flow_cancel__btn {
    font-size: 18px;
    padding: 14px 10px;
    margin: 14px 0 16px;
  }
  #flow .flow_cancel__btn strong {
    font-size: 22px;
  }
  #flow .flow_cancel__note {
    font-size: 11px;
    line-height: 1.8;
  }
}

.flow_campaign,
.flow_cancel {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.asterisk li {
  text-align: left;
  font-size: 12px !important;
  line-height: 1.2;
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 5px;
}
.asterisk {
  padding-bottom: 0;
}

.commentList {
  max-height: 600px;
  padding: 1.5em;
  margin-top: 1em;
  overflow-y: auto;
  direction: ltr;
  scrollbar-color: #0077AC #e4e4e4;
  scrollbar-width: thin;
  background: #d6eef2;
}
@media only screen and (max-width: 767px) {
  .commentList {
    margin-top: 0.5em;
    max-height: 360px;
    padding: 0.5em;
  }
}

.commentList::-webkit-scrollbar {
  width: 10px;
}

.commentList::-webkit-scrollbar-track {
  background-color: #e4e4e4;
  border-radius: 100px;
}

.commentList::-webkit-scrollbar-thumb {
  border-radius: 100px;
  background-image: linear-gradient(180deg, #000 0%, #000 99%);
  box-shadow: inset 2px 2px 5px 0 rgba(255, 255, 255, 0.5);
}

.comment-box {
  border-radius: 15px;
  background: #fff;
  padding: 0.7em;
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 767px) {
  .comment-box {
    padding: 5px;
    border-radius: 8px;
  }
}
.comment-box .comment-box-inner {
  position: relative;
  border-radius: 10px;
  background: #fff;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-height: 220px;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner {
    border-radius: 5px;
    justify-content: flex-start;
  }
}
.comment-box .comment-box-inner .user {
  width: 20%;
  position: absolute;
  top: 10%;
  left: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  font-size: 15px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user {
    width: 25%;
    font-size: 11px;
    padding-top: 1.5em;
    position: relative;
    align-self: flex-start;
    line-height: 1.3;
  }
}
.comment-box .comment-box-inner .user img {
  width: 60%;
  margin: 0 auto 0.5em auto;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user img {
    width: 70%;
  }
}
.comment-box .comment-box-inner .user-comment {
  width: 80%;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment {
    width: 70%;
  }
}
.comment-box .comment-box-inner .user-comment dl.review {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 0.8em;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment dl.review {
    flex-direction: column;
  }
}
.comment-box .comment-box-inner .user-comment dl.review dt {
  background: #fff5d2;
  font-size: 16px;
  width: auto;
  padding: 0.4em;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment dl.review dt {
    font-size: 13px;
    padding: 0.25em 0.15em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .comment-box .comment-box-inner .user-comment dl.review dt {
    font-size: 14px;
    padding: 0.15em 0.15em 0.15em 1em;
    width: 37%;
  }
}
.comment-box .comment-box-inner .user-comment dl.review dd {
  font-size: 15px;
  width: auto;
  padding: 0.25em 0.25em 0.25em 0.8em;
  line-height: 1.3;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment dl.review dd {
    width: 100%;
    font-size: 14px;
    padding: 0.25em 0.5em;
  }
}
.comment-box .comment-box-inner .speed {
  width: 80%;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed {
    width: 100%;
  }
}
.comment-box .comment-box-inner .speed dl {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  background: #f5f5f5;
  border: 3px solid #bed7dd;
  width: 70%;
  padding: 1em;
  margin: 0.8em 0 1em 0;
  border-radius: 3px;
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .comment-box .comment-box-inner .speed dl {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl {
    width: 90%;
    padding: 0.5em;
    display: block;
    margin: 0.5em auto;
    border: 1px solid #bed7dd;
  }
}
.comment-box .comment-box-inner .speed dl dt {
  width: 22%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #0077AC;
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dt {
    justify-content: flex-end;
  }
}
.comment-box .comment-box-inner .speed dl dt p {
  text-align: center;
}
.comment-box .comment-box-inner .speed dl dt img {
  width: 47px;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dt img {
    width: 30px;
    margin: 0 0.5em 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dt {
    width: auto;
    flex-direction: row-reverse;
  }
}
.comment-box .comment-box-inner .speed dl dd {
  width: 77%;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dd {
    width: 100%;
    text-align: left !important;
  }
}

#voice_box {
  max-width: 1000px;
  margin: 0 auto;
  padding: 3vw 0 !important;
}
@media only screen and (max-width: 767px) {
  #voice_box {
    padding: 30px 15px !important;
  }
}

.fee_boxW {
  background: url("/service/img/bg_fee.jpg");
  background-color: #FFF9E5;
  border-top: 5px solid #EFC129;
  border-bottom: 5px solid #EFC129;
  padding: 50px 40px;
  margin-bottom: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1100px) {
  .fee_boxW {
    padding: 12vw 6.8vw 9vw;
    margin-bottom: 12vw;
  }
}
@media only screen and (max-width: 767px) {
  .fee_boxW {
    flex-direction: column;
    padding: 30px 15px;
    margin-bottom: 35px;
  }
}
.fee_boxW div:first-child {
  width: 25%;
}
@media only screen and (max-width: 767px) {
  .fee_boxW div:first-child {
    width: 100%;
    text-align: center;
  }
}
.fee_boxW div:first-child img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .fee_boxW div:first-child img {
    width: 80%;
    margin-bottom: 20px;
  }
}
.fee_boxW div:last-child {
  width: 70%;
}
@media only screen and (max-width: 767px) {
  .fee_boxW div:last-child {
    width: 100%;
  }
}
.fee_boxW div:last-child h2 {
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .fee_boxW div:last-child h2 {
    text-align: center;
  }
}
.fee_boxW div:last-child h2 span {
  color: #E44E00;
}
.fee_boxW div:last-child .ann {
  margin: 0;
  line-height: 1.3;
}

.ann {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  font-size: 13px;
  margin-bottom: 30px;
}
.ann.style02 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .ann.style02 {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .ann {
    width: 95%;
    margin: 0 auto 30px;
  }
}
.ann dt {
  width: 1.5em;
}
.ann dd a {
  color: #448FC1;
}
.ann dd {
  width: calc(100% - 1.5em);
}
.ann dd.text {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ann.col2 {
    margin-left: 20px;
  }
}

.chuWrap {
  width: 100%;
  max-width: 1000px;
  margin: 3vw auto;
  border: 2px solid #acbdc0;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .chuWrap {
    width: 90%;
  }
}
.chuWrap h3 {
  background: #f5f5f5;
  color: #646464;
  font-size: 19px;
  font-weight: bold;
  text-align: center;
}
.chuWrap h3::before {
  content: "";
  display: inline-block;
  width: 50px;
  height: 58px;
  background-image: url(/lp/img/tl-caution.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .chuWrap h3::before {
    width: 25px;
    height: 21px;
  }
}
.chuWrap ul {
  list-style-type: none;
  padding: 0.7em 1.2em;
}
.chuWrap ul li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 13px;
  font-weight: normal;
}

.price .fee_box .call {
  line-height: 1.2;
  font-size: 30px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .price .fee_box .call {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  .price .fee_box .call::before, .price .fee_box .call::after {
    height: 40px;
  }
}

@media only screen and (max-width: 767px) {
  #floting-bnr.is-hidden-sp {
    display: none;
  }
}
.cta-bottom__entry__note {
  margin-top: 10px;
  font-size: 11px;
  margin-top: 20px;
  text-indent: -1.5em;
  margin-left: 1.5em;
  text-align: left;
}
.cta-bottom__entry__note a {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  color: #0389C4;
  text-align: left;
}
.cta-bottom__entry__note a:hover {
  color: #c84000;
}

.fixed_bnr {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

@media only screen and (max-width: 767px) {
  .fixed_bnr {
    opacity: 0;
    pointer-events: none;
    transform: translateY(20px);
  }
  .fixed_bnr.is-show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
}
.commentList {
  max-height: 600px;
  padding: 1.5em;
  margin-top: 1em;
  overflow-y: auto;
  direction: ltr;
  scrollbar-color: #0077AC #e4e4e4;
  scrollbar-width: thin;
  background: #d6eef2;
}
@media only screen and (max-width: 767px) {
  .commentList {
    margin-top: 0.5em;
    max-height: 360px;
    padding: 0.5em;
  }
}

.commentList::-webkit-scrollbar {
  width: 10px;
}

.commentList::-webkit-scrollbar-track {
  background-color: #e4e4e4;
  border-radius: 100px;
}

.commentList::-webkit-scrollbar-thumb {
  border-radius: 100px;
  background-image: linear-gradient(180deg, #000 0%, #000 99%);
  box-shadow: inset 2px 2px 5px 0 rgba(255, 255, 255, 0.5);
}

.comment-box {
  border-radius: 15px;
  background: #fff;
  padding: 1.2em;
  margin-bottom: 1.5em;
}
.comment-box:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .comment-box {
    padding: 5px;
    border-radius: 8px;
  }
}
.comment-box .comment-box-inner {
  position: relative;
  border-radius: 10px;
  background: #fff;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-height: 220px;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner {
    border-radius: 5px;
    justify-content: flex-start;
  }
}
.comment-box .comment-box-inner .user {
  width: 20%;
  position: absolute;
  top: 10%;
  left: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  font-size: 15px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user {
    width: 25%;
    font-size: 11px;
    padding-top: 1.5em;
    position: relative;
    align-self: flex-start;
    line-height: 1.3;
  }
}
.comment-box .comment-box-inner .user img {
  width: 60%;
  margin: 0 auto 0.5em auto;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user img {
    width: 70%;
  }
}
.comment-box .comment-box-inner .user-comment {
  width: 80%;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment {
    width: 70%;
  }
}
.comment-box .comment-box-inner .user-comment dl.review {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 0.8em;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment dl.review {
    flex-direction: column;
  }
}
.comment-box .comment-box-inner .user-comment dl.review dt {
  background: #fff5d2;
  font-size: 16px;
  width: auto;
  padding: 0.4em;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment dl.review dt {
    font-size: 13px;
    padding: 0.25em 0.15em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .comment-box .comment-box-inner .user-comment dl.review dt {
    font-size: 14px;
    padding: 0.15em 0.15em 0.15em 1em;
    width: 37%;
  }
}
.comment-box .comment-box-inner .user-comment dl.review dd {
  font-size: 15px;
  width: auto;
  padding: 0.25em 0.25em 0.25em 0.8em;
  line-height: 1.3;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .user-comment dl.review dd {
    width: 100%;
    font-size: 14px;
    padding: 0.25em 0.5em;
  }
}
.comment-box .comment-box-inner .speed {
  width: 80%;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed {
    width: 100%;
  }
}
.comment-box .comment-box-inner .speed dl {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  background: #f5f5f5;
  border: 3px solid #bed7dd;
  padding: 1em;
  margin: 0.8em 0 1em 0;
  border-radius: 3px;
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .comment-box .comment-box-inner .speed dl {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl {
    width: 90%;
    padding: 0.5em;
    display: block;
    margin: 0.5em auto;
    border: 1px solid #bed7dd;
  }
}
.comment-box .comment-box-inner .speed dl dt {
  width: 22%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #0077AC;
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dt {
    justify-content: flex-end;
  }
}
.comment-box .comment-box-inner .speed dl dt p {
  text-align: center;
}
.comment-box .comment-box-inner .speed dl dt img {
  width: 47px;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dt img {
    width: 30px;
    margin: 0 0.5em 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dt {
    width: auto;
    flex-direction: row-reverse;
  }
}
.comment-box .comment-box-inner .speed dl dd {
  width: 77%;
}
@media only screen and (max-width: 767px) {
  .comment-box .comment-box-inner .speed dl dd {
    width: 100%;
    text-align: left !important;
  }
}

#mv img {
  width: 100%;
  height: auto;
}/*# sourceMappingURL=lp.css.map */