@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
section, nav, article, aside, hgroup, header, footer, figure, figcaption, details {
  display: block; }

html, body, div, span, applet, object, iframe, strong, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, legend, caption, tbody, tfoot, thead, table, label, tr, th, td, figure {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline; }

html {
  -webkit-text-size-adjust: 100%;
  font-size: calc(100vw / ( 640 / 26 )); }

body {
  font-family: 'Noto Sans JP','Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
  color: #000;
  line-height: 1.8;
  letter-spacing: .05em;
  background: #ddd; }

li {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  color: #000;
  text-decoration: none; }

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

hr {
  height: 1px;
  background-color: #ccc;
  border: 0; }

.video-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.video-container iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 1; }

.sp_only {
  display: block; }

.sp_only_inline {
  display: inline; }

.pc_only,
.pc_only_inline {
  display: none; }

.wrap {
  max-width: 640px;
  padding: 0 calc(100vw / ( 640 / 40 ));
  margin: 0 auto; }
  .wrap.wide {
    padding: 0 calc(100vw / ( 640 / 20 )); }

.to_top {
  transition: top .6s ease, opacity .6s ease;
  position: relative;
  top: 50px;
  opacity: 0; }

.isAnimate.show.to_top {
  top: 0;
  opacity: 1; }

.to_top_left {
  transition: all 1s ease;
  position: relative;
  top: 50px;
  left: 50px;
  opacity: 0; }

.isAnimate.show.to_top_left {
  top: 0;
  left: 0;
  opacity: 1; }

.to_top_right {
  transition: all 1s ease;
  position: relative;
  top: 50px;
  right: 50px;
  opacity: 0; }

.isAnimate.show.to_top_right {
  top: 0;
  right: 0;
  opacity: 1; }

.contents {
  max-width: 640px;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
  text-align: center; }

.note {
  font-size: calc(100vw / ( 640 / 16 ));
  line-height: 1.6;
  margin-left: 1em;
  text-align: left; }
  .note li {
    margin: 0 0 .5em;
    text-indent: -1em; }
    .note li:last-child {
      margin-bottom: 0; }

ol.note {
  margin-left: 2em; }
  ol.note li {
    text-indent: -2em;
    counter-increment: num; }
  ol.note li:before {
    content: "※" counter(num) " "; }

.list {
  padding-left: 1em;
  line-height: 1.6;
  text-align: left; }
  .list li {
    margin: 0 0 .5em;
    text-indent: -1em; }
    .list li:last-child {
      margin-bottom: 0; }

.common_list {
  text-align: left; }
  .common_list li {
    padding-left: calc(100vw / ( 640 / 46 ));
    margin-bottom: .8rem;
    position: relative; }
    .common_list li:before {
      content: "";
      display: block;
      width: calc(100vw / ( 640 / 30 ));
      height: calc(100vw / ( 640 / 30 ));
      background: url("../images/icon_star.svg") no-repeat;
      background-size: contain;
      position: absolute;
      top: .4em;
      left: 0; }
    .common_list li:last-child {
      margin-bottom: 0; }

.common_list.dot_a li:before {
  background: url("../images/icon_dot_a.svg") no-repeat;
  background-size: contain;
  top: .4em; }

.common_list.dot_b li:before {
  background: url("../images/icon_dot_b.svg") no-repeat;
  background-size: contain;
  top: .4em; }

.common_list.dot_c li:before {
  background: url("../images/icon_dot_c.svg") no-repeat;
  background-size: contain;
  top: .4em; }

.common_list.dot_d li:before {
  background: url("../images/icon_dot_d.svg") no-repeat;
  background-size: contain;
  top: .4em; }

