@charset "UTF-8";
/* ================================================ 
	KV 
==============================================================================================================================================================*/
#kv {
  margin-bottom: 20px;
  text-align: center; }

/* ================================================ 
	before-after
==============================================================================================================================================================*/
#before-after {
  background: #FFC7DE;
  padding: 30px 3%; }
  #before-after h2 {
    margin: 0 auto 20px;
    max-width: 660px;
    text-align: center; }
  #before-after ul {
    margin: 0 auto;
    max-width: 600px;
    text-align: center;
    padding: 20px;
    background: #fff; }

/* ================================================ 
	worries
==============================================================================================================================================================*/
#worries {
  padding: 0 0 30px;
  text-align: center; }
  #worries .kinmaku {
    margin: 30px 0 50px;
    background: #fcdeec;
    padding: 30px 3%;
    text-align: center;
    position: relative; }
    #worries .kinmaku::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: -15px;
      transform: translate(-50%, 0);
      width: 0;
      height: 0;
      border-left: 30px solid transparent;
      border-right: 30px solid transparent;
      border-top: 30px solid #fcdeec;
      /* 三角形の色を指定 */ }
  #worries .worriesimage {
    margin: 0 auto 10px;
    width: 94%; }

/* ================================================ 
	therapist
==============================================================================================================================================================*/
#therapist {
  background: linear-gradient(0deg, #fff, #FF94C4, #fff) center center;
  padding-bottom: 50px; }
  #therapist h2 {
    margin-bottom: 30px;
    text-align: center; }
  #therapist .data {
    position: relative;
    margin: 0 auto;
    width: 96%;
    box-sizing: border-box;
    max-width: 640px;
    border: 1px #0e4c97 solid;
    background: #fcfced;
    padding: 40px 20px 20px; }
    #therapist .data .mi {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -50%); }
    #therapist .data .pic {
      margin-bottom: 20px; }
    #therapist .data p {
      margin-bottom: 1em;
      font-size: 1.2rem;
      line-height: 180%; }
      #therapist .data p strong {
        color: #0e4c97;
        font-size: 1.3rem;
        line-height: 180%; }
      #therapist .data p span {
        background: linear-gradient(rgba(255, 255, 255, 0) 0%, #ffff66 0%); }
      #therapist .data p:last-child {
        margin-bottom: 0; }

/* ================================================ 
	reason
==============================================================================================================================================================*/
#reason {
  margin-bottom: 60px; }
  #reason h2 {
    text-align: center; }
  #reason figure {
    margin: 40px auto 0;
    width: 96%;
    text-align: center; }

/* ================================================ 
	review
==============================================================================================================================================================*/
#review h2 {
  text-align: center; }
#review .voice {
  margin: 0 auto 30px;
  max-width: 640px;
  display: block !important; }
  #review .voice h3 {
    background: #e50f81;
    padding: 15px 3%;
    text-align: center;
    width: 100%;
    box-sizing: border-box; }
    #review .voice h3 img {
      display: block;
      margin: 0 auto; }
  #review .voice figure {
    text-align: center; }
    #review .voice figure img {
      display: inline-block; }

/* ================================================ 
	monitor
==============================================================================================================================================================*/
#monitor {
  padding: 50px 0;
  background: #fcecd6; }
  #monitor h2 {
    margin: 0 auto;
    max-width: 640px;
    text-align: center; }
  #monitor .cont {
    margin: 0 auto;
    max-width: 640px;
    background: #fff;
    padding: 0 20px 20px;
    box-sizing: border-box;
    position: relative;
    background: url("../img/bg_monitor.png") repeat-y center top; }
    #monitor .cont::after {
      content: '';
      width: 100%;
      height: 16px;
      position: absolute;
      left: 50%;
      bottom: -16px;
      transform: translate(-50%, 0);
      background: url("../img/bg_shadow.png") no-repeat center bottom;
      background-size: 90% auto; }
    #monitor .cont ul {
      text-align: center; }
      #monitor .cont ul li {
        margin-top: 20px; }
        #monitor .cont ul li a {
          transition: .8s; }
          #monitor .cont ul li a:hover {
            opacity: .7; }

