@charset "UTF-8";
@import url(https://rainbow-apps.com/css/common.css);
/* ///////////////////////////
webfont
/////////////////////////// */
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans:300,400,600);
.mt0 {
  margin-top: 0px !important; }

.mt1 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt2 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt3 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt4 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt5 {
  margin-top: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

.mt6 {
  margin-top: 60px !important; }

.mt65 {
  margin-top: 65px !important; }

.mt7 {
  margin-top: 70px !important; }

.mt75 {
  margin-top: 75px !important; }

.mt8 {
  margin-top: 80px !important; }

.mt85 {
  margin-top: 85px !important; }

.mt9 {
  margin-top: 90px !important; }

.mt95 {
  margin-top: 95px !important; }

.mt10 {
  margin-top: 100px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.mb1 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb2 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb3 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb4 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb5 {
  margin-bottom: 50px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.mb6 {
  margin-bottom: 60px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.mb7 {
  margin-bottom: 70px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.mb8 {
  margin-bottom: 80px !important; }

.mb85 {
  margin-bottom: 85px !important; }

.mb9 {
  margin-bottom: 90px !important; }

.mb95 {
  margin-bottom: 95px !important; }

.mb10 {
  margin-bottom: 100px !important; }

.mr0 {
  margin-right: 0px !important; }

.mr1 {
  margin-right: 10px !important; }

.mr15 {
  margin-right: 15px !important; }

.mr2 {
  margin-right: 20px !important; }

.mr25 {
  margin-right: 25px !important; }

.mr3 {
  margin-right: 30px !important; }

.mr35 {
  margin-right: 35px !important; }

.mr4 {
  margin-right: 40px !important; }

.mr45 {
  margin-right: 45px !important; }

.mr5 {
  margin-right: 50px !important; }

.mr55 {
  margin-right: 55px !important; }

.mr6 {
  margin-right: 60px !important; }

.mr65 {
  margin-right: 65px !important; }

.mr7 {
  margin-right: 70px !important; }

.mr75 {
  margin-right: 75px !important; }

.mr8 {
  margin-right: 80px !important; }

.mr85 {
  margin-right: 85px !important; }

.mr9 {
  margin-right: 90px !important; }

.mr95 {
  margin-right: 95px !important; }

.mr10 {
  margin-right: 100px !important; }

.ml0 {
  margin-left: 0px !important; }

.ml1 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml2 {
  margin-left: 20px !important; }

.ml25 {
  margin-left: 25px !important; }

.ml3 {
  margin-left: 30px !important; }

.ml35 {
  margin-left: 35px !important; }

.ml4 {
  margin-left: 40px !important; }

.ml45 {
  margin-left: 45px !important; }

.ml5 {
  margin-left: 50px !important; }

.ml55 {
  margin-left: 55px !important; }

.ml6 {
  margin-left: 60px !important; }

.ml65 {
  margin-left: 65px !important; }

.ml7 {
  margin-left: 70px !important; }

.ml75 {
  margin-left: 75px !important; }

.ml8 {
  margin-left: 80px !important; }

.ml85 {
  margin-left: 85px !important; }

.ml9 {
  margin-left: 90px !important; }

.ml95 {
  margin-left: 95px !important; }

.ml10 {
  margin-left: 100px !important; }

.pt0 {
  padding-top: 0px !important; }

.pt1 {
  padding-top: 10px !important; }

.pt15 {
  padding-top: 15px !important; }

.pt2 {
  padding-top: 20px !important; }

.pt25 {
  padding-top: 25px !important; }

.pt3 {
  padding-top: 30px !important; }

.pt35 {
  padding-top: 35px !important; }

.pt4 {
  padding-top: 40px !important; }

.pt45 {
  padding-top: 45px !important; }

.pt5 {
  padding-top: 50px !important; }

.pt55 {
  padding-top: 55px !important; }

.pt6 {
  padding-top: 60px !important; }

.pt65 {
  padding-top: 65px !important; }

.pt7 {
  padding-top: 70px !important; }

.pt75 {
  padding-top: 75px !important; }

.pt8 {
  padding-top: 80px !important; }

.pt85 {
  padding-top: 85px !important; }

.pt9 {
  padding-top: 90px !important; }

.pt95 {
  padding-top: 95px !important; }

.pt10 {
  padding-top: 100px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pb1 {
  padding-bottom: 10px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pb2 {
  padding-bottom: 20px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pb3 {
  padding-bottom: 30px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pb4 {
  padding-bottom: 40px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pb5 {
  padding-bottom: 50px !important; }

.pb55 {
  padding-bottom: 55px !important; }

.pb6 {
  padding-bottom: 60px !important; }

.pb65 {
  padding-bottom: 65px !important; }

.pb7 {
  padding-bottom: 70px !important; }

.pb75 {
  padding-bottom: 75px !important; }

.pb8 {
  padding-bottom: 80px !important; }

.pb85 {
  padding-bottom: 85px !important; }

.pb9 {
  padding-bottom: 90px !important; }

.pb95 {
  padding-bottom: 95px !important; }

.pb10 {
  padding-bottom: 100px !important; }

.pr0 {
  padding-right: 0px !important; }

.pr1 {
  padding-right: 10px !important; }

.pr15 {
  padding-right: 15px !important; }

.pr2 {
  padding-right: 20px !important; }

.pr25 {
  padding-right: 25px !important; }

.pr3 {
  padding-right: 30px !important; }

.pr35 {
  padding-right: 35px !important; }

.pr4 {
  padding-right: 40px !important; }

.pr45 {
  padding-right: 45px !important; }

.pr5 {
  padding-right: 50px !important; }

.pr55 {
  padding-right: 55px !important; }

.pr6 {
  padding-right: 60px !important; }

.pr65 {
  padding-right: 65px !important; }

.pr7 {
  padding-right: 70px !important; }

.pr75 {
  padding-right: 75px !important; }

.pr8 {
  padding-right: 80px !important; }

.pr85 {
  padding-right: 85px !important; }

.pr9 {
  padding-right: 90px !important; }

.pr95 {
  padding-right: 95px !important; }

.pr10 {
  padding-right: 100px !important; }

.pl0 {
  padding-left: 0px !important; }

.pl1 {
  padding-left: 10px !important; }

.pl15 {
  padding-left: 15px !important; }

.pl2 {
  padding-left: 20px !important; }

.pl25 {
  padding-left: 25px !important; }

.pl3 {
  padding-left: 30px !important; }

.pl35 {
  padding-left: 35px !important; }

.pl4 {
  padding-left: 40px !important; }

.pl45 {
  padding-left: 45px !important; }

.pl5 {
  padding-left: 50px !important; }

.pl55 {
  padding-left: 55px !important; }

.pl6 {
  padding-left: 60px !important; }

.pl65 {
  padding-left: 65px !important; }

.pl7 {
  padding-left: 70px !important; }

.pl75 {
  padding-left: 75px !important; }

.pl8 {
  padding-left: 80px !important; }

.pl85 {
  padding-left: 85px !important; }

.pl9 {
  padding-left: 90px !important; }

.pl95 {
  padding-left: 95px !important; }

.pl10 {
  padding-left: 100px !important; }

#contact #footer {
  padding-top: 10%; }
  #contact #footer .footer-banner {
    display: none; }
  #contact #footer .footer-bottom {
    margin-top: 0; }
#contact .h1-area {
  background-color: #444;
  padding: 18px 0 21px;
  letter-spacing: 5px; }
  #contact .h1-area h1 {
    vertical-align: middle; }
  #contact .h1-area img {
    width: 50px;
    vertical-align: middle;
    margin-right: 10px; }
#contact .contact-guide {
  width: 600px;
  margin: 80px auto 0; }
#contact #contactForm {
  width: 94%;
  max-width: 800px;
  margin: 50px auto 0 auto;
  line-height: 1.9; }
  #contact #contactForm h2 {
    margin-top: 60px;
    text-align: center;
    font-size: 22px;
    font-weight: normal; }
  #contact #contactForm .ttl-failed {
    display: none; }
  #contact #contactForm #form {
    width: 100%;
    margin: 0 auto; }
    #contact #contactForm #form div {
      margin-bottom: 30px; }
    #contact #contactForm #form .privacy h3 {
      margin-top: 20px;
      font-size: 15px; }
    #contact #contactForm #form p {
      width: 100%;
      font-size: 16px; }
      #contact #contactForm #form p span {
        width: 100%; }
      #contact #contactForm #form p input {
        width: 93%;
        height: 60px;
        border: 1px solid #b8b6b6;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        padding: 0 20px;
        -webkit-appearance: button;
        backgrond-color: #fafafa; }
      #contact #contactForm #form p textarea {
        padding: 0;
        width: 93%;
        border: 1px solid #b8b6b6;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        padding: 20px; }
    #contact #contactForm #form .lead {
      text-align: center;
      font-size: 16px;
      margin-top: 30px;
      margin-bottom: 60px; }
    #contact #contactForm #form .check span {
      color: #f64c68; }
    #contact #contactForm #form .requ {
      color: #f64c68;
      font-size: 16px; }
    #contact #contactForm #form .division {
      margin-bottom: 30px; }
      #contact #contactForm #form .division .wpcf7-list-item {
        width: 100%;
        display: block;
        margin-top: 10px; }
      #contact #contactForm #form .division label .cover {
        width: 24px;
        height: 26px;
        background-image: url("https://rainbow-apps.com/images/common/form_checkbox_bg.gif");
        background-position: left top;
        background-repeat: no-repeat;
        background-size: cover;
        margin-right: 5px; }
      #contact #contactForm #form .division label input {
        display: none; }
      #contact #contactForm #form .division label span {
        display: inline-block;
        *display: inline;
        *zoom: 1;
        vertical-align: middle; }
      #contact #contactForm #form .division label.checked .cover {
        background-position: right top; }
    #contact #contactForm #form .consent .cover {
      width: 24px;
      height: 26px;
      background-image: url("https://rainbow-apps.com/images/common/form_checkbox_bg.gif");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: cover;
      margin-right: 5px; }
    #contact #contactForm #form .consent input {
      display: none; }
    #contact #contactForm #form .consent span {
      display: inline-block;
      *display: inline;
      *zoom: 1;
      vertical-align: middle; }
    #contact #contactForm #form .consent label.checked .cover {
      background-position: right top; }
    #contact #contactForm #form .privacy {
      padding: 30px 40px 30px 30px;
      border: 1px solid #b8b6b6;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      border-radius: 5px;
      width: 89%;
      height: 220px;
      overflow: scroll; }
      #contact #contactForm #form .privacy .text {
        font-size: 18px; }
    #contact #contactForm #form .consent {
      text-align: center;
      margin: 35px 0 40px; }
      #contact #contactForm #form .consent .cover {
        margin-right: 10px; }
    #contact #contactForm #form .submitBtn {
      margin-top: 20px;
      text-align: center;
      position: relative; }
      #contact #contactForm #form .submitBtn .ajax-loader {
        width: 20px; }
      #contact #contactForm #form .submitBtn .checked-cover {
        width: 100%;
        height: 100px;
        display: block;
        position: absolute;
        left: 0px;
        top: 0px;
        opacity: 0; }
      #contact #contactForm #form .submitBtn input {
        white-space: nowrap;
        text-indent: 900%;
        overflow: hidden;
        width: 398px;
        height: 58px;
        background-position: left top;
        background-repeat: no-repeat;
        background-size: cover;
        border: none; }
      #contact #contactForm #form .submitBtn .wpcf7-confirm {
        background-image: url("https://rainbow-apps.com/images/common/form_btn_check.gif"); }
      #contact #contactForm #form .submitBtn .wpcf7-submit {
        background-image: url("https://rainbow-apps.com/images/common/form_btn_submit.gif"); }
      #contact #contactForm #form .submitBtn .wpcf7-back {
        background-image: url("https://rainbow-apps.com/images/common/form_btn_back.gif"); }
      #contact #contactForm #form .submitBtn input:hover {
        opacity: 0.6;
        filter: alpha(Opacity=60);
        transition: 0.3s ease;
        -webkit-transition: 0.3s ease;
        -moz-transition: 0.3s ease;
        -ms-transition: 0.3s ease;
        -ms-filter: "alpha(opacity=60)"; }
    #contact #contactForm #form .wpcf7-response-output {
      text-align: center;
      margin: 30px 0; }
    #contact #contactForm #form .screen-reader-response {
      text-align: center;
      margin: 30px 0; }
      #contact #contactForm #form .screen-reader-response ul {
        display: none; }
    #contact #contactForm #form .wpcf7-not-valid-tip {
      font-size: 14px;
      background-image: url("https://rainbow-apps.com/images/common/form_alert_bg.gif");
      background-position: left top;
      background-repeat: repeat;
      padding: 10px 20px;
      text-align: center;
      color: #fff !important;
      display: block;
      width: 350px;
      margin-top: 10px; }
      #contact #contactForm #form .wpcf7-not-valid-tip .att {
        display: inline-block;
        *display: inline;
        *zoom: 1;
        vertical-align: middle;
        width: 16px;
        height: 16px;
        margin-right: 8px; }
    #contact #contactForm #form .wpcf7c-conf,
    #contact #contactForm #form .wpcf7-email,
    #contact #contactForm #form .wpcf7-textarea,
    #contact #contactForm #form input[type="email"] {
      background-color: #fff !important; }
    #contact #contactForm #form form.failed .ttl-invalid {
      display: none; }
    #contact #contactForm #form form.failed .ttl-failed {
      display: block; }
    #contact #contactForm #form form.failed .ajax-loader {
      display: none; }
    #contact #contactForm #form form.failed div p {
      display: inline-block;
      *display: inline;
      *zoom: 1;
      vertical-align: middle;
      width: 74%; }
      #contact #contactForm #form form.failed div p .requ {
        display: none; }
    #contact #contactForm #form form.failed div .inl {
      width: 25%; }
    #contact #contactForm #form form.failed .addless-check {
      display: none; }
    #contact #contactForm #form form.failed .kubun p {
      vertical-align: top; }
    #contact #contactForm #form form.failed .textarea p {
      vertical-align: top; }
    #contact #contactForm #form form.failed .privacy {
      display: none; }
    #contact #contactForm #form form.failed .consent {
      display: none; }
    #contact #contactForm #form form.failed .division {
      padding: 16px 10px;
      border: 1px solid #b8b6b6;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      border-radius: 5px;
      width: 71%;
      display: inline-block;
      *display: inline;
      *zoom: 1;
      vertical-align: middle; }
      #contact #contactForm #form form.failed .division .wpcf7-list-item {
        width: auto;
        display: block;
        margin-top: 0px; }
    #contact #contactForm #form form.failed .division label .cover {
      display: none !important; }
    #contact #contactForm #form form.invalid .ttl-invalid {
      display: block; }
    #contact #contactForm #form form.invalid .ttl-failed {
      display: none; }
