@charset "Shift_JIS";
/* lp_page_301(lp_styleを加工) Shift_JIS */
/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* _foundation */
/* ================================================
  最低限リセット
*/
/*@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);*/
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

table {
  font-size: inherit;
}

ul {
  list-style-type: none;
}

pre, code, kbd, samp, tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%;
}

input, select {
  font-size: 16px;
}

/*iphone対策*/
input[type="submit"],
input[type="button"] {
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* _lp_layout */
/* ================================================
  要素別の基本設定
*/
html {
  height: 100%;
}

body {
  position: relative;
  left: 0;
  overflow-x: hidden;
  min-width: 320px;
  height: 100%;
  width: 100%;
  background: #ffffff;
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  font-style: normal;
  /*font-family: "Noto Sans Japanese", sans-serif, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS PGothic;*/
  /*font-weight: 200;*/
  font-size: 16px;
  line-height: 1.6;
  color: #2f2f2f;
  text-align: center;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
}

select, input, button, textarea {
  font-family: source-han-sans-japanese, sans-serif;
}

picture {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

a {
  display: inline-block;
  text-decoration: none;
  color: #8c745a;
  opacity: 1;
}

a:hover {
  opacity: .8;
}

/*------------------------------------------------------------
  大枠設定
  body内の階層構造としては以下の形となります。
  @#siteContour（輪郭）
  　※同じ階層には他に#systemModal（モーダル）等特殊な要素があります。
  ↓@の中
  A#siteHeader（頭）や#siteNeck（首）、#siteBody（体）等
  　※#siteLoader（ローディング）もここ
  ↓Aの#siteBodyの中
  B#main（メインコンテンツ）や#sub（サブコンテンツ）
*/
#siteContour {
  height: 100%;
}

.wrapper {
  width: 100%;
  min-width: 320px;
  max-width: 1100px;
  /*980px;*/
  margin-right: auto;
  margin-left: auto;
}

.wrapper_space {
  width: 96%;
  min-width: 280px;
  max-width: 830px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2%;
  padding-left: 2%;
}

@media screen and (min-width: 960px) {
  /*幅広の時*/
  .wrapper_space {
    width: auto;
    padding-right: 0;
    padding-left: 0;
  }
}
/*------------------------------------------------------------
  サイトヘッダー
*/
#siteHeader {
  position: relative;
  z-index: 4;
  background: #ffffff;
}

#siteHeader .wrapper {
  max-width: none;
  padding: 2vw 2.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}

#siteHeader_logo {
  max-width: 50%;
}

#siteHeader_tel {
  max-width: 32%;
}

@media screen and (min-width: 960px) {
  /*幅広の時*/
  #siteHeader .wrapper {
    padding: 20px 80px;
  }
}
/*------------------------------------------------------------
  サイトボディ
*/
#siteBody {
  width: 100%;
  overflow: hidden;
}

/*内容部分*/
#main {
  min-height: 58%;
  width: 100%;
}

#main > section {
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}

/*------------------------------------------------------------
  サイトフッター
*/
#siteFooter {
  position: relative;
  margin-top: 3em;
  background: #232323;
  border-top: 2px solid #ec5a5a;
  color: #ffffff;
}

#toplink {
  position: absolute;
  top: -2.4em;
  right: .2em;
  display: inline-block;
  padding: .7em 1em;
  background: #ec5a5a;
  border-radius: 6px 6px 0 0;
  color: #ffffff;
  font-size: .8em;
  line-height: 1;
}

#siteFooter_top {
  margin: 1.5em auto;
  color: #ffffff;
}

#siteFooter_top > div {
  text-align: left;
}

#siteFooter_top > div ul a, #siteFooter_top > div ul label {
  display: block;
  color: #ffffff;
  line-height: 3em;
}

#siteFooter_top > div ul a > span, #siteFooter_top > div ul label > span {
  display: inline-block;
  color: #dddddd;
  font-size: .8em;
  font-weight: normal;
}

#siteFooter_top > div ul > li + li {
  border-top: 1px solid #666666;
}

#siteFooter_middle {
  text-align: left;
}

#siteFooter_middle > li {
  margin-bottom: 1em;
}

#siteFooter_middle > li > h4 {
  font-size: 1em;
}

#siteFooter_middle > li > div > p {
  padding-bottom: .8em;
}

#siteFooter_middle > li:not(.systemAccordion) > h4 {
  padding: .5em 0;
}

#siteFooter_middle > li:not(.systemAccordion) > h4 > .sA_openSwitch {
  padding: 0;
}

#siteFooter_middle .aboutus {
  margin: 1.5em .5em;
  text-align: center;
  font-size: .8em;
}

#siteFooter_middle .aboutus > div img {
  width: 100%;
  max-width: 500px;
}

#siteFooter_middle .aboutus > div + div {
  margin-top: 1em;
}

#siteFooter_middle .attention {
  font-size: .8em;
}

#siteFooter_bottom {
  padding: .3em 0;
  background: #232323;
  color: #ffffff;
  font-size: .8em;
  font-style: normal;
  text-align: center;
}

#siteFooter_bottom span {
  display: inline-block;
}