/* ================================================ 
	faq
==============================================================================================================================================================*/
#faq {
  padding: 30px 3%; }
  #faq h2 {
    margin-bottom: 30px;
    text-align: center; }
  #faq dl {
    margin: 0 auto 40px;
    max-width: 600px; }
    #faq dl dt {
      margin-bottom: 10px;
      color: #0e4c97;
      font-size: 1.2rem;
      line-height: 180%;
      font-weight: bold;
      background: url("../img/ico_question.png") no-repeat left 0.1em;
      background-size: 30px 30px;
      padding-left: 40px;
      min-height: 40px; }
    #faq dl dd {
      color: #000;
      font-size: 1.1rem;
      line-height: 180%;
      background: url("../img/ico_answer.png") no-repeat left 0.3em;
      background-size: 30px 30px;
      padding-left: 40px; }

/* ================================================ 
	course
==============================================================================================================================================================*/
#course {
  background: #e50f81;
  padding-bottom: 20px; }
  #course figure {
    text-align: center; }

/* ================================================ 
	company
==============================================================================================================================================================*/
#company {
  padding: 40px 5%; }
  #company .data {
    position: relative;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    max-width: 600px; }
    #company .data address {
      position: relative;
      font-size: 1.3rem;
      line-height: 150%;
      font-style: normal; }
      #company .data address figure {
        position: absolute;
        top: 0;
        right: 0;
        width: 40px; }
      #company .data address .tel {
        padding-left: 28px;
        font-size: 1.8rem;
        line-height: 150%;
        font-weight: bold;
        background: url("../img/ico_tel.png") no-repeat left 0.3em;
        background-size: 24px auto; }
        #company .data address .tel a {
          color: #000;
          text-decoration: none; }
      #company .data address ruby {
        position: relative; }
        #company .data address ruby rt {
          position: absolute;
          top: -.8em;
          left: 0; }

/* ================================================ 
	campaign
==============================================================================================================================================================*/
#campaign {
  margin-bottom: 60px; }
  #campaign h2 {
    margin-bottom: 20px;
    text-align: center;
    padding: 15px 12%;
    background: url("../img/bg_campaign.png") repeat; }
  #campaign h3 {
    margin-bottom: 20px;
    text-align: center; }
  #campaign p {
    text-align: center;
    padding: 0 3%; }
    #campaign p a {
      transition: .8s; }
      #campaign p a:hover {
        opacity: .7; }