#contact .thanks h2 {
  margin-top: 20px; }
#contact .thanks .messeage {
  width: 92%;
  margin: 30px auto 0 auto;
  border: 1px solid #b8b6b6;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 20px 0;
  text-align: center;
  font-size: 16px; }
  #contact .thanks .messeage h3 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: normal; }
#contact .thanks .anno {
  font-size: 14px;
  width: 92%;
  margin: 10px auto 0 auto; }
  #contact .thanks .anno .pc {
    display: inline-block; }
#contact .thanks .tel {
  font-size: 20px;
  text-align: center;
  margin-top: 15px; }
  #contact .thanks .tel img {
    width: 20px;
    margin-right: 10px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: middle; }
  #contact .thanks .tel span {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: middle; }

#contact #contactForm #form .privacy p.bold {
  font-size: 15px; }

#contact #contactForm #form .privacy .text {
  font-size: 16px; }

/* ==========================================================
	SP 920px以下
========================================================== */
@media screen and (max-width: 920px) {
  .h1-area img {
    width: 30px; } }
/* ==========================================================
	SP 830px以下
========================================================== */
@media screen and (max-width: 830px) {
  #contact #contactForm #form form.failed div p {
    width: 100%;
    display: block; }

  #contact #contactForm #form form.failed div .inl {
    width: 100%; }

  #contact #contactForm #form form.failed .division {
    width: 96%;
    padding: 16px 1%; } }