@media screen and (min-width: 960px) {
  #siteFooter {
    font-size: 18px;
  }

  #siteFooter_top > div {
    text-align: left;
  }

  #siteFooter_top > div ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
  }

  #siteFooter_top > div ul a {
    padding: .5em 0;
    font-size: .8em;
    line-height: 2.2;
    color: inherit;
  }

  #siteFooter_top > div ul label {
    display: inline-block;
    padding: 0;
    font-size: .8em;
    line-height: 3em;
    color: inherit;
  }

  #siteFooter_top > div ul > li + li {
    border: none;
  }

  #siteFooter_middle .aboutus {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 90%;
    margin: 1.5em auto;
    text-align: left;
  }

  #siteFooter_middle .aboutus > div {
    padding: 0 2em 0 0;
  }

  #siteFooter_middle .aboutus > div img {
    width: 380px;
    max-width: none;
  }

  #siteFooter_middle .aboutus > div + div {
    padding: 0 0 0 2em;
    border-left: 3px solid #ffffff;
    line-height: 2em;
  }

  #siteFooter_middle .aboutus > div > p {
    padding-bottom: 0;
  }
}
/*------------------------------------------------------------
  フォーム
*/
@-webkit-keyframes shiny1 {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.registform {
  max-width: 1100px;
  margin: auto;
  padding-bottom: 0;
}
.registform .buttonarea {
  display: block;
  height: 100px;
  position: relative;
  background: #05ba05;
  overflow: hidden;
  text-align: center;
  color:#fff;
  font-size: 18px;
}
.registform .buttonarea > div {
  display: none;
  color: #ff0000;
  font-size: .8em;
}
.registform .buttonarea:before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  z-index: 1;
  background-color: #ffffff;
  animation: shiny1 2s ease-in-out infinite;
}
.registform .buttonarea input[type="image"] {
  width: 100%;
  height: 100px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.registform .buttonarea input[type="image"]:hover {
  opacity: .8;
}
.registform .set1 {
  margin-bottom: 5vw;
}
.registform .set2 {
  margin-bottom: 4vw;
}
.registform .checkarea {
  margin-bottom: 0;
  padding-left: 2em;
  font-size: 4vw;
}
.registform .checkarea .check {
  display: inline-block;
  margin-top: 0.1em;
  margin-left: -2em;
}
.registform .checkarea .check > input[type=checkbox]:required:not(:checked) + label {
  margin-right: 4em;
}
.registform .checkarea .check > input[type=checkbox]:required:not(:checked) + label:after {
  right: -4em;
  top: .2em;
}
.registform .checkarea .check > input[type=checkbox]:required:not(:checked) + label:after {
  content: "チェックが必要です";
  position: absolute;
  top: .3em;
  right: -9em;
  z-index: 2;
  padding: 0 .5em;
  background: #ff0000;
  border-radius: 6px;
  color: #ffffff;
  font-size: .9em;
}
.registform .checkarea .link {
  display: inline;
  margin-left: -0.5em;
  font-size: .7em;
  letter-spacing: -.07em;
  line-height: 2.4;
  vertical-align: top;
  color: #0e1014;
}
.registform .checkarea .link label {
  padding-bottom: .1em;
  border-bottom: 1px solid #0e1014;
  color: inherit;
}
.registform input[type=checkbox] + label {
  min-height: 1.5em;
  padding: 0 1.5em 0 0;
}
.registform.checkOff .inputdeco input[type=checkbox] + label {
  padding: 0 1em 0 1.5em;
  line-height: 1.4;
}
.registform .notice {
  margin-top: 5px;
  font-size: 3vw;
  line-height: 1.8;
  padding: 30px 0 0;
  text-align: left;
  color: #ffffff;
}
.registform .notice p + p {
  margin-top: 1em;
}
.registform .notice a {
  display: inline-block;
  padding-bottom: .05em;
  border-bottom: 1px solid #ffffff;
  color: inherit;
}
.registform.sns {
  position: relative;
  padding: 1em 1em 1em;
}
.registform.sns:after {
  position: absolute;
  bottom: -.5em;
  left: 1em;
  z-index: 1;
  display: block;
  content: "メールアドレスで登録";
  font-weight: bold;
}
.registform.sns .partsTemplate_form1.sns ul {
  background: rgba(117, 117, 117, 0.2);
}
.registform.sns .partsTemplate_form1 > dt {
  font-weight: bold;
}
.registform .partsTemplate_form1 > dt {
  position: relative;
  font-size: 3.8vw;
  font-weight: bold;
}
.registform .partsTemplate_form1 > dt strong {
  color: #df3c3c;
}
.registform .partsTemplate_form1 > dt:before {
  display: inline-block;
  content: " ";
  height: 8.5vw;
  width: 8.5vw;
  margin-right: .5em;
  background: url(/common/images/lp301_form_02.png) center center no-repeat;
  background-size: 100%;
  vertical-align: middle;
}
.registform .partsTemplate_form1 > dt > span.text {
  background: #ec5b5a;
  display: inline-block;
  padding: .5em 1em;
  font-size: .7em;
  border-radius: 15px;
  line-height: 1;
  color: #ffffff;
  margin-left: .5em;
  vertical-align: top;
}
.registform .partsTemplate_form1.sns {
  border-bottom: none;
  padding: 4vw 2vw 3vw;
  background: #ffffff;
  border-radius: 2vw;
  text-align: center;
}
.registform .partsTemplate_form1.sns ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: flex-start;
  margin-top: 10px;
  background: transparent;
  vertical-align: top;
}
.registform .partsTemplate_form1.sns ul + p {
  margin-top: .5em;
  color: #ec5b5a;
  font-size: .8em;
}
.registform .partsTemplate_form1.sns ul li {
  width: 33%;
  max-width: none;
  min-width: auto;
  margin-bottom: 2vw;
  padding: 0 2%;
  font-size: 0;
}
.registform .partsTemplate_form1.sns ul li a {
  display: block;
  padding: 0 0;
  background: #ffffff;
  border: 1px solid #b7b7b7;
  overflow: hidden;
  vertical-align: top;
  animation: fadeIn .3s ease 0s 1 normal;
  -webkit-animation: fadeIn .3s ease 0s 1 normal;
}
.registform .partsTemplate_form1.sns ul li a img {
  width: 100%;
}
.registform .partsTemplate_form1.sns ul li a:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.05);
}
.registform .partsTemplate_form1.sns + p.or {
  position: relative;
  margin: 1em;
  line-height: 1;
}
.registform .partsTemplate_form1.sns + p.or:before {
  content: "";
  position: absolute;
  top: .5em;
  left: 0;
  border-top: 1px dotted #cccccc;
  width: 40%;
}
.registform .partsTemplate_form1.sns + p.or:after {
  content: "";
  position: absolute;
  top: .5em;
  left: 0;
  border-top: 1px dotted #cccccc;
  width: 40%;
  right: 0;
  left: auto;
}
.registform .partsTemplate_form1.sns + p + .partsTemplate_form1 {
  border: none;
}
.registform .partsTemplate_form1.sns form:before {
  display: none;
}
.registform .partsTemplate_form1.sns dl > dt {
  display: block;
  margin-bottom: .5em;
  color: #666666;
  text-align: center;
  font-weight: bold;
  /*一時*/
  font-size: 3.2vw;
  vertical-align: middle;
}
.registform .partsTemplate_form1.sns dl > dd {
  /*一時*/
  vertical-align: middle;
}
.registform .container form .buttonarea {
  height: 13vw;
}
.registform .container form .buttonarea input[type="image"] {
  background: url(/common/images/lp301_form_btns.png) top center no-repeat !important;
  background-size: contain !important;
}
.registform .notice {
  text-align: left;
}
.registform .notice > span, .registform .notice > a, .registform .notice > p.lp_gold {
  color: #ec5b5a;
  font-weight: bold;
}

@media screen and (min-width: 960px) {
  /*幅広の時*/
  .registform .notice {
    font-size: 14px;
  }
  .registform .set1 {
    margin-bottom: 30px;
  }
  .registform .set2 {
    margin-bottom: 25px;
  }
  .registform .checkarea {
    margin-bottom: 0;
    font-size: 22px;
  }
  .registform .checkarea .link {
    font-size: .75em;
    letter-spacing: 0;
  }
  .registform .container form .buttonarea {
          height: 60px;
        font-size: 28px;
  }
  .registform .container form .buttonarea input[type="image"] {
    background: url(/common/images/lp301_form_btn.png) top center no-repeat !important;
    height: 100px;
  }
  .registform .partsTemplate_form1.sns {
    padding: 30px 20px;
    border-radius: 15px;
  }
  .registform .partsTemplate_form1 > dt {
    font-size: 24px;
  }
  .registform .partsTemplate_form1 > dt:before {
    height: 52px;
    width: 52px;
    margin-right: .5em;
  }
  .registform .partsTemplate_form1.sns ul li {
    width: 25%;
    padding: 0 1.25%;
    margin-bottom: 0;
  }
  .registform .partsTemplate_form1.sns ul li a {
    padding: 7px 0;
  }
}
/* - - - - - - - - - - - - - - - -
  フォームパーツ（汎用部分）
*/
.inputdeco {
  text-align: left;
}

.inputdeco .error {
  margin-bottom: 15px;
  color: #ff0000;
  font-size: .8em;
  text-align: center;
}

.inputdeco select {
  width: 99.9%;
  height: 46px;
  margin-bottom: 10px;
  padding: 0 2%;
  border: 2px solid #cccccc;
  border-radius: .5em;
  background: #ffffff;
  font-size: 16px;
  letter-spacing: 1px;
}

.inputdeco input[type=text], .inputdeco input[type=email], .inputdeco input[type=password], .inputdeco input[type=tel], .inputdeco textarea {
  width: 100%;
  min-height: 2.5em;
  padding: 0 4%;
  border: 2px solid #ec444a;
  border-radius: 2vw;
  font-size: 5vw;
  line-height: 2.6;
  letter-spacing: 1px;
  box-sizing: border-box;
}

.inputdeco input[type=text]:placeholder-shown, .inputdeco input[type=email]:placeholder-shown, .inputdeco input[type=password]:placeholder-shown, .inputdeco input[type=tel]:placeholder-shown, .inputdeco textarea:placeholder-shown {
  color: #cccccc;
}

.inputdeco input[type=text]::-webkit-input-placeholder, .inputdeco input[type=email]::-webkit-input-placeholder, .inputdeco input[type=password]::-webkit-input-placeholder, .inputdeco input[type=tel]::-webkit-input-placeholder, .inputdeco textarea::-webkit-input-placeholder {
  color: #cccccc;
}

.inputdeco input[type=text]:-moz-placeholder, .inputdeco input[type=email]:-moz-placeholder, .inputdeco input[type=password]:-moz-placeholder, .inputdeco input[type=tel]:-moz-placeholder, .inputdeco textarea:-moz-placeholder {
  color: #cccccc;
  opacity: 1;
}