.marker {
  background: linear-gradient(to bottom, transparent 40%, #fff4aa 40%, #fff4aa 90%, #fff4aa 90%, transparent 90%); }

.marker_blue {
  background: linear-gradient(to bottom, transparent 60%, #bffff4 60%, #bffff4 90%, #bffff4 90%, transparent 90%); }

em {
  font-weight: bold;
  font-weight: 700; }

.f_b {
  font-weight: bold;
  font-weight: 900; }

.l {
  font-size: 1.076923em; }

.ll {
  font-size: 1.15em; }

.lll {
  font-size: 1.2857142em; }

.t_r {
  display: block;
  text-align: right; }

.orange {
  color: #ff9018; }

.pink {
  color: #ff5273; }

.red {
  color: #e60012; }

.green {
  color: #19cfaf; }

.blue {
  color: #5ca8cb; }

.navy {
  color: #2f699e; }

.bg_white {
  background: #fff; }

.timer {
  background: #f32e4a;
  color: #fff;
  line-height: 1.2;
  width: 100%;
  height: calc(100vw / ( 640 / 120 ));
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  font-size: calc(100vw / ( 640 / 30 )); }
  .timer span {
    font-weight: 900;
    font-weight: bold;
    color: #fcff00; }

.memo {
  font-size: calc(100vw / ( 640 / 16 ));
  line-height: 1.2;
  text-align: left; }

/*=======================================
	mv
=======================================*/
/*=======================================
	p1_movie
=======================================*/
.p1_movie {
  background: #fff5f3;
  padding: 1rem 0 2.5rem; }
  .p1_movie p {
    margin: 0 -1rem 2rem;
    letter-spacing: normal; }
    .p1_movie p:before {
      content: "";
      display: block;
      width: calc(100vw / ( 640 / 54 ));
      height: calc(100vw / ( 640 / 54 ));
      margin: 0 auto .5rem;
      background: url("../images/icon_attention.png") no-repeat;
      background-size: contain; }
  .p1_movie .note {
    margin-top: .5rem; }
  .p1_movie .btn {
    margin: 1.5rem 0 0; }

/*=======================================
	p1_msg
=======================================*/
.p1_msg {
  padding: 2.5rem 0; }
  .p1_msg p,
  .p1_msg ul {
    text-align: left; }
  .p1_msg .flex {
    display: flex;
    margin-bottom: .5rem; }
    .p1_msg .flex figure {
      width: calc(100vw / ( 640 / 200 ));
      margin-right: calc(100vw / ( 640 / 20 )); }
    .p1_msg .flex p {
      width: calc(100vw / ( 640 / 340 ));
      padding-top: .5rem; }
  .p1_msg .list {
    margin-top: 2rem;
    margin-bottom: 2rem; }

/*=======================================
	p1_step
=======================================*/
.p1_step {
  background: #fff5f3;
  padding: 0 0 3rem; }
  .p1_step p,
  .p1_step ul {
    text-align: left;
    margin: 2rem 0; }
  .p1_step .num {
    text-align: left;
    margin-top: 2.5rem; }
    .p1_step .num img {
      width: calc(100vw / ( 640 / 156 )); }
  .p1_step .num + p {
    margin-top: .5rem; }

/*=======================================
	p1_voice
=======================================*/
.p1_voice {
  background: #c2f7f6;
  padding-bottom: 2rem; }
  .p1_voice .marker {
    background: linear-gradient(to bottom, transparent 40%, #ffebc3 40%, #ffebc3 90%, #ffebc3 90%, transparent 90%); }
  .p1_voice .wrap {
    padding: 0 calc(100vw / ( 640 / 20 )); }
  .p1_voice section {
    margin: 2rem 0 .5rem; }
  .p1_voice .num {
    background: #feae24;
    color: #fff;
    font-family: 'Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
    font-size: calc(100vw / ( 640 / 30 ));
    font-weight: bold;
    font-weight: 700;
    line-height: 1;
    padding: .8rem 0; }
  .p1_voice .inner {
    background: #fff;
    padding: 1.5rem calc(100vw / ( 640 / 20 )); }
    .p1_voice .inner h3 {
      font-size: calc(100vw / ( 640 / 30 ));
      font-weight: bold;
      font-weight: 700;
      letter-spacing: normal; }
      .p1_voice .inner h3 .l {
        font-size: 1.333333em; }
    .p1_voice .inner figure {
      margin: 1.5rem 0; }
    .p1_voice .inner p {
      text-align: left; }

/*=======================================
	specialist
=======================================*/
.specialist {
  padding: 2.5rem 0 0; }
  .specialist .marker {
    background: linear-gradient(to bottom, transparent 40%, #ffebc3 40%, #ffebc3 90%, #ffebc3 90%, transparent 90%); }
  .specialist .h {
    margin-bottom: 2.5rem; }
    .specialist .h img {
      max-width: calc(100vw / ( 640 / 502 )); }
  .specialist section {
    border: calc(100vw / ( 640 / 2 )) solid #ff9018;
    margin-bottom: 2.5rem;
    position: relative; }
    .specialist section figure {
      padding: 2.5rem 0 2rem;
      position: relative; }
      .specialist section figure:after {
        content: "";
        display: block;
        width: 90%;
        height: 0;
        border-bottom: calc(100vw / ( 640 / 2 )) dashed #ccc;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }
    .specialist section p {
      text-align: left;
      padding: 1.5rem; }
  .specialist .num {
    font-family: 'Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
    color: #ff9018;
    line-height: 1.4;
    padding: 0 .5rem;
    background: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%); }

/*=======================================
	achieve
=======================================*/
.achieve {
  background: #fff5f3;
  padding: 2rem 0; }
  .achieve .sec1 {
    margin-bottom: calc(100vw / ( 640 / 60 )); }
  .achieve .sec2 {
    margin-bottom: calc(100vw / ( 640 / 60 )); }
  .achieve ul {
    margin-top: 1rem;
    text-align: left; }
  .achieve li {
    padding-left: 1em;
    position: relative; }
    .achieve li:before {
      content: "・";
      position: absolute;
      top: 0;
      left: 0; }

/*=======================================
	why
=======================================*/
.why .h {
  margin-bottom: 2rem; }
.why .wrap {
  padding: 0 calc(100vw / ( 640 / 30 )); }
.why section {
  border: calc(100vw / ( 640 / 2 )) solid #ff9018;
  padding: calc(100vw / ( 640 / 8 ));
  margin-bottom: 2rem;
  background: #fff7ee; }
.why .num {
  padding: 1rem 0; }
  .why .num span {
    display: inline-block;
    font-family: 'Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
    font-weight: bold;
    color: #ff9018;
    line-height: 1.4;
    padding: 0 calc(100vw / ( 640 / 64 ));
    position: relative; }
    .why .num span:before, .why .num span:after {
      content: "";
      display: block;
      width: calc(100vw / ( 640 / 44 ));
      height: calc(100vw / ( 640 / 2 ));
      background: #ff9018;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%); }
    .why .num span:after {
      left: auto;
      right: 0; }
.why h3 {
  font-size: calc(100vw / ( 640 / 28 ));
  font-weight: bold;
  font-weight: 900;
  margin-bottom: 1.5rem;
  padding: 0 1rem; }
.why .inner {
  background: #fff; }
  .why .inner p {
    text-align: left;
    padding: 1.5rem 1rem; }
  .why .inner .list {
    padding: 0 1rem 0 2em; }

/*=======================================
	reason
=======================================*/
.reason {
  padding: 1.5rem 0;
  margin-bottom: 1.5rem; }
  .reason section {
    border-bottom: calc(100vw / ( 640 / 2 )) dotted #999;
    padding: 1.5rem 0; }
    .reason section:first-child {
      padding-top: 1rem; }
    .reason section p {
      font-size: calc(100vw / ( 640 / 28 ));
      font-weight: bold;
      font-weight: 700;
      text-align: center;
      padding-top: 0; }
  .reason .num {
    margin-bottom: 1rem; }
    .reason .num span {
      display: inline-block;
      font-family: 'Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
      font-weight: bold;
      line-height: 1.4;
      color: #fff;
      padding: .2rem 2rem;
      border-radius: calc(100vw / ( 640 / 8 ));
      background: linear-gradient(to right, #ff5273 0%, #ffc741 100%); }
  .reason .reason_txt p {
    text-align: left;
    padding: 1.5rem 0; }

/*=======================================
	improve
=======================================*/
.improve {
  background: #ffe4c5;
  padding-bottom: 2.5rem; }
  .improve figure,
  .improve p {
    margin: 2rem 0; }
    .improve figure:last-child,
    .improve p:last-child {
      margin-bottom: 0; }
  .improve p {
    text-align: left; }
  .improve .u_line {
    border-bottom: 1px solid #ff5273; }

/*=======================================
	curriculum
=======================================*/
.curriculum {
  padding: 2.5rem 0 2rem; }
  .curriculum .h {
    margin-bottom: 2rem; }
  .curriculum section {
    padding: calc(100vw / ( 640 / 20 ));
    border: calc(100vw / ( 640 / 2 )) solid #ff9018;
    margin-bottom: 2rem;
    position: relative; }
    .curriculum section .num {
      width: calc(100vw / ( 640 / 100 ));
      height: calc(100vw / ( 640 / 100 ));
      padding: .5rem 0 0 .8rem;
      box-sizing: border-box;
      background: url("../images/curriculum_num.png") no-repeat;
      background-size: contain;
      position: absolute;
      top: 0;
      left: 0;
      font-family: 'Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
      font-weight: bold;
      font-size: calc(100vw / ( 640 / 30 ));
      text-align: left;
      line-height: 1;
      color: #fff; }
    .curriculum section figure {
      margin-bottom: 1rem; }
    .curriculum section p {
      padding: 1rem;
      text-align: left; }
    .curriculum section .list {
      padding: 0 1rem 0 2em; }
  .curriculum .txt {
    text-align: left;
    padding: 0 calc(100vw / ( 640 / 20 )); }
    .curriculum .txt ol {
      margin: 2rem 0;
      font-weight: bold;
      font-weight: 700;
      line-height: 1.5; }
    .curriculum .txt li {
      counter-increment: num;
      margin-bottom: .5rem;
      color: #ff5273;
      padding-left: 1.5em;
      position: relative; }
      .curriculum .txt li:before {
        content: counter(num) ".";
        color: #000;
        position: absolute;
        top: 0;
        left: 0; }
      .curriculum .txt li:last-child {
        margin-bottom: 0; }

/*=======================================
	privilege
=======================================*/
.privilege .h {
  margin-bottom: 2rem; }
  .privilege .h img {
    max-width: calc(100vw / ( 640 / 540 )); }
.privilege section {
  margin-bottom: 2rem; }
  .privilege section .box {
    padding: calc(100vw / ( 640 / 2 ));
    background: linear-gradient(to right, #ff5273 0%, #ffc741 100%); }
  .privilege section .inner {
    background: #fff;
    padding: 1.5rem;
    text-align: left; }
  .privilege section .list {
    margin: 1rem 0; }

/*=======================================
	price
=======================================*/
.price {
  padding: 1rem 0 0; }
  .price p {
    text-align: left;
    margin: 2rem 0; }
  .price .sec1 {
    margin-bottom: 3rem; }
    .price .sec1 .h img {
      max-width: calc(100vw / ( 640 / 402 )); }
    .price .sec1 .ll {
      font-size: calc(100vw / ( 640 / 38 )); }
  .price .sec2 .h {
    margin-bottom: 1.5rem; }
    .price .sec2 .h img {
      max-width: calc(100vw / ( 640 / 360 )); }
  .price .sec2 .a img {
    max-width: calc(100vw / ( 640 / 550 )); }

/*=======================================
	guarantee
=======================================*/
.guarantee p,
.guarantee ul,
.guarantee ol {
  text-align: left; }
.guarantee .sec1 {
  background: #c2f7f6;
  padding-bottom: calc(100vw / ( 640 / 20 )); }
  .guarantee .sec1 .box {
    background: #fff;
    border: calc(100vw / ( 640 / 2 )) solid #edd5b2;
    border-radius: calc(100vw / ( 640 / 8 ));
    padding-bottom: 2rem; }
    .guarantee .sec1 .box .h {
      padding: calc(100vw / ( 640 / 8 )); }
  .guarantee .sec1 .inner {
    padding: 1.5rem; }
    .guarantee .sec1 .inner figure {
      margin: 1.5rem 0; }
      .guarantee .sec1 .inner figure img {
        max-width: calc(100vw / ( 640 / 530 )); }
    .guarantee .sec1 .inner ul {
      margin: 1.5rem 0; }
    .guarantee .sec1 .inner li {
      padding-left: calc(100vw / ( 640 / 34 ));
      line-height: 1.5;
      margin-bottom: .5rem;
      position: relative; }
      .guarantee .sec1 .inner li:last-child {
        margin-bottom: 0; }
      .guarantee .sec1 .inner li:before {
        content: "";
        display: block;
        width: calc(100vw / ( 640 / 24 ));
        height: calc(100vw / ( 640 / 20 ));
        background: url("../images/icon_check.png") no-repeat;
        background-size: contain;
        position: absolute;
        top: .4em;
        left: 0; }
  .guarantee .sec1 section {
    padding: 0 calc(100vw / ( 640 / 20 )); }
    .guarantee .sec1 section h3 {
      background: #e3a62f;
      color: #fff;
      font-size: calc(100vw / ( 640 / 30 ));
      font-weight: bold;
      font-weight: 700;
      line-height: 1.4;
      padding: .5rem 0;
      margin: 0 calc(100vw / ( 640 / -20 )) 1rem;
      position: relative; }
      .guarantee .sec1 section h3:after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border: calc(100vw / ( 640 / 20 )) solid transparent;
        border-top: calc(100vw / ( 640 / 20 )) solid #e3a62f;
        border-bottom: none;
        position: absolute;
        bottom: calc(100vw / ( 640 / -18 ));
        left: 50%;
        transform: translateX(-50%); }
    .guarantee .sec1 section ol {
      padding: 0 .5rem; }
      .guarantee .sec1 section ol li {
        position: relative;
        padding-left: 1.8em;
        margin-bottom: .5rem; }
        .guarantee .sec1 section ol li:last-child {
          margin-bottom: 0; }
        .guarantee .sec1 section ol li .num {
          position: absolute;
          top: 0;
          left: 0; }
    .guarantee .sec1 section .b {
      border: 1px solid #d1d1d1;
      background: #fbfbfb;
      margin: 1.5rem 0; }
      .guarantee .sec1 section .b h4 {
        background: #898989;
        color: #fff;
        font-size: calc(100vw / ( 640 / 28 ));
        font-weight: bold;
        font-weight: 700;
        line-height: 1.4;
        padding: .5rem 0; }
      .guarantee .sec1 section .b ul {
        padding: 1.5rem;
        padding-left: 2em; }
.guarantee .sec2 {
  padding: 2rem 0 2.5rem; }
  .guarantee .sec2 .h {
    margin: 2rem 0; }
    .guarantee .sec2 .h img {
      max-width: calc(100vw / ( 640 / 540 )); }
  .guarantee .sec2 figure {
    margin-top: 1.5rem; }
.guarantee .plus1 {
  padding: 2rem 0 2.5rem; }
  .guarantee .plus1 .h {
    margin: 2rem 0; }
    .guarantee .plus1 .h img {
      max-width: calc(100vw / ( 640 / 540 )); }
  .guarantee .plus1 figure {
    margin-top: 1.5rem; }

/*=======================================
	cta
=======================================*/
.cta .sec1 {
  background: #f65c75 url("../images/cta_bg.jpg") no-repeat center top;
  background-size: 100% auto;
  padding: calc(100vw / ( 640 / 843 )) 0 2.5rem; }
  .cta .sec1 .box {
    background: #fff2bf;
    border: calc(100vw / ( 640 / 2 )) solid #fff;
    border-radius: calc(100vw / ( 640 / 8 ));
    padding: calc(100vw / ( 640 / 30 ));
    margin-bottom: 1.5rem;
    box-shadow: 0 calc(100vw / ( 640 / 8 )) calc(100vw / ( 640 / 20 )) 0 rgba(0, 0, 0, 0.2); }
  .cta .sec1 .outer {
    background: #ff5273;
    color: #fff;
    border-radius: calc(100vw / ( 640 / 8 ));
    margin-bottom: 1rem;
    line-height: 1.6;
    padding: .6rem; }
    .cta .sec1 .outer div {
      max-width: 90%;
      margin: .4rem auto;
      padding: .3rem 0;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff; }
  .cta .sec1 .note {
    font-size: calc(100vw / ( 640 / 22 ));
    color: #fff; }
.cta .sec2 {
  padding: 2.5rem 0; }
  .cta .sec2 figure {
    margin: 0 calc(100vw / ( 640 / -20 )) 2rem; }
  .cta .sec2 .btn {
    margin-bottom: 2rem; }

.cta.b .flow {
  margin: 2rem 0; }
  .cta.b .flow img {
    max-width: calc(100vw / ( 640 / 580 )); }

/*=======================================
	faq
=======================================*/
.faq {
  background: #ffe4c5;
  padding: 2.5rem 0; }
  .faq .wrap {
    padding: 0 calc(100vw / ( 640 / 30 )); }
  .faq .h img {
    max-width: calc(100vw / ( 640 / 540 )); }
  .faq dl {
    text-align: left; }
  .faq dt {
    background: #fff;
    font-weight: bold;
    font-weight: 700;
    padding: 1rem 2rem;
    border-radius: 0 calc(100vw / ( 640 / 12 )) calc(100vw / ( 640 / 12 )) calc(100vw / ( 640 / 12 ));
    margin: 2rem 0 0;
    position: relative; }
    .faq dt .ico {
      width: calc(100vw / ( 640 / 78 ));
      height: calc(100vw / ( 640 / 78 ));
      box-sizing: border-box;
      padding: .4rem 0 0 .4rem;
      background: url("../images/faq_icon.svg") no-repeat;
      background-size: contain;
      color: #fff;
      font-family: 'Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
      font-weight: bold;
      line-height: 1;
      position: absolute;
      top: 0;
      left: 0; }
    .faq dt i {
      display: block;
      width: calc(100vw / ( 640 / 16 ));
      height: calc(100vw / ( 640 / 16 ));
      border-right: calc(100vw / ( 640 / 4 )) solid #727272;
      border-bottom: calc(100vw / ( 640 / 4 )) solid #727272;
      box-sizing: border-box;
      position: absolute;
      top: 50%;
      right: 1rem;
      transform: translateY(-50%) rotate(45deg); }
  .faq dt.open i {
    transform: translateY(-50%) rotate(-135deg); }
  .faq dd {
    padding: 1rem 0 0; }

/*=======================================
	msg
=======================================*/
.msg {
  margin: 2.5rem 0; }
  .msg p,
  .msg figure,
  .msg ul {
    margin: 2rem 0; }
  .msg p {
    text-align: left; }
  .msg .h img {
    max-width: calc(100vw / ( 640 / 552 )); }

/*=======================================
	last
=======================================*/
.last {
  margin: 2.5rem 0; }
  .last p,
  .last figure,
  .last ul {
    margin: 2rem 0; }
  .last p {
    text-align: left; }
  .last .txt {
    margin: 0 calc(100vw / ( 640 / -40 )); }

/*=======================================
	footer
=======================================*/
footer {
  background: #000;
  color: #fff;
  padding: calc(100vw / ( 640 / 40 )) 0;
  font-size: calc(100vw / ( 640 / 16 ));
  line-height: 1; }
  footer a {
    color: #fff; }
  footer ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 1.5em; }
  footer li {
    margin-right: 2em;
    position: relative; }
    footer li:after {
      content: "";
      display: block;
      width: 1px;
      height: 1em;
      background: #c1c1c1;
      position: absolute;
      top: 50%;
      right: -1em;
      transform: translateY(-50%); }
  footer li:last-child {
    margin-right: 0; }
    footer li:last-child:after {
      display: none; }
  footer p {
    color: #a1a1a1; }

/*=======================================
	end
=======================================*/
.end {
  padding-top: 0; }
  .end .comp {
    padding: 2.5rem 0; }
    .end .comp .h {
      margin-bottom: 2rem; }
    .end .comp p {
      text-align: left;
      margin: 1.5rem 0; }

/*=======================================
	add_
=======================================*/
.vol4 {
  padding: 0;
  margin-bottom: 3rem; }
  .vol4 p {
    text-align: left;
    margin: 2rem 0; }
  .vol4 .h {
    margin-bottom: 2rem; }

.gym {
  padding: 0 0 0.8rem;
  background-color: #ebf8f7; }
  .gym p {
    text-align: left;
    margin: 2rem 0; }
  .gym .h {
    margin-bottom: 2rem; }

.trap p,
.trap ul,
.trap figure {
  margin: 2rem 0; }
.trap p {
  text-align: left; }
.trap .common_list li:before {
  top: .6em; }
.trap .note {
  padding: 0 1em; }

.check {
  padding-bottom: calc(100vw / ( 640 / 70 )); }
  .check p,
  .check figure {
    margin: 2rem 0; }
  .check p {
    text-align: left; }
  .check .h {
    margin: 0 auto; }
    .check .h img {
      margin-top: calc(100vw / ( 640 / -20 )); }

.effort {
  background-color: #e9f8f5;
  padding: 0 0 calc(100vw / ( 640 / 10 )); }
  .effort .h {
    margin: 0 auto calc(100vw / ( 640 / 25 )); }
  .effort h2 {
    text-align: center;
    padding: 0 0 calc(100vw / ( 640 / 20 ));
    font-weight: bold;
    font-weight: 900;
    font-size: calc(100vw / ( 640 / 30 )); }
    .effort h2 span {
      font-size: calc(100vw / ( 640 / 26 )); }
  .effort .effort_cont {
    background-color: #fff;
    padding: 0 calc(100vw / ( 640 / 20 )) calc(100vw / ( 640 / 40 ));
    box-shadow: 0 0 0.4em 0 #ccc;
    margin-bottom: 2rem; }
    .effort .effort_cont p {
      text-align: left;
      padding-top: calc(100vw / ( 640 / 30 )); }
      .effort .effort_cont p .orange_fr {
        background: #ff9018;
        border-radius: calc(100vw / ( 640 / 6 ));
        padding: calc(100vw / ( 640 / 5 )) calc(100vw / ( 640 / 30 ));
        color: #fff;
        margin-top: calc(100vw / ( 640 / 30 )); }
    .effort .effort_cont ul {
      text-align: left;
      margin-left: 1em; }
    .effort .effort_cont li {
      margin: 0.5rem 0;
      line-height: 1.6;
      text-indent: -1em; }
  .effort .l {
    font-size: 1.23em; }

/******************************************************************************************

	pc size

******************************************************************************************/
@media only screen and (min-width: 640px) {
  html {
    font-size: 26px; }

  .sp_only,
  .sp_only_inline {
    display: none; }

  .pc_only {
    display: block; }

  .pc_only_inline {
    display: inline; }

  .wrap {
    padding: 0 40px; }
    .wrap.wide {
      padding: 0 20px; }

  .note {
    font-size: 16px; }

  .common_list li {
    padding-left: 46px; }
    .common_list li:before {
      width: 30px;
      height: 30px; }

  .timer {
    height: 120px;
    font-size: 30px; }

  .memo {
    font-size: 16px; }

  /*=======================================
  	mv
  =======================================*/
  /*=======================================
  	p1_movie
  =======================================*/
  .p1_movie p:before {
    width: 54px;
    height: 54px; }

  /*=======================================
  	p1_msg
  =======================================*/
  .p1_msg .flex figure {
    width: 200px;
    margin-right: 20px; }
  .p1_msg .flex p {
    width: 340px; }

  /*=======================================
  	p1_step
  =======================================*/
  .p1_step .num img {
    width: 156px; }

  /*=======================================
  	p1_voice
  =======================================*/
  .p1_voice .wrap {
    padding: 0 20px; }
  .p1_voice .num {
    font-size: 30px; }
  .p1_voice .inner {
    padding: 1.5rem 20px; }
    .p1_voice .inner h3 {
      font-size: 30px; }

  /*=======================================
  	specialist
  =======================================*/
  .specialist .h img {
    max-width: 502px; }
  .specialist section {
    border: 2px solid #ff9018; }
    .specialist section figure:after {
      border-bottom: 2px dashed #ccc; }

  /*=======================================
  	achieve
  =======================================*/
  .achieve .sec1 {
    margin-bottom: 60px; }
  .achieve .sec2 {
    margin-bottom: 60px; }

  /*=======================================
  	why
  =======================================*/
  .why .wrap {
    padding: 0 30px; }
  .why section {
    border: 2px solid #ff9018;
    padding: 8px; }
  .why .num span {
    padding: 0 64px; }
    .why .num span:before, .why .num span:after {
      width: 44px;
      height: 2px; }
  .why h3 {
    font-size: 28px; }

  /*=======================================
  	reason
  =======================================*/
  .reason section {
    border-bottom: 2px dotted #999; }
    .reason section p {
      font-size: 28px; }
  .reason .num span {
    border-radius: 8px; }

  /*=======================================
  	improve
  =======================================*/
  /*=======================================
  	curriculum
  =======================================*/
  .curriculum section {
    padding: 20px;
    border: 2px solid #ff9018; }
    .curriculum section .num {
      width: 100px;
      height: 100px;
      font-size: 30px; }
  .curriculum .txt {
    padding: 0 20px; }

  /*=======================================
  	privilege
  =======================================*/
  .privilege .h img {
    max-width: 540px; }
  .privilege section .box {
    padding: 2; }

  /*=======================================
  	price
  =======================================*/
  .price .sec1 .h img {
    max-width: 402px; }
  .price .sec1 .ll {
    font-size: 38px; }
  .price .sec2 .h img {
    max-width: 360px; }
  .price .sec2 .a img {
    max-width: 550px; }

  /*=======================================
  	guarantee
  =======================================*/
  .guarantee .sec1 {
    padding-bottom: 20px; }
    .guarantee .sec1 .box {
      border: 2px solid #edd5b2;
      border-radius: 8px; }
      .guarantee .sec1 .box .h {
        padding: 8px; }
    .guarantee .sec1 .inner figure img {
      max-width: 530px; }
    .guarantee .sec1 .inner li {
      padding-left: 34px; }
      .guarantee .sec1 .inner li:before {
        width: 24px;
        height: 20px; }
    .guarantee .sec1 section {
      padding: 0 20px; }
      .guarantee .sec1 section h3 {
        font-size: 30px;
        margin: 0 -20px 1rem; }
        .guarantee .sec1 section h3:after {
          border: 20px solid transparent;
          border-top: 20px solid #e3a62f;
          bottom: -18px; }
      .guarantee .sec1 section .b h4 {
        font-size: 28px; }
  .guarantee .sec2 .h img {
    max-width: 540px; }

  /*=======================================
  	cta
  =======================================*/
  .cta .sec1 {
    padding: 843px 0 2.5rem; }
    .cta .sec1 .box {
      border: 2px solid #fff;
      border-radius: 8px;
      padding: 30px;
      box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.2); }
    .cta .sec1 .outer {
      border-radius: 8px; }
    .cta .sec1 .note {
      font-size: 22px; }
  .cta .sec2 figure {
    margin: 0 -20px 2rem; }

  .cta.b .flow img {
    max-width: 580px; }

  /*=======================================
  	faq
  =======================================*/
  .faq .wrap {
    padding: 0 30px; }
  .faq .h img {
    max-width: 540px; }
  .faq dt {
    border-radius: 0 12px 12px 12px; }
    .faq dt .ico {
      width: 78px;
      height: 78px; }
    .faq dt i {
      width: 16px;
      height: 16px;
      border-right: 4px solid #727272;
      border-bottom: 4px solid #727272; }

  /*=======================================
  	msg
  =======================================*/
  .msg .h img {
    max-width: 552px; }

  /*=======================================
  	last
  =======================================*/
  .last .txt {
    margin: 0 -40px; }

  /*=======================================
  	footer
  =======================================*/
  footer {
    padding: 40px 0;
    font-size: 16px; }

  /*=======================================
  	end
  =======================================*/
  .effort {
    padding: 0 0 10px; }
    .effort .h {
      margin: 0 auto 20px; }
    .effort h2 {
      padding: 0 0 20px;
      font-size: 30px; }
      .effort h2 span {
        font-size: 26px; }
    .effort .effort_cont {
      padding: 0 30px 70px; }
      .effort .effort_cont p {
        text-align: left;
        padding-top: 30px; }
        .effort .effort_cont p .orange_fr {
          border-radius: 5px;
          padding: 8px 40px;
          margin-top: 30px; } }

/*# sourceMappingURL=style.css.map */