/* ==========================================================
	SP 670px以下
========================================================== */
@media screen and (max-width: 670px) {
  #contact .h1-area img {
    width: 34px;
    margin: 0px 10px 0 0; }

  #contact .contact-guide {
    width: 100%; }

  #contact .contact-guide {
    margin: 10% auto 0; }

  #contact #contactForm h2 {
    margin-top: 10%;
    font-size: 18px;
    text-align: left; }

  #contact #contactForm #form .lead {
    margin-top: 8%;
    margin-bottom: 10%;
    text-align: left; }

  #contact #contactForm #form .privacy {
    padding: 4%;
    width: 92%; }

  #contact #contactForm #form p textarea {
    width: 92%;
    height: 200px;
    padding: 4%; }

  #contact #contactForm #form p input {
    width: 92%;
    padding: 0 4%; }

  #contact #contactForm #form .submitBtn input {
    width: 280px;
    height: 41px; }

  #contact #contactForm #form .wpcf7-not-valid-tip {
    padding: 10px 4%;
    width: 92%; }

  #contact .thanks h2 {
    text-align: center !important; }

  #contact .thanks .messeage {
    padding: 20px 4%; }

  #contact .thanks .anno .pc {
    display: none; } }
@media screen and (max-width: 640px) {
  #contact .h1-area {
    padding: 10px 0 10px;
    letter-spacing: 4px; }
    #contact .h1-area img {
      width: 22px;
      margin-right: 3px;
      margin-top: 1px; }
  #contact #contactForm #form .inl {
    font-size: 15px; } }
@media screen and (max-width: 320px) {
  #contact #contactForm #form form.failed div p {
    width: 100%;
    display: block; }

  #contact #contactForm #form form.failed div .inl {
    width: 100%; }

  #contact #contactForm #form form.failed .division {
    width: 100%;
    padding: 16px 0%; } }