.inputdeco input[type=text]::-moz-placeholder, .inputdeco input[type=email]::-moz-placeholder, .inputdeco input[type=password]::-moz-placeholder, .inputdeco input[type=tel]::-moz-placeholder, .inputdeco textarea::-moz-placeholder {
  color: #cccccc;
  opacity: 1;
}

.inputdeco input[type=text]:-ms-input-placeholder, .inputdeco input[type=email]:-ms-input-placeholder, .inputdeco input[type=password]:-ms-input-placeholder, .inputdeco input[type=tel]:-ms-input-placeholder, .inputdeco textarea:-ms-input-placeholder {
  color: #cccccc;
  opacity: 1;
}

.inputdeco input[type=text][readonly], .inputdeco input[type=text][disabled], .inputdeco input[type=email][readonly], .inputdeco input[type=email][disabled], .inputdeco input[type=password][readonly], .inputdeco input[type=password][disabled], .inputdeco input[type=tel][readonly], .inputdeco input[type=tel][disabled], .inputdeco textarea[readonly], .inputdeco textarea[disabled] {
  border-color: #eeeeee;
}

.inputdeco input[type=radio], .inputdeco input[type=checkbox] {
  display: inline-block;
  margin-right: 6px;
}

.inputdeco textarea {
  width: 97.4%;
  min-height: 16.5em;
  padding: 10px 1%;
  line-height: 1.4;
}

.inputdeco input[type=radio] + label, .inputdeco input[type=checkbox] + label {
  display: inline-block;
  position: relative;
  width: 24px;
  min-height: 24px;
  cursor: pointer;
}

@media (min-width: 1px) {
  .inputdeco input[type=radio], .inputdeco input[type=checkbox] {
    display: none;
    margin: 0;
  }

  .inputdeco input[type=radio] + label, .inputdeco input[type=checkbox] + label {
    width: auto;
    margin: 0 .2em;
    padding: .2em 0 0 1.5em;
    color: #ec5a5a;
    font-size: 1em;
    font-weight: bold;
    transition: background-color .2s linear;
    line-height: 1.3;
    vertical-align: top;
    text-align: left;
    letter-spacing: -.1em;
  }

  .inputdeco input[type=radio] + label:hover, .inputdeco input[type=checkbox] + label:hover {
    border-radius: 6px;
    /*background: #ffe49f;*/
  }

  .inputdeco input[type=radio] + label::before,
  .inputdeco input[type=checkbox] + label::before {
    display: block;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: .2em;
    left: 0;
    width: 1.3em;
    height: 1.3em;
    margin: 0;
    background: #ffffff;
    content: "";
  }

  .inputdeco input[type=radio] + label::before {
    border: 2px solid #ec5a5a;
    border-radius: 30px;
  }

  .inputdeco input[type=checkbox] + label::before {
    border: 2px solid #ec5a5a;
    border-radius: 6px;
  }

  .inputdeco input[type=radio]:checked + label::after,
  .inputdeco input[type=checkbox]:checked + label::after {
    display: block;
    position: absolute;
    top: 56%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
  }

  .inputdeco input[type=radio]:checked + label::after {
    top: .5em;
    left: 0;
    width: 13px;
    height: 13px;
    margin-left: .3em;
    border-radius: 8px;
    background: #e45009;
  }

  .inputdeco input[type=checkbox]:checked + label::after {
    top: .6em;
    left: .3em;
    width: .8em;
    height: .4em;
    border-bottom: 3px solid #e45009;
    border-left: 3px solid #e45009;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}
@media screen and (min-width: 960px) {
  /*幅広の時*/
  .inputdeco input[type=text], .inputdeco input[type=email], .inputdeco input[type=password], .inputdeco input[type=tel], .inputdeco textarea {
    font-size: 24px;
    border-radius: 15px;
  }
}
/*------------------------------------------------------------
  モーダル
*/
/* 押されたラジオボタンに対応する領域を表示 ※追加時はここも追加 ==== */
#systemModal > #sM_1_open:checked ~ #sM_bodyWrapper #sM_1,
#systemModal > #sM_2_open:checked ~ #sM_bodyWrapper #sM_2,
#systemModal > #sM_3_open:checked ~ #sM_bodyWrapper #sM_3,
#systemModal > #sM_4_open:checked ~ #sM_bodyWrapper #sM_4,
#systemModal > #sM_5_open:checked ~ #sM_bodyWrapper #sM_5 {
  display: block;
}

/* 基本設定 ※ここから下は編集の必要なし */
#systemModal > .sM_open,
#systemModal > .sM_close,
#systemModal > .sM_closeSwitch,
#systemModal > #sM_bodyWrapper,
#systemModal .sM_body {
  display: none;
}

#systemModal > .sM_open:checked ~ #sM_bodyWrapper,
#systemModal > .sM_open:checked ~ .sM_closeSwitch {
  display: inline-block;
}

#systemModal > .sM_closeSwitch,
.sM_openSwitch {
  cursor: pointer;
  opacity: 1;
}

#systemModal > .sM_closeSwitch:hover,
.sM_openSwitch:hover {
  opacity: .8;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#systemModal > #sM_closeBase {
  /* モーダル：背景 */
  position: fixed;
  left: 0;
  top: 0;
  z-index: 997;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  overflow: hidden;
  animation: fadeIn .3s ease 0s 1 normal;
  -webkit-animation: fadeIn .3s ease 0s 1 normal;
}

#systemModal > #sM_closeBtn {
  /* モーダル：閉じるボタン */
  position: fixed;
  left: 10px;
  bottom: 20px;
  z-index: 999;
  width: 44pt;
  height: 44pt;
  border-radius: 50%;
  font-size: 40px;
  line-height: 44pt;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2);
  animation: fadeIn .5s ease 0s 1 normal;
  -webkit-animation: fadeIn .5s ease 0s 1 normal;
}

#systemModal > #sM_bodyWrapper {
  /* モーダル：ベース部分 */
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 998;
  width: 90%;
  max-width: 700px;
  height: 80%;
  padding: 10px 20px;
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  animation: fadeIn .5s ease 0s 1 normal;
  -webkit-animation: fadeIn .5s ease 0s 1 normal;
}

#systemModal .sM_body {
  /* モーダル：各表示枠共通 */
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#systemModal .sM_title {
  /* モーダル：各表示枠内 見出し */
  margin: .5em 0;
  padding-bottom: .5em;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}

#systemModal .sM_main {
  /* モーダル：各表示枠内 内容 */
  color: #222;
  font-size: 14px;
  line-height: 1.8em;
  text-align: left;
}

#systemModal .sM_main > h2 {
  display: none;
}

@media screen and (min-width: 960px) {
  /*幅広の時*/
  #systemModal > #sM_bodyWrapper {
    padding: 30px;
  }

  #systemModal > #sM_closeBtn {
    left: 80%;
    top: 30px;
  }
}
#systemModal iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

#systemModal img {
  max-width: 100%;
}

/* - - - - - - - - - - - - - - -
 モーダル内容部分
*/
.partsTemplate_document {
  padding: 0 .5em 1em;
  text-align: left;
}

.partsTemplate_document > h2 {
  display: none;
}

.partsTemplate_document dl {
  padding: 0 0 2em;
}

.partsTemplate_document dl dt {
  margin-top: 2em;
  margin-bottom: .5em;
  padding-left: .5em;
  border-bottom: 1px solid #434343;
  border-left: 5px solid #434343;
  color: #434343;
  font-weight: bold;
}

.partsTemplate_document dl dd:first-child {
  margin-top: 0;
}

.partsTemplate_document dl dd > p {
  margin-top: 1em;
  margin-left: 1em;
}

.partsTemplate_document dl dd > p:first-child {
  margin-top: 0;
}

.partsTemplate_document dl dd > ul {
  margin-bottom: 2em;
}

.partsTemplate_document dl + h3 {
  margin-top: 2em;
  text-align: center;
}

/*------------------------------------------------------------
 その他汎用
*/
.css_right {
  text-align: right;
}

.css_left {
  text-align: left;
}

.css_bold {
  font-weight: 700;
}

.css_ds_ib {
  display: inline-block;
}