/* ================================================ 
	access
==============================================================================================================================================================*/
#access {
  padding-bottom: 50px;
  background: #fcfaf7; }
  #access h2 {
    margin-bottom: 20px;
    background: #0e4c97;
    padding: 15px 12%;
    text-align: center; }
  #access h3 {
    margin-bottom: 10px;
    text-align: center;
    color: #0e4c97;
    font-size: 1.5rem;
    line-height: 150%; }
  #access ul {
    margin: 0 auto;
    max-width: 580px;
    display: flex;
    flex-flow: row wrap;
    justify-content: center; }
    #access ul li {
      width: 49%;
      margin-bottom: 20px;
      position: relative; }
      #access ul li div {
        position: relative; }
      #access ul li figure img {
        display: block;
        position: relative; }
      #access ul li figure figcaption {
        margin-top: .3em;
        font-size: 1.2rem;
        line-height: 150%; }
  #access .guide01 {
    margin: 0 auto 50px;
    width: 96%;
    padding-bottom: 30px;
    position: relative; }
    #access .guide01::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: 0;
      max-width: 276px;
      width: 100%;
      height: 3px;
      transform: translate(-50%, 0);
      background: url("../img/guide_line.png") no-repeat center bottom; }
    #access .guide01 li:nth-child(1) {
      order: 1;
      margin-right: 2%; }
    #access .guide01 li:nth-child(2) {
      order: 3;
      margin-right: 2%; }
    #access .guide01 li:nth-child(3) {
      order: 5;
      margin-right: 2%; }
    #access .guide01 li:nth-child(4) {
      order: 7;
      margin-right: 2%; }
    #access .guide01 li:nth-child(5) {
      order: 9;
      margin-right: 2%; }
    #access .guide01 li:nth-child(6) {
      order: 11;
      margin-right: 2%; }
    #access .guide01 li:nth-child(7) {
      order: 12; }
    #access .guide01 li:nth-child(8) {
      order: 10; }
    #access .guide01 li:nth-child(9) {
      order: 8; }
    #access .guide01 li:nth-child(10) {
      order: 6; }
    #access .guide01 li:nth-child(11) {
      order: 4; }
    #access .guide01 li:nth-child(12) {
      order: 2; }
    #access .guide01 li:nth-child(6) div::before {
      content: '';
      position: absolute;
      right: -12px;
      top: 50%;
      transform: translate(0, -50%);
      width: 0;
      height: 0;
      border-top: 15px solid transparent;
      border-bottom: 15px solid transparent;
      border-left: 15px solid #ff3399;
      z-index: 10; }
    #access .guide01 li:nth-child(1)::after, #access .guide01 li:nth-child(2)::after, #access .guide01 li:nth-child(3)::after, #access .guide01 li:nth-child(4)::after, #access .guide01 li:nth-child(5)::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: -22px;
      transform: translate(-50%, 0);
      width: 0;
      height: 0;
      border-left: 15px solid transparent;
      border-right: 15px solid transparent;
      border-top: 15px solid #ff3399;
      z-index: 10; }
    #access .guide01 li:nth-child(7)::after, #access .guide01 li:nth-child(8)::after, #access .guide01 li:nth-child(9)::after, #access .guide01 li:nth-child(10)::after, #access .guide01 li:nth-child(11)::after {
      content: '';
      position: absolute;
      left: 50%;
      top: -13px;
      transform: translate(-50%, 0);
      width: 0;
      height: 0;
      border-left: 15px solid transparent;
      border-right: 15px solid transparent;
      border-bottom: 15px solid #ff3399;
      z-index: 10; }
  #access .guide02 {
    margin: 0 auto;
    width: 96%; }
    #access .guide02 li:nth-child(1) {
      order: 1;
      margin-right: 2%; }
    #access .guide02 li:nth-child(2) {
      order: 3;
      margin-right: 2%; }
    #access .guide02 li:nth-child(3) {
      order: 5;
      margin-right: 2%; }
    #access .guide02 li:nth-child(4) {
      order: 7;
      margin-right: 2%; }
    #access .guide02 li:nth-child(5) {
      order: 9;
      margin-right: 2%; }
    #access .guide02 li:nth-child(6) {
      order: 11;
      margin-right: 2%; }
    #access .guide02 li:nth-child(7) {
      order: 13;
      margin-right: 2%; }
    #access .guide02 li:nth-child(8) {
      order: 14; }
    #access .guide02 li:nth-child(9) {
      order: 12; }
    #access .guide02 li:nth-child(10) {
      order: 10; }
    #access .guide02 li:nth-child(11) {
      order: 8; }
    #access .guide02 li:nth-child(12) {
      order: 6; }
    #access .guide02 li:nth-child(13) {
      order: 4; }
    #access .guide02 li:nth-child(14) {
      order: 2; }
    #access .guide02 li:nth-child(7) div::before {
      content: '';
      position: absolute;
      right: -12px;
      top: 50%;
      transform: translate(0, -50%);
      width: 0;
      height: 0;
      border-top: 15px solid transparent;
      border-bottom: 15px solid transparent;
      border-left: 15px solid #ff3399;
      z-index: 10; }
    #access .guide02 li:nth-child(1)::after, #access .guide02 li:nth-child(2)::after, #access .guide02 li:nth-child(3)::after, #access .guide02 li:nth-child(4)::after, #access .guide02 li:nth-child(5)::after, #access .guide02 li:nth-child(6)::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: -22px;
      transform: translate(-50%, 0);
      width: 0;
      height: 0;
      border-left: 15px solid transparent;
      border-right: 15px solid transparent;
      border-top: 15px solid #ff3399;
      z-index: 10; }
    #access .guide02 li:nth-child(8)::after, #access .guide02 li:nth-child(9)::after, #access .guide02 li:nth-child(10)::after, #access .guide02 li:nth-child(11)::after, #access .guide02 li:nth-child(12)::after, #access .guide02 li:nth-child(13)::after {
      content: '';
      position: absolute;
      left: 50%;
      top: -13px;
      transform: translate(-50%, 0);
      width: 0;
      height: 0;
      border-left: 15px solid transparent;
      border-right: 15px solid transparent;
      border-bottom: 15px solid #ff3399;
      z-index: 10; }