.css_red {
  color: #ef0400;
}

.css_green {
  color: #68a313;
}

.css_small2 {
  font-size: 2vw;
}

.css_small1 {
  font-size: 3vw;
}

.css_normal {
  font-size: 4vw;
}

.css_large1 {
  font-size: 5vw;
}

.css_large2 {
  font-size: 6vw;
}

@media screen and (max-width: 959px) {
  /*幅狭の時*/
  .css_pd_all {
    padding: 5vw;
  }

  .css_pd_yside {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }

  .css_pd_xside {
    padding-right: 5vw;
    padding-left: 5vw;
  }

  .css_pd_top {
    padding-top: 5vw;
  }

  .css_pd_bottom {
    padding-bottom: 5vw;
  }

  .css_pd_l_all {
    padding: 10vw;
  }

  .css_pd_l_yside {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }

  .css_pd_l_xside {
    padding-right: 10vw;
    padding-left: 10vw;
  }

  .css_pd_l_top {
    padding-top: 10vw;
  }

  .css_pd_l_bottom {
    padding-bottom: 10vw;
  }

  .css_pd_ll_all {
    padding: 12vw;
  }

  .css_pd_ll_yside {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  .css_pd_ll_xside {
    padding-right: 12vw;
    padding-left: 12vw;
  }

  .css_pd_ll_top {
    padding-top: 12vw;
  }

  .css_pd_ll_bottom {
    padding-bottom: 12vw;
  }

  .css_mg_all {
    margin: 5vw;
  }

  .css_mg_yside {
    margin-top: 5vw;
    margin-bottom: 5vw;
  }

  .css_mg_xside {
    margin-right: 5vw;
    margin-left: 5vw;
  }

  .css_mg_top {
    margin-top: 5vw;
  }

  .css_mg_bottom {
    margin-bottom: 5vw;
  }

  .css_mg_l_all {
    margin: 10vw;
  }

  .css_mg_l_yside {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }

  .css_mg_l_xside {
    margin-right: 10vw;
    margin-left: 10vw;
  }

  .css_mg_l_top {
    margin-top: 10vw;
  }

  .css_mg_l_bottom {
    margin-bottom: 10vw;
  }

  .css_mg_ll_all {
    margin: 12vw;
  }

  .css_mg_ll_yside {
    margin-top: 12vw;
    margin-bottom: 12vw;
  }

  .css_mg_ll_xside {
    margin-right: 12vw;
    margin-left: 12vw;
  }

  .css_mg_ll_top {
    margin-top: 12vw;
  }

  .css_mg_ll_bottom {
    margin-bottom: 12vw;
  }

  .css_full {
    width: 100%;
  }
  .css_full img {
    width: 100%;
  }
}
@media screen and (min-width: 960px) {
  /*幅広の時*/
  .css_small2 {
    font-size: 16px;
  }

  .css_small1 {
    font-size: 18px;
  }

  .css_normal {
    font-size: 24px;
  }

  .css_large1 {
    font-size: 34px;
  }

  .css_large2 {
    font-size: 34px;
  }

  .css_pd_all {
    padding: 30px;
  }

  .css_pd_yside {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .css_pd_xside {
    padding-right: 30px;
    padding-left: 30px;
  }

  .css_pd_top {
    padding-top: 30px;
  }

  .css_pd_bottom {
    padding-bottom: 30px;
  }

  .css_pd_l_all {
    padding: 60px;
  }

  .css_pd_l_yside {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .css_pd_l_xside {
    padding-right: 60px;
    padding-left: 60px;
  }

  .css_pd_l_top {
    padding-top: 60px;
  }

  .css_pd_l_bottom {
    padding-bottom: 60px;
  }

  .css_pd_ll_all {
    padding: 80px;
  }

  .css_pd_ll_yside {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .css_pd_ll_xside {
    padding-right: 80px;
    padding-left: 80px;
  }

  .css_pd_ll_top {
    padding-top: 80px;
  }

  .css_pd_ll_bottom {
    padding-bottom: 80px;
  }

  .css_mg_all {
    margin: 30px;
  }

  .css_mg_yside {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .css_mg_xside {
    margin-right: 30px;
    margin-left: 30px;
  }

  .css_mg_top {
    margin-top: 30px;
  }

  .css_mg_bottom {
    margin-bottom: 30px;
  }

  .css_mg_l_all {
    margin: 60px;
  }

  .css_mg_l_yside {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .css_mg_l_xside {
    margin-right: 60px;
    margin-left: 60px;
  }

  .css_mg_l_top {
    margin-top: 60px;
  }

  .css_mg_l_bottom {
    margin-bottom: 60px;
  }

  .css_mg_ll_all {
    margin: 80px;
  }

  .css_mg_ll_yside {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .css_mg_ll_xside {
    margin-right: 80px;
    margin-left: 80px;
  }

  .css_mg_ll_top {
    margin-top: 80px;
  }

  .css_mg_ll_bottom {
    margin-bottom: 80px;
  }
}
/*------------------------------------------------------------
  幅による表示切替用
*/
@media screen and (max-width: 959px) {
  /*幅狭の時*/
  .viewAt_wide {
    /*幅広の時にしか見せないもの*/
    display: none !important;
  }

  .br_s:before {
    content: "\a";
    white-space: pre;
  }
}
@media screen and (min-width: 960px) {
  /*幅広の時*/
  .viewAt_narrow {
    /*幅狭の時にしか見せないもの*/
    display: none !important;
  }

  .br_w:before {
    content: "\a";
    white-space: pre;
  }
}
/*------------------------------------------------------------
  閲覧端末による表示切替用※
  ※本番では、端末により表示状態を切り替える際、
  　基本的にはsmartyの条件分岐を使って、
  　htmlに出力自体させない形で対応を行っています。
  　やむを得ずcssで出し分けている部分もありますが、
  　乱用してしまうと管理しずらくなりますので、ご注意下さい。
  ※bodyにつくクラス名pc/spはsmartyで出力しているため、
  　判定は常にsmartyでの切り替えと同じ結果になります。
*/
body.pc .viewFrom_sp {
  /*SPの時にしか見せないもの*/
  display: none !important;
}

body.sp .viewFrom_pc {
  /*PCの時にしか見せないもの*/
  display: none !important;
}

/*------------------------------------------------------------
  サイトのローディング表示
*/
#siteLoader {
  position: absolute;
  z-index: 3;
  background: #ffffff;
  width: 100%;
  height: 100%;
  padding: 60px 0;
  text-align: center;
}

/*------------------------------------------------------------
  出向時の幅調整
*/
.innerWrapper {
  max-width: 100%;
  margin: auto;
}

/*------------------------------------------------------------
 ヒートマップ
*/
.mf-heatmap-targeted {
  display: block !important;
}

.mf-heatmap-targeted .registform {
  right: 0 !important;
}

/*============================================================
 専用スタイル
 ※↑も一部書き換えています
*/
main {
  margin: auto;
  line-height: 1.5;
}

@media screen and (max-width: 959px) {
  /*幅狭の時*/
  main {
    font-size: 4vw;
  }
}
@media screen and (min-width: 960px) {
  /*幅広の時*/
  main {
    font-size: 16px;
  }
}
#s01wrap {
  position: relative;
  z-index: 1;
  background: url(/common/images/lp301_s01_bg2.png) top center repeat-x;
}
#s01wrap > div {
  position: relative;
  background: rgba(228, 24, 24, 0.8);
}
#s01wrap .bg1 {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -762px;
  z-index: 0;
  width: 1524px;
}

#s01 .wrapper {
  position: relative;
}
#s01 .block01 {
  position: relative;
  z-index: 0;
}
#s01 .block02 {
  display: block;
  position: absolute;
  top: 32px;
  left: 24%;
  color: #ffffff;
  width: 10em;
  font-family: din-2014, sans-serif;
}
#s01 .block02 a {
  color: inherit;
}

#s01b {
  position: relative;
  z-index: 1;
}
#s01b .block02 {
  color: #ffffff;
}
#s01b .block02 strong {
  color: #fff946;
}

#s01r .registform .notice:after {
  display: block;
  content: "※登録2014年10月1日。2025年9月15日現在会員数149446人。退会者を除く会員数141360人。";
  margin-top: 1em;
}

#s02 .block01 .text01,
#s02 .block01 .text03 {
  font-weight: 700;
}
#s02 .block01 strong {
  color: #f2292c;
}
#s02 .block03 {
  color: #666666;
}
#s02 .wrapper_space {
  max-width: 910px;
}

#s03 {
  background: url(/common/images/lp301_s03_01bg.jpg?21) top center no-repeat #0c111e;
}
#s03 .block02 {
  position: relative;
}
#s03 .block02 .icon {
  position: absolute;
  left: 0;
  bottom: -50px;
  opacity: 0;
}
#s03 .block03 {
  background: url(/common/images/lp301_s03_03bg.jpg) top center no-repeat;
}

#s04wrap {
  position: relative;
  z-index: 1;
  background: #dbdbdb;
}
#s04wrap > div {
  position: relative;
  background: rgba(228, 24, 24, 0.8);
}
#s04wrap .bg {
  position: absolute;
  /*top: 33%;*/
  top: 11%;
  left: 42%;
  margin-left: -700px;
  z-index: -1;
  width: 1400px;
}
#s04wrap .attention {
  background: #dbdbdb;
  max-width: none;
}
#s04wrap .attention .ttl {
  font-weight: 900;
  color: #e34040;
}
#s04wrap .attention .text01 strong {
  color: #e34040;
}
#s04wrap .attention .text03 {
  letter-spacing: 1px;
}
#s04wrap .attention .text03 strong {
  font-weight: 700;
}
#s04wrap .attention .text03 span {
  color: #e34040;
  font-family: din-2014, sans-serif;
  font-weight: 700;
  line-height: 1.2;
}

#s04 .block01 {
  background: #ffffff;
}
#s04 .block02 {
  position: relative;
  z-index: 0;
}
#s04 .block02 .image01 {
  position: relative;
  z-index: 0;
}

#s04b {
  position: relative;
  z-index: 1;
}
#s04b .block01 {
  font-weight: 900;
  color: #ffffff;
}

#lp_blockset007  {
  background: #0c111e;
}
#lp_blockset007  .block01b a {
  display: inline-block;
  max-width: 800px;
  width: 70%;
  margin: auto;
  padding: 0.75em;
  background: #fff946;
  color: #0c111e;
  font-size: 4vw;
  font-weight: 700;
}
#lp_blockset007  .block03 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: flex-start;
}
#lp_blockset007  .block03 li {
  position: relative;
  width: 48%;
  margin: 10px 5px;
  padding: 26px 22px;
  border-radius: 100px;
  background: #e1e1e1;
  letter-spacing: 0;
  text-align: left;
  transform: translate(0, 0);
}
#lp_blockset007  .block03 li p {
  vertical-align: top;
}
#lp_blockset007  .block03 li span {
  display: block;
  color: #e23b3e;
}
#lp_blockset007  .block03 li strong {
  font-weight: 900;
  color: #e23b3e;
}
#lp_blockset007  .block03 li:before {
  display: inline-block;
  content: " ";
  height: 90px;
  width: 90px;
  border-radius: 50%;
  background: url(/common/images/lp301_s05_03.png) 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#lp_blockset007  .block03 li.i01:before {
  background-position: 0 0;
}
#lp_blockset007  .block03 li.i04:before {
  background-position: 0 -90px;
}
#lp_blockset007  .block03 li.i03:before {
  background-position: 0 -180px;
}
#lp_blockset007  .block03 li.i06:before {
  background-position: 0 -270px;
}
#lp_blockset007  .block03 li.i05:before {
  background-position: 0 -360px;
}
#lp_blockset007  .block03 li.i02:before {
  background-position: 0 -450px;
  border-radius: 50% 25% 50% 50%;
}
#lp_blockset007  .block03 li.i07:before {
  background-position: 0 -540px;
}
#lp_blockset007  .block03 li.i08:before {
  background-position: 0 -630px;
}
#lp_blockset007  .block03 li.i09:before {
  background-position: 0 -720px;
}
#lp_blockset007  .block03 li.i10:before {
  background-position: 0 -810px;
}
#lp_blockset007  .block03 li.i11:before {
  background-position: 0 -900px;
}
#lp_blockset007  .block03 li.i12:before {
  background-position: 0 -990px;
}
#lp_blockset007  .block03 li.i13:before {
  background-position: 0 -1080px;
}
#lp_blockset007  .block03 li.i14:before {
  background-position: 0 -1170px;
}
#lp_blockset007  .block03 li.i15:before {
  background-position: 0 -1260px;
}
#lp_blockset007  .block03 li.i16:before {
  background-position: 0 -1350px;
}
#lp_blockset007  .wrapper_space {
  max-width: 960px;
}

/*block01b　部分に302専用を追加*/
.cb01 .text01 {
  color: #ffffff;
}

.cb02 .text01 {
  color: #ffffff;
}
.cb02 .image02 p {
  color: #ffffff;
}

@media screen and (min-width: 960px) {
  /*幅広の時*/
  .cb01 .text01 {
    font-size: 30px;
  }
  .cb01 .list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: flex-start;
  }
  .cb01 .list li {
    width: 48%;
    background: #ffffff;
    margin-bottom: 1.5em;
  }
  .cb01 .list li:nth-of-type(1) div:before {
    background-position: center -106px;
  }
  .cb01 .list li:nth-of-type(2) h3 {
    min-height: 15em; /*5.5em;*/
  }
  .cb01 .list li:nth-of-type(2) div {
    padding-top: 0;
  }
  .cb01 .list li:nth-of-type(2) div:before {
    display: none;
  }
  .cb01 .list li:nth-of-type(2) p + strong {
    margin-top: 1em;
  }
  .cb01 .list li:nth-of-type(3) div:before {
    background-position: center -208px;
  }
  .cb01 .list li:nth-of-type(4) div:before {
    background-position: center -314px;
  }
  .cb01 .list li:nth-of-type(5) div:before {
    background-position: center -421px;
  }
  .cb01 .list h3 {
    min-height: 7em;
    background: url(/common/images/lp302_s05_cb01_parts.png) top left no-repeat;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  }
  .cb01 .list label {
    display: inline-block;
    width: 100%;
    font-size: 1.5em;
    font-weight: 700;
    color: #ec4547;
    vertical-align: middle;
    box-sizing: border-box;
  }
  .cb01 .list div {
    position: relative;
    padding: 10em 1em 1em;
    font-size: .95em;
    line-height: 1.8;
    text-align: left;
  }
  .cb01 .list div strong {
    display: inline-block;
    margin-bottom: 0.25em;
    padding: 0 1em;
    border-radius: 1em;
    background: #ec4547;
    color: #ffffff;
    font-weight: 400;
    line-height: 1.6;
  }
  .cb01 .list div:before {
    position: absolute;
    top: 1em;
    left: 0;
    content: " ";
    display: block;
    width: 100%;
    height: 102px;
    background: url(/common/images/lp302_s05_cb01_icon.png) top center no-repeat;
  }
  .cb01 .systemAccordion > .sA_body {
    display: block;
  }
  .cb01 .systemAccordion .sA_openSwitch:after {
    display: none;
  }

  .cb02 .text01 {
    font-size: 30px;
  }
  .cb02 .list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: flex-start;
  }
  .cb02 .list li {
    width: 31%;
    background: #fafafa;
    margin-bottom: 1.5em;
  }
  .cb02 .list li:nth-of-type(1) strong {
    position: absolute;
    top: 2.5em;
    left: 50%;
    margin-left: -6.5em;
  }
  .cb02 .list li:nth-of-type(1) strong:before {
    position: absolute;
    top: .1em;
    left: .75em;
    width: 0;
    height: 0;
    border: .4em solid transparent;
    border-bottom: .6em solid #fb0;
    content: "";
  }
  .cb02 .list li:nth-of-type(1) strong:after {
    position: absolute;
    top: .7em;
    left: .75em;
    width: 0;
    height: 0;
    border: .4em solid #fb0;
    border-top: .2em solid transparent;
    border-bottom: .4em solid #fb0;
    content: "";
  }
  .cb02 .list li:nth-of-type(1) div:before {
    display: none;
  }
  .cb02 .list li:nth-of-type(2) div:before {
    background-position: center 2px;
  }
  .cb02 .list li:nth-of-type(3) div:before {
    background-position: center -105px;
  }
  .cb02 .list h3 {
    min-height: 7em;
    background: #ec4547;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  .cb02 .list label {
    display: inline-block;
    width: 100%;
    font-size: 1.5em;
    font-weight: 700;
    color: #ffffff;
    vertical-align: middle;
    box-sizing: border-box;
  }
  .cb02 .list div {
    position: relative;
    min-height: 30em;
    padding: 7em 1em 1em;
    font-size: .95em;
    text-align: left;
    line-height: 1.8;
  }
  .cb02 .list div strong {
    display: inline-block;
    padding: 0 1em 0 2em;
    background: #ec4547;
    color: #ffffff;
    font-weight: 300;
  }
  .cb02 .list div .check {
    display: block;
    width: 100%;
    padding: 1em;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #e9e9e9;
    color: #000000;
    font-size: 1.4em;
    font-weight: 700;
    text-align: center;
  }
  .cb02 .list div .check:before {
    content: " ";
    display: inline-block;
    height: 1em;
    width: 1em;
    margin-right: 0.25em;
    border: 2px solid #000000;
    border-radius: .4em;
    margin-bottom: -0.2em;
  }
  .cb02 .list div .check:after {
    position: absolute;
    display: inline-block;
    content: " ";
    width: 0.6em;
    height: 0.3em;
    margin-top: 0.65em;
    margin-left: -7.45em;
    border-bottom: 3px solid #000000;
    border-left: 3px solid #000000;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .cb02 .list div:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    content: " ";
    display: block;
    width: 100%;
    height: 102px;
    background: url(/common/images/lp302_s05_cb02_icon.png) top center no-repeat;
  }
  .cb02 .image02 p {
    font-size: 1.2em;
  }
  .cb02 .systemAccordion > .sA_body {
    display: block;
  }
  .cb02 .systemAccordion .sA_openSwitch:after {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  /*幅狭の時*/
  .cb01 .list li {
    background: #ffffff;
    margin-bottom: .75em;
    border-radius: .5em;
    overflow: hidden;
  }
  .cb01 .list li:nth-of-type(1) label:before {
    content: "毎営業日後に公開";
  }
  .cb01 .list li:nth-of-type(2) label:before {
    content: "不定期更新";
  }
  .cb01 .list li:nth-of-type(3) label:before {
    content: "チャート分析";
  }
  .cb01 .list li:nth-of-type(4) label:before {
    content: "株価倍増を多数輩出";
  }
  .cb01 .list label {
    display: block;
    padding: 1em 1.5em 1em 1em;
    background: #e1e1e1;
    color: #ec4547;
    font-size: 1.3em;
    font-weight: 700;
    box-sizing: border-box;
    text-align: left;
  }
  .cb01 .list label:before {
    display: inline-block;
    margin-top: 0.2em;
    margin-right: -.5em;
    font-size: .8em;
    font-weight: 400;
    color: #666666;
    vertical-align: top;
  }
  .cb01 .list div {
    position: relative;
    padding: 1em;
    line-height: 1.8;
    text-align: left;
  }
  .cb01 .list div strong {
    display: inline-block;
    padding: 0 1em;
    margin-bottom: .5em;
    border-radius: 1em;
    background: #ec4547;
    color: #ffffff;
    line-height: 1.6;
  }
  .cb01 .list div p + strong {
    margin-top: 1em;
  }
  .cb01 .systemAccordion .sA_openSwitch:after {
    top: 5.5vw;
    right: 4vw;
    content: "?" !important;
    display: inline-block;
    height: 1em;
    width: 1em;
    padding: .5em;
    background: #666666;
    border-radius: 1em;
    color: #ffffff;
    font-size: 3.5vw;
    line-height: 1;
    text-align: center;
  }

  .cb02 .list li {
    margin-bottom: .75em;
    border-radius: .5em;
    background: #ef4448;
    color: #ffffff;
    overflow: hidden;
  }
  .cb02 .list li:nth-of-type(1) label:before {
    content: "１番人気！";
  }
  .cb02 .list li:nth-of-type(1) strong:before {
    position: absolute;
    top: .1em;
    left: 1.25em;
    width: 0;
    height: 0;
    border: .4em solid transparent;
    border-bottom: .6em solid #fb0;
    content: "";
  }
  .cb02 .list li:nth-of-type(1) strong:after {
    position: absolute;
    top: .7em;
    left: 1.25em;
    width: 0;
    height: 0;
    border: .4em solid #fb0;
    border-top: .2em solid transparent;
    border-bottom: .4em solid #fb0;
    content: "";
  }
  .cb02 .list li:nth-of-type(1) div:before {
    display: none;
  }
  .cb02 .list li:nth-of-type(2) label:before {
    content: "株初心者向け";
  }
  .cb02 .list li:nth-of-type(3) label:before {
    content: "マンツーマン";
  }
  .cb02 .list label {
    display: block;
    padding: 1em 1.5em 1em 1em;
    background: #ec4547;
    color: #ffffff;
    font-size: 1.3em;
    font-weight: 700;
    box-sizing: border-box;
    text-align: left;
  }
  .cb02 .list label:before {
    display: inline-block;
    font-size: .8em;
    font-weight: 400;
    margin-top: 0.2em;
    margin-right: -.5em;
    vertical-align: top;
  }
  .cb02 .list div {
    position: relative;
    padding: 0 1em 1em;
    line-height: 1.8;
    text-align: left;
  }
  .cb02 .list div strong {
    display: inline-block;
    padding: 0 0 0 1.5em;
    background: #ec4547;
    color: #ffffff;
  }
  .cb02 .list div p + strong {
    margin-top: 1em;
  }
  .cb02 .list div .check {
    display: none;
  }
  .cb02 .list .image02 p {
    font-size: .8em;
  }
  .cb02 .systemAccordion .sA_openSwitch:after {
    top: 5.5vw;
    right: 4vw;
    content: "?" !important;
    display: inline-block;
    height: 1em;
    width: 1em;
    padding: .5em;
    background: #ffffff;
    border-radius: 1em;
    color: #ec4547;
    font-size: 3.5vw;
    line-height: 1;
    text-align: center;
  }
  .cb02 .image02 p {
    font-size: .8em;
  }
}

#s06 {
  background: #e1e1e1;
}
#s06 .ttl {
  font-weight: 700;
}
#s06 .block01 {
  padding: 20px 20px;
  background: #ffffff;
  border-radius: 10px;
  text-align: left;
  color: #555555;
}
#s06 .block01 dt {
  padding: 20px 20px 20px 100px;
  position: relative;
  font-weight: 700;
}
#s06 .block01 dt:before {
  display: inline-block;
  content: " ";
  height: 54px;
  width: 54px;
  background: url(/common/images/lp301_s06_01.png) center center no-repeat;
  background-size: 100%;
  position: absolute;
  top: 14px;
  left: 20px;
}
#s06 .block01 dd {
  padding: 20px 20px 20px 100px;
  position: relative;
  color: #e47273;
}
#s06 .block01 dd:before {
  display: inline-block;
  content: " ";
  height: 54px;
  width: 54px;
  background: url(/common/images/lp301_s06_02.png) center center no-repeat;
  background-size: 100%;
  position: absolute;
  top: 14px;
  left: 20px;
}
#s06 .wrapper_space {
  max-width: 930px;
}

#s07wrap {
  position: relative;
  z-index: 1;
  background: #0c111e;
}
#s07wrap > div {
  position: relative;
  background: rgba(228, 24, 24, 0.8);
}
#s07wrap .bg {
  position: absolute;
  top: 21%;
  left: 49%;
  margin-left: -712px;
  z-index: -1;
  width: 1423px;
}

#s07 .block01 {
  position: relative;
  z-index: 0;
}
#s07 .block01 .image01 {
  position: relative;
  z-index: 0;
}

#s07b {
  position: relative;
  z-index: 1;
}

#s08 .ttl {
  font-weight: 900;
}
#s08 .text02 {
  color: #df3c3c;
  font-family: din-2014, sans-serif;
}
#s08 .text03 {
  margin-top: -20px;
}
#s08 .block02 {
  border-radius: 20px;
  background: #dadada;
}
#s08 .block02 ul li {
  margin-top: 20px;
}

#s01r, #s04r, #s07r {
  max-width: none;
  position: relative;
  z-index: 1;
}
#s01r > div, #s04r > div, #s07r > div {
  max-width: 830px;
}

@keyframes flash {
  0%,25%,75%,100% {
    opacity: 1;
  }
  50% {
    opacity: .4;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (max-width: 959px) {
  /*幅狭の時*/
  #s01wrap {
    background-size: contain;
  }
  #s01wrap .bg1 {
    top: 4%;
    left: -35%;
    margin-left: 0;
    width: 160%;
  }
  #s01wrap > div {
    margin: 0 2%;
    border-radius: 1em;
  }

  #s01 .block02 {
    top: 13vw;
    left: -5vw;
    font-size: 5vw;
	margin-top: 25px;
  }

  #s02 .block01 .text01,
  #s02 .block01 .text03 {
    font-size: 5vw;
  }
  #s02 .block03 {
    font-size: 3vw;
  }

  #s03 {
    position: relative;
    background-size: 220%;
    background-position: 15% 2%;
  }
  #s03:before {
    display: block;
    content: " ";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5vw 50vw 0 50vw;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
  }
  #s03 .block02 {
    display: block;
    width: 100%;
    padding-bottom: 5vw;
    overflow-x: scroll;
  }
  #s03 .block02 picture {
    display: block;
    width: 1000px;
    margin: auto;
  }
  #s03 .block02 .icon {
    width: 50%;
    left: 30vw;
    bottom: 0;
    animation: flash 2s linear infinite;
  }
  #s03 .block02.off .icon {
    animation: fadeout .3s linear;
  }
  #s03 .block03 {
    background-size: 115%;
    background-position: 50% 17%;
  }

  #s04wrap .bg {
    /*top: 149vw;*/
    top: 45vw;
    left: -25%;
    margin-left: 0;
    width: 140%;
  }
  #s04wrap .attention {
    font-size: 3vw;
  }
  #s04wrap .attention .ttl {
    font-size: 5vw;
  }
  #s04wrap .attention .text03 span {
    font-size: 6vw;
  }
  #s04wrap > div {
    margin: 0 2%;
    border-radius: 1em;
  }

  #s04 {
    position: relative;
  }
  #s04:before {
/*    display: block;
    content: " ";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5vw 50vw 0 50vw;
    border-color: #0c111e transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;*/
  }
  #s04 .block02 .bg {
    width: 138%;
    left: 180%;
    top: 48%;
  }

  #s04b .block01 {
    font-size: 6vw;
  }

  #lp_blockset007  .block03 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: flex-start;
  }
  #lp_blockset007  .block03 li {
    width: 100%;
    height: 16vw;
    margin: 1.5vw 0;
    padding: 4vw 2vw 4vw 16.5vw;
    font-size: 5vw;
  }
  #lp_blockset007  .block03 li span {
    font-size: 60%;
  }
  #lp_blockset007  .block03 li.ex p {
    margin-top: -.25em;
  }
  #lp_blockset007  .block03 li.ex span {
    margin-bottom: -.25em;
  }
  #lp_blockset007  .block03 li:before {
    height: 12vw;
    width: 12vw;
    top: 2vw;
    left: 2vw;
  }
  #lp_blockset007  .block03 li.i01:before {
    background-position: 0 0;
  }
  #lp_blockset007  .block03 li.i04:before {
    background-position: 0 -12vw;
  }
  #lp_blockset007  .block03 li.i03:before {
    background-position: 0 -24vw;
  }
  #lp_blockset007  .block03 li.i06:before {
    background-position: 0 -36vw;
  }
  #lp_blockset007  .block03 li.i05:before {
    background-position: 0 -48vw;
  }
  #lp_blockset007  .block03 li.i02:before {
    background-position: 0 -60vw;
  }
  #lp_blockset007  .block03 li.i07:before {
    background-position: 0 -72vw;
  }
  #lp_blockset007  .block03 li.i08:before {
    background-position: 0 -84vw;
  }
  #lp_blockset007  .block03 li.i09:before {
    background-position: 0 -96vw;
  }
  #lp_blockset007  .block03 li.i10:before {
    background-position: 0 -108vw;
  }
  #lp_blockset007  .block03 li.i11:before {
    background-position: 0 -120vw;
  }
  #lp_blockset007  .block03 li.i12:before {
    background-position: 0 -132vw;
  }
  #lp_blockset007  .block03 li.i13:before {
    background-position: 0 -144vw;
  }
  #lp_blockset007  .block03 li.i14:before {
    background-position: 0 -156vw;
  }
  #lp_blockset007  .block03 li.i15:before {
    background-position: 0 -168vw;
  }
  #lp_blockset007  .block03 li.i16:before {
    background-position: 0 -180vw;
  }

  #s06 .ttl {
    font-size: 6.5vw;
  }
  #s06 .block01 {
    padding: 3vw 2vw;
    border-radius: 2vw;
  }
  #s06 .block01 dt {
    padding: 3vw 12vw 3vw 10vw;
  }
  #s06 .block01 dt:before {
    height: 7.5vw;
    width: 7.5vw;
    top: 2.4vw;
    left: 1vw;
  }
  #s06 .block01 dd {
    padding: 3vw 4vw 3vw 10vw;
  }
  #s06 .block01 dd:before {
    height: 7.5vw;
    width: 7.5vw;
    top: 2.4vw;
    left: 1vw;
  }

  #s07wrap .bg {
    top: 16%;
    left: -40%;
    margin-left: 0;
    width: 164%;
  }
  #s07wrap > div {
    margin: 0 2%;
    border-radius: 1em;
  }

  #s08 .ttl {
    font-size: 6vw;
  }
  #s08 .text02 {
    font-size: 14vw;
  }
  #s08 .text02 > a {
    color: inherit;
  }
  #s08 .text03 {
    font-size: 3.5vw;
    margin-top: -1.5vw;
  }
  #s08 .block02 {
    padding: 6vw;
    border-radius: 3vw;
  }
  #s08 .block02 strong {
    font-size: 4vw;
  }
  #s08 .block02 ul {
    font-size: 3vw;
  }
  #s08 .block02 ul li {
    margin-top: 3vw;
  }

  #s01r .registform, #s04r .registform, #s07r .registform {
    box-sizing: border-box;
    padding: 0 4%;
  }
}
@media screen and (min-width: 960px) {
  /*幅広の時*/
  #s01 .block02 {
    font-size: 38px;
  }

  #s01b .block02 {
    font-size: 24px;
  }

  #s02 .block01 {
    font-size: 24px;
  }
  #s02 .block01 .text01,
  #s02 .block01 .text03 {
    font-size: 48px;
  }
  #s02 .block03 {
    font-size: 12px;
  }

  #s04wrap .attention {
    font-size: 18px;
  }
  #s04wrap .attention .ttl {
    font-size: 36px;
  }
  #s04wrap .attention .text03 span {
    font-size: 40px;
  }

  #s04b .block01 {
    font-size: 64px;
  }

  #lp_blockset007  .block01b a {
    max-width: 600px;
    font-size: 30px;
  }
  #lp_blockset007  .block03 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: flex-start;
  }
  #lp_blockset007  .block03 li {
    position: relative;
    width: 48%;
    margin: 10px 5px;
    padding: 26px 22px;
    border-radius: 100px;
    background: #e1e1e1;
    font-size: 24px;
  }
  #lp_blockset007  .block03 li p {
    padding-left: 70px;
  }
  #lp_blockset007  .block03 li span {
    font-size: 60%;
  }
  #lp_blockset007  .block03 li.ex p {
    margin-top: -.5em;
  }
  #lp_blockset007  .block03 li.ex span {
    margin-bottom: -.5em;
  }
  #lp_blockset007  .block03 li:before {
    transform: scale(0.75);
  }

  #s06 .ttl {
    font-size: 48px;
  }
  #s06 .block01 {
    padding: 20px 20px;
    border-radius: 10px;
    font-size: 24px;
  }

  #s07wrap {
    padding-bottom: 0;
  }

  #s08 .ttl {
    font-size: 48px;
  }
  #s08 .block01 {
    font-size: 24px;
  }
  #s08 .text02 {
    font-size: 140px;
  }
  #s08 .text03 {
    margin-top: -20px;
  }
  #s08 .block02 {
    border-radius: 20px;
  }
  #s08 .block02 strong {
    font-size: 30px;
  }
  #s08 .block02 ul {
    font-size: 18px;
  }
  #s08 .block02 ul li {
    margin-top: 20px;
  }
}
.lp_gold {
  color: #ffc800;
}

.lp_red {
  color: #ff0000;
}

.lp_underline {
  text-decoration: underline !important;
}

/*------------------------------------------------------------
  汎用アコーディオン
*/
input[type="radio"].sA_open:checked + .systemAccordion .sA_openSwitch:after,
input[type="checkbox"].sA_open:checked + .systemAccordion .sA_openSwitch:after {
  content: "−";
}

input[type="radio"].sA_open:checked + .systemAccordion > .sA_body,
input[type="checkbox"].sA_open:checked + .systemAccordion > .sA_body {
  display: block;
}

input[type="radio"].sA_open:checked + .systemAccordion .sA_openSwitch {
  cursor: auto;
}

input[type="radio"].sA_open:checked + .systemAccordion .sA_openSwitch:after {
  content: none;
}

.sA_open {
  display: none;
}

.systemAccordion > .sA_body {
  display: none;
  animation: fadeIn .5s ease 0s 1 normal;
  -webkit-animation: fadeIn .5s ease 0s 1 normal;
}

.systemAccordion .sA_openSwitch {
  position: relative;
  display: block;
  cursor: pointer;
}

.systemAccordion .sA_openSwitch:after {
  position: absolute;
  top: 42%;
  right: 0;
  content: "＋";
  color: #c2c2c2;
  font-size: 2em;
  vertical-align: top;
  line-height: 0;
}

@media screen and (max-width: 959px) {
  /*幅狭の時*/
  .systemAccordion .sA_openSwitch:after {
    top: 3vw;
    right: -10vw;
  }
}
@media screen and (min-width: 960px) {
  /*幅広の時*/
  .systemAccordion .sA_openSwitch:after {
    top: 42%;
    right: 0;
  }
}
/*------------------------------------------------------------
  横からフォーム
*/


/*------------------------------------------------------------
  その他特殊要素
*/

/* pr表記追加　250701 */
#header_pr {
  display: inline-block;
  margin-right: 1em;
  padding: 0 .5em;
  border-radius: 1em;
  background: #ffffff;
  color: #000000;
  font-weight: bold;
}
#header_from {
  padding: .25em 0;
  background: #000000;
  color: #ffffff;
  font-size: 3vw;
  text-align: center;
}
@media screen and (min-width: 960px) {
  #header_from {
    font-size: 20px;
  }
}

/*実績 250926*/
#s02 {
  /*background: #efefef;*/
}
#lp_blockset004 {
  padding: .5em;
  background: #ffffff;
  text-align: left;
}
#lp_blockset004 li {
  padding: .5em;
  border: 1px solid #cccccc;
}
#lp_blockset004 li + li {
  margin-top: .5em;
}
#lp_blockset004 li div > span {
  display: block;
  margin-top: .2em;
}
#lp_blockset004 li div > span > span {
  display: inline-block;
  margin: .3em 0 0 .5em;
  padding: 0 .5em;
  border: 1px solid #ff7600;
  color: #ff7600;
  font-size: .7em;
  vertical-align: top;
}
#lp_blockset004 li > strong {
  display: inline-block;
  padding: 0 .25em;
  background: #f63737;
  color: #ffffff;
}
#lp_blockset004 li .val {
  display: inline-block;
  min-width: 4em;
  text-align: right;
}
#lp_blockset004 li .status.css_red {
  display: inline-block;
  margin-left: .5em;
  border-bottom: 3px double #ff0000;
}
#lp_blockset004 li p {
  display: block;
}
#lp_blockset004 + p {
  margin: 0 .5em;
  margin-top: .5em;
  font-size: 80%;
  text-align: left;
}


#lp_comment {
  background: #e1e1e1;
  padding: 3em .5em;
  margin: 3em .5em 1em;
  border-radius: 2em;
}
#lp_comment dt {
  font-size: 1em;
  font-weight: bold;
}
#lp_comment dt::before,
#lp_comment dt::after {
  content: "";
  display: inline-block;
  margin: 0 1em -.75em;
  height: 2em;
  width: 1px;
  background: #000000;
  transform: skew(25deg);
}
#lp_comment dt::after {
  transform: skew(-25deg);
}
#lp_comment dd {
  margin-top: 2em;
  /*min-height: 170px;*/
}

#lp_comment .comment {
  position: relative;
}
#lp_comment .comment::before {
  display: none;
  width: 168px;
  height: 168px;
  border-radius: 50%;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: url(/common/images/lp301_comment_i01.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
}
#lp_comment .comment.right::before {
  left: auto;
  right: 0;
}
#lp_comment .comment:nth-child(2)::before {
  background-image: url(/common/images/lp301_comment_i01.png);
}
#lp_comment .comment:nth-child(3)::before {
  background-image: url(/common/images/lp301_comment_i02.png);
}
#lp_comment .comment:nth-child(4)::before {
  background-image: url(/common/images/lp301_comment_i03.png);
}
#lp_comment .comment:nth-child(5)::before {
  background-image: url(/common/images/lp301_comment_i04.png);
}
#lp_comment .comment:nth-child(6)::before {
  background-image: url(/common/images/lp301_comment_i05.png);
}
#lp_comment .comment p {
  position: relative;
  /*display: inline-block;*/
  margin: 1em 0;
  padding: 1em;
  border: none;
  border-radius: 1em;
  background: #ffffff;
  text-align: left;
  font-size: 1em;
}
#lp_comment .comment p::after {
  display: block;
  content: "";
  clear: both;
}
#lp_comment .comment p span{
  float: left;
  width: 70%;
}
#lp_comment .comment p img {
  float: right;
  width: 27%;
}
#lp_comment .comment p::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15%;
  border-style: solid;
  border-width: 15.2px 15.2px 0 0;
  border-color: #ffffff transparent transparent;
  translate: calc(-50% - 0.4px) 100%;
  transform: skew(-25deg);
  transform-origin: top;
}
#lp_comment .comment.right p::before {
  left: auto;
  right: 15%;
  transform: skew(50deg);
}

#lp_comment + p {
  margin: 0 .5em;
  margin-top: .5em;
  font-size: 80%;
  text-align: left;
}


@media screen and (min-width: 960px) {
  #lp_blockset004 {
    font-size: 1.5em;
  }
  #lp_blockset004 li p {
    display: inline-block;
    font-size: 80%;
  }
  #lp_blockset004 li p + p:before {
    content: "→";
    display: inline-block;
    margin-right: .5em;
  }

  #lp_comment {
    background: #e1e1e1;
    padding: 80px 4em;
    margin: 3em .5em 1em;
  }
  #lp_comment dt {
    font-size: 2em;
  }
  #lp_comment dd {
    margin-top: 3em;
    min-height: 170px;
  }
  #lp_comment .comment {
    padding: 0 10% 0 22%;
  }
  #lp_comment .comment p {
    padding: 1em;
  }
  #lp_comment .comment.right {
    padding: 0 22% 0 10%;
  }
  #lp_comment .comment::before {
    display: inline-block;
  }
}

.forLp306 {
  display: none;
}
#pageId_306 .forLp306 {
  display: block;
}