@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

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

button {
  padding: 0;
  margin: 0;
  border: none; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: 16rem; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
/*フォント*/
.font_poppins {
  font-family: "Poppins", sans-serif; }

button {
  cursor: pointer; }

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
html {
  font-size: calc(1vw * 100 / 1440);
  overscroll-behavior-y: none; }

/* PC */
@media screen and (min-width: 840px) {
  .sponly {
    display: none !important; }

  header {
    width: 1400rem;
    position: fixed;
    left: 50%;
    top: 19rem;
    transform: translateX(-50%);
    z-index: 10; }
    header .inner {
      width: 100%;
      box-sizing: border-box;
      padding: 16rem 20rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-radius: 10rem;
      background: #fff; }
      header .inner .logo {
        width: 155rem; }
      header .inner nav ul {
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        header .inner nav ul li {
          font-size: 15rem;
          line-height: 1.2em;
          font-weight: bold;
          margin-right: 30rem; }
          header .inner nav ul li:last-child {
            margin-right: 0; }
          header .inner nav ul li a {
            display: inline-block;
            color: #114445; }
      header .inner .header_btn {
        width: 351rem;
        display: flex;
        justify-content: space-between; }
        header .inner .header_btn a {
          display: block;
          font-size: 15rem;
          line-height: 1.2em;
          font-weight: 600;
          color: #fff;
          text-align: center;
          padding: 13.5rem 0;
          border-radius: 8rem;
          box-shadow: 0 2rem 4.5rem rgba(38, 38, 38, 0.2);
          transition: 0.3s; }
          header .inner .header_btn a:hover {
            filter: brightness(1.15); }
          header .inner .header_btn a.contact {
            width: 164rem;
            background: linear-gradient(to right, #F5853D, #FE3D01); }
          header .inner .header_btn a.dl {
            width: 179rem;
            background: linear-gradient(to right, #1DB1B6, #008084); }

  .cta_btn {
    width: 680rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    .cta_btn .btn {
      width: 320rem; }
      .cta_btn .btn a {
        display: block;
        width: 100%;
        font-size: 20rem;
        line-height: 1.2em;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 23rem 0;
        border-radius: 10rem;
        box-shadow: 0 2rem 7.8rem rgba(38, 38, 38, 0.2);
        transition: 0.3s; }
        .cta_btn .btn a:hover {
          filter: brightness(1.15); }
        .cta_btn .btn a.contact {
          background: linear-gradient(to right, #F5853D, #FE3D01); }
        .cta_btn .btn a.dl {
          background: linear-gradient(to right, #1DB1B6, #008084); }

  #mv {
    width: 100%;
    background: url("../img/sales02/mv_bg.webp") no-repeat center;
    background-size: cover; }
    #mv .inner {
      width: 1294rem;
      margin: 0 auto;
      padding: 173rem 0 85rem; }
      #mv .inner .mv_cont {
        position: relative; }
        #mv .inner .mv_cont h1 {
          font-size: 55rem;
          line-height: 1.33em;
          font-weight: bold;
          color: #004648; }
          #mv .inner .mv_cont h1 span {
            color: #FB5363; }
        #mv .inner .mv_cont .mv_cont_txt {
          font-size: 19rem;
          line-height: 1.41em;
          font-weight: bold;
          color: #004648;
          margin: 30rem 0; }
        #mv .inner .mv_cont .mv_main_img {
          width: 686rem;
          position: absolute;
          top: -11rem;
          right: -7rem; }
        #mv .inner .mv_cont .mv_cont_img {
          width: 493rem;
          margin-bottom: 30rem; }
        #mv .inner .mv_cont .mv_btn {
          width: 541rem;
          margin: 0; }
          #mv .inner .mv_cont .mv_btn .btn {
            width: 262rem; }
            #mv .inner .mv_cont .mv_btn .btn a {
              font-size: 18rem;
              line-height: 1.38em;
              padding: 18rem 0; }

  .logo_area {
    padding: 40rem 0;
    font-size: 16rem;
    color: #333333; }
    .logo_area .logo_scroll .logo_box {
      display: flex;
      justify-content: center;
      align-items: center; }
      .logo_area .logo_scroll .logo_box img {
        width: auto;
        height: 52rem;
        margin: 0 9rem; }

  h2.sec_ttl {
    font-size: 34rem;
    line-height: 1.4em;
    letter-spacing: 0.04em;
    font-weight: bold;
    text-align: center;
    position: relative; }
    h2.sec_ttl::before {
      position: absolute;
      content: "";
      width: 123rem;
      height: 3rem;
      bottom: -16rem;
      left: 50%;
      transform: translateX(-50%);
      background: linear-gradient(to right, #24BEC4, #008084); }

  #intro .bg {
    background: #ECECEC; }
  #intro .inner {
    width: 1000rem;
    margin: 0 auto;
    padding: 90rem 0 66rem;
    color: #333333; }
    #intro .inner h2 {
      font-size: 34rem;
      line-height: 1.4em;
      letter-spacing: 0.04em;
      font-weight: bold;
      text-align: center;
      margin-bottom: 55rem; }
      #intro .inner h2 span {
        display: inline-block;
        font-size: 40rem;
        line-height: 1.4em;
        color: #FB5363; }
    #intro .inner .intro_boxes {
      display: flex;
      justify-content: space-between; }
      #intro .inner .intro_boxes .intro_box {
        width: 325rem;
        padding: 27rem 0;
        border-radius: 10rem;
        background: #fff;
        position: relative; }
        #intro .inner .intro_boxes .intro_box::before {
          position: absolute;
          content: "";
          width: 33rem;
          height: 30rem;
          top: -19rem;
          left: 15rem;
          background: url("../img/sales02/intro_box_ob.png") no-repeat center;
          background-size: contain; }
        #intro .inner .intro_boxes .intro_box h3 {
          font-size: 24rem;
          line-height: 1.2em;
          font-weight: bold;
          text-align: center;
          margin-bottom: 14rem; }
        #intro .inner .intro_boxes .intro_box .intro_box_txt {
          font-size: 18rem;
          line-height: 1.6em;
          font-weight: 500;
          box-sizing: border-box; }
          #intro .inner .intro_boxes .intro_box .intro_box_txt span {
            font-weight: 900; }
        #intro .inner .intro_boxes .intro_box:nth-child(1) .intro_box_txt {
          padding: 0 36rem; }
        #intro .inner .intro_boxes .intro_box:nth-child(2) .intro_box_txt {
          padding: 0 27rem; }
        #intro .inner .intro_boxes .intro_box:nth-child(3) .intro_box_txt {
          padding: 0 19rem; }

  #quality .bg {
    background: linear-gradient(to bottom, #fff 0%, #E9FDFF 44%, #E9FDFF 100%);
    position: relative; }
    #quality .bg::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 84rem;
      left: 0;
      top: 0;
      background: url("../img/sales02/quality_bg.png") no-repeat center top;
      background-size: contain; }
  #quality .inner {
    width: 1000rem;
    margin: 0 auto;
    padding: 123rem 0 70rem;
    color: #333333; }
    #quality .inner h2 {
      font-size: 34rem;
      letter-spacing: 0.04em;
      line-height: 1.4em;
      font-weight: bold;
      text-align: center;
      margin-bottom: 50rem; }
      #quality .inner h2::before {
        bottom: -41rem; }
      #quality .inner h2 span {
        display: inline-block; }
        #quality .inner h2 span.img {
          width: 212rem;
          margin-right: 7rem; }
        #quality .inner h2 span.red {
          font-size: 40rem;
          line-height: 1.4em;
          color: #FB5363; }
    #quality .inner .quality_boxes {
      display: flex;
      justify-content: space-between; }
      #quality .inner .quality_boxes .quality_box {
        width: 282rem; }
        #quality .inner .quality_boxes .quality_box:nth-child(3) h3 {
          width: 105%; }
        #quality .inner .quality_boxes .quality_box .num {
          font-size: 18rem;
          line-height: 1.25em;
          font-weight: 600;
          color: #157577;
          margin-bottom: 5rem; }
        #quality .inner .quality_boxes .quality_box h3 {
          font-size: 24rem;
          line-height: 1.25em;
          font-weight: bold; }
          #quality .inner .quality_boxes .quality_box h3 span {
            color: #DE4861; }
        #quality .inner .quality_boxes .quality_box .quality_box_txt {
          font-size: 16rem;
          line-height: 1.6em;
          font-weight: 500;
          margin: 8rem 0 30rem; }
        #quality .inner .quality_boxes .quality_box .quality_box_img {
          filter: drop-shadow(0 10rem 20rem rgba(48, 157, 165, 0.15)); }

  #difference .bg {
    background: #E9FDFF; }
  #difference .inner {
    width: 938rem;
    margin: 0 auto;
    padding: 20rem 0 70rem;
    color: #333333; }
    #difference .inner h2 span {
      display: inline-block;
      font-size: 40rem;
      color: #FB5363; }
    #difference .inner .difference_txt {
      font-size: 18rem;
      line-height: 1.5em;
      font-weight: bold;
      text-align: center;
      margin: 30rem 0 65rem; }
      #difference .inner .difference_txt span {
        display: inline-block;
        font-size: 24rem;
        line-height: 1.5em; }
    #difference .inner .difference_boxes {
      margin-bottom: 70rem; }
      #difference .inner .difference_boxes .difference_box h3 {
        font-size: 25rem;
        letter-spacing: 0.04em;
        line-height: 1.4em;
        font-weight: bold;
        color: #000;
        text-align: center; }
      #difference .inner .difference_boxes .difference_box.box01 .difference_box_img {
        /*position: relative;
        top: -133rem;*/
        margin-top: -110rem; }
      #difference .inner .difference_boxes .difference_box.box02 h3 {
        margin-bottom: 35rem; }

  #features {
    padding-top: 80rem;
    margin-top: -80rem; }
    #features .inner {
      width: 992rem;
      margin: 0 auto;
      padding: 69rem 0;
      color: #06262D; }
      #features .inner h2 {
        font-size: 34rem;
        line-height: 1.4em;
        margin-bottom: 76rem; }
      #features .inner .features_boxes {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 56rem 0; }
        #features .inner .features_boxes .features_box {
          width: 468rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          box-sizing: border-box;
          padding: 30rem;
          border-radius: 10rem;
          box-shadow: 0 0 26rem rgba(46, 157, 165, 0.14);
          background: #fff; }
          #features .inner .features_boxes .features_box .features_box_left {
            width: 254rem; }
            #features .inner .features_boxes .features_box .features_box_left .features_box_ttl {
              display: flex;
              justify-content: flex-start;
              align-items: center;
              font-size: 24rem;
              line-height: 1.4em;
              font-weight: bold;
              margin-bottom: 8rem; }
              #features .inner .features_boxes .features_box .features_box_left .features_box_ttl .num {
                color: #DE4861;
                margin-right: 8rem; }
            #features .inner .features_boxes .features_box .features_box_left .features_box_txt {
              font-size: 16rem;
              letter-spacing: 0.02em;
              line-height: 1.5em;
              font-weight: 500; }
              #features .inner .features_boxes .features_box .features_box_left .features_box_txt.long {
                width: 107%; }
          #features .inner .features_boxes .features_box .features_box_img {
            width: 130rem; }

  #price {
    padding-top: 80rem;
    margin-top: -80rem; }
    #price .bg {
      background: #EAF7F8; }
    #price .inner {
      width: 680rem;
      margin: 0 auto;
      padding: 60rem 0 74rem; }
      #price .inner .price_img {
        width: 673rem;
        margin: 70rem auto 50rem;
        filter: drop-shadow(0 10rem 25rem rgba(0, 0, 0, 0.1)); }

  #example {
    padding-top: 80rem;
    margin-top: -80rem; }
    #example .bg {
      background: #F5F5F5; }
    #example .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 56rem 0;
      color: #333333; }
      #example .inner h2 {
        line-height: 1.4em;
        margin-bottom: 60rem; }
        #example .inner h2 .small {
          display: inline-block;
          font-size: 24rem;
          line-height: 1.4em; }
          #example .inner h2 .small .green {
            color: #157577; }
      #example .inner .example_boxes {
        display: flex;
        justify-content: space-between;
        margin-bottom: 50rem; }
        #example .inner .example_boxes .example_box {
          width: 320rem;
          padding-bottom: 24rem;
          border-radius: 10rem;
          background: #fff;
          box-shadow: 0 4rem 10rem rgba(0, 0, 0, 0.1);
          overflow: hidden; }
          #example .inner .example_boxes .example_box .example_box_ttl {
            margin-top: 24rem;
            font-size: 18rem;
            line-height: 1.5em;
            font-weight: bold;
            box-sizing: border-box;
            padding: 0 24rem;
            margin-bottom: 12rem; }
          #example .inner .example_boxes .example_box .example_box_txt {
            font-size: 15rem;
            letter-spacing: 0.08em;
            line-height: 1.4em;
            font-weight: 500;
            box-sizing: border-box;
            padding: 0 24rem; }

  #support {
    padding-top: 80rem;
    margin-top: -80rem; }
    #support .bg {
      background: linear-gradient(to bottom, #EAF7F8 0%, #F0F6F6 36%, #F7F7F7 100%); }
    #support .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 72rem 0;
      color: #333333; }
      #support .inner .support_txt {
        font-size: 20rem;
        letter-spacing: 0.05em;
        line-height: 1.4em;
        font-weight: 500;
        text-align: center;
        margin: 30rem 0 60rem; }
      #support .inner .support_box {
        width: 954rem;
        margin: 0 auto 0;
        display: flex;
        justify-content: space-between;
        align-items: flex-start; }
        #support .inner .support_box .support_box_img {
          width: 458rem; }
        #support .inner .support_box .support_box_right {
          width: 440rem; }
          #support .inner .support_box .support_box_right ul {
            margin-bottom: 45rem; }
            #support .inner .support_box .support_box_right ul li {
              font-size: 28rem;
              line-height: 1.285em;
              font-weight: 500;
              box-sizing: border-box;
              padding-left: 60rem;
              background: url("../img/sales02/icon_check.png") no-repeat left center;
              background-size: 46rem;
              margin-bottom: 30rem; }
              #support .inner .support_box .support_box_right ul li:last-child {
                margin-bottom: 0; }
          #support .inner .support_box .support_box_right .support_box_txt .txt {
            font-size: 16rem;
            line-height: 1.4em;
            font-weight: 500;
            box-sizing: border-box;
            padding: 21rem 20rem;
            border-radius: 10rem;
            background: #fff;
            box-shadow: 0 4rem 10rem rgba(0, 0, 0, 0.15); }
            #support .inner .support_box .support_box_right .support_box_txt .txt:first-child {
              margin-bottom: 13rem; }
            #support .inner .support_box .support_box_right .support_box_txt .txt span {
              font-weight: bold; }
              #support .inner .support_box .support_box_right .support_box_txt .txt span.red {
                color: #DE4861; }

  #step .inner {
    width: 1000rem;
    margin: 0 auto;
    padding: 0 0 145rem; }
    #step .inner h2 {
      margin-bottom: 70rem; }
    #step .inner .step_img {
      margin-bottom: 40rem; }

  #faq {
    padding-top: 80rem;
    margin-top: -80rem; }
    #faq .bg {
      background: #F7F7F7; }
    #faq .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 60rem 0;
      color: #333333; }
      #faq .inner h2 {
        margin-bottom: 69rem; }
      #faq .inner .faq_boxes {
        margin-bottom: 60rem; }
        #faq .inner .faq_boxes .faq_box {
          box-sizing: border-box;
          padding: 17rem 14rem;
          border-radius: 10rem;
          border: solid 1rem #00A5B5;
          background: #fff;
          margin-bottom: 32rem; }
          #faq .inner .faq_boxes .faq_box:last-child {
            margin-bottom: 0; }
          #faq .inner .faq_boxes .faq_box h3 {
            font-size: 22rem;
            line-height: 40rem;
            font-weight: bold;
            box-sizing: border-box;
            padding-bottom: 9rem;
            padding-left: 56rem;
            background: url("../img/sales02/icon_q.png") no-repeat;
            background-size: 40rem;
            border-bottom: solid 1rem #BCBCBC;
            margin-bottom: 15rem; }
          #faq .inner .faq_boxes .faq_box .faq_box_txt {
            font-size: 16rem;
            letter-spacing: 0.02em;
            line-height: 1.8em; }

  #info .inner {
    width: 1000rem;
    margin: 0 auto;
    padding: 65rem 0;
    color: #333333; }
    #info .inner h2 {
      margin-bottom: 50rem; }
    #info .inner .info_boxes {
      display: flex;
      justify-content: center;
      gap: 0 24rem; }
      #info .inner .info_boxes .info_box {
        width: 319rem;
        box-sizing: border-box;
        padding: 21rem 21rem 30rem;
        border-radius: 9rem;
        background: #fff;
        box-shadow: 0 3rem 8rem rgba(0, 0, 0, 0.2); }
        #info .inner .info_boxes .info_box .cat {
          font-size: 13rem;
          line-height: 1.23em;
          font-weight: bold;
          color: #157577;
          margin: 17rem 0; }
        #info .inner .info_boxes .info_box h3 {
          font-size: 18rem;
          line-height: 1.22em;
          font-weight: bold;
          margin-bottom: 14rem; }
        #info .inner .info_boxes .info_box .info_box_txt {
          font-size: 13rem;
          line-height: 1.5em;
          margin-bottom: 17rem; }
        #info .inner .info_boxes .info_box .pdf {
          font-size: 13rem;
          line-height: 1.4em;
          font-weight: 500;
          color: #8E8E8E;
          box-sizing: border-box;
          padding-left: 35rem;
          background: url("../img/sales02/icon_pdf.png") no-repeat left center;
          background-size: contain;
          margin-bottom: 17rem; }
        #info .inner .info_boxes .info_box .info_box_btn {
          width: 100%; }
          #info .inner .info_boxes .info_box .info_box_btn a {
            display: block;
            width: 100%;
            font-size: 14rem;
            letter-spacing: 0.02em;
            line-height: 1;
            color: #fff;
            font-weight: bold;
            box-sizing: border-box;
            border-radius: 9rem;
            background-color: #157577;
            background-repeat: no-repeat, no-repeat;
            background-position: left 14rem center, right 14rem center;
            background-size: 32rem, 15rem;
            transition: 0.3s; }
            #info .inner .info_boxes .info_box .info_box_btn a.dl {
              padding: 18rem 0 18rem 64rem;
              background-image: url("../img/sales02/icon_dl.png"), url("../img/sales02/info_btn_arrow.png"); }
            #info .inner .info_boxes .info_box .info_box_btn a.apply {
              padding: 18rem 0 18rem 60rem;
              background-image: url("../img/sales02/icon_apply.png"), url("../img/sales02/info_btn_arrow.png"); }
            #info .inner .info_boxes .info_box .info_box_btn a:hover {
              filter: brightness(1.2); }

  #banner .bg {
    background: url("../img/sales02/banner_bg.png") no-repeat center;
    background-size: cover; }
  #banner .inner {
    padding: 55rem 0 62rem;
    text-align: center;
    color: #fff; }
    #banner .inner h2 {
      font-size: 42rem;
      letter-spacing: 0.13em;
      line-height: 1.5em;
      font-weight: bold;
      margin-bottom: 7rem; }
    #banner .inner .banner_txt {
      font-size: 18rem;
      letter-spacing: 0.13em;
      line-height: 1.7em;
      font-weight: bold;
      margin-bottom: 37rem; }
      #banner .inner .banner_txt.small {
        font-size: 16rem;
        margin-bottom: 47rem; }

  /*問い合わせ系のモーダル*/
  .modal02 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    z-index: 11; }
    .modal02 .modal-bg {
      position: absolute;
      height: 100vh;
      width: 100%;
      background: rgba(0, 0, 0, 0.4); }
    .modal02 .modal-content {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      flex-direction: column;
      align-items: center; }
      .modal02 .modal-content .modal_inner {
        width: 560rem;
        max-width: 100%;
        height: 90vh;
        box-sizing: border-box;
        padding: 24rem;
        background: #fff;
        border-radius: 16rem;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column;
        position: relative;
        z-index: 12;
        box-shadow: 0 6rem 15rem rgba(0, 0, 0, 0.2); }
        .modal02 .modal-content .modal_inner .btn {
          width: 100%;
          max-width: 100%;
          height: 20rem;
          display: flex;
          justify-content: flex-start;
          align-items: flex-end;
          flex-direction: column; }
          .modal02 .modal-content .modal_inner .btn button {
            color: #333;
            font-size: 24rem;
            background: transparent;
            padding: 0;
            margin: 0;
            border: none; }
        .modal02 .modal-content .modal_inner .modal_ttl {
          font-size: 20rem;
          letter-spacing: 0;
          line-height: 1.4em;
          font-weight: 600;
          color: #333;
          padding-bottom: 16rem;
          text-align: center; }
        .modal02 .modal-content .modal_inner .modal_form {
          width: 541rem;
          max-width: 100%;
          height: 88%; }
          .modal02 .modal-content .modal_inner .modal_form iframe {
            width: 100%;
            height: 100%; }
    .modal02.contact {
      width: 100%; }
      .modal02.contact .modal-content .modal_inner {
        width: auto;
        /*margin-top: 80rem;*/
        height: 90vh; }
        .modal02.contact .modal-content .modal_inner .modal_form {
          height: 100%; }
    .modal02.dl {
      width: 100%; }
      .modal02.dl .modal-content .modal_inner {
        /*margin-top: 80rem;*/
        height: 90vh; }
        .modal02.dl .modal-content .modal_inner .modal_form {
          height: 88%; }

  footer {
    width: 100%; }
    footer .footer_inner {
      width: 1181rem;
      margin: 0 auto;
      padding: 48rem 0px 120rem;
      display: flex;
      justify-content: space-between; }
      footer .footer_inner .footer_left .footer_logo {
        width: 143px;
        margin-bottom: 33px; }
      footer .footer_inner .footer_left .footer_menu {
        display: flex;
        justify-content: flex-start; }
        footer .footer_inner .footer_left .footer_menu dl {
          margin-right: 109rem; }
          footer .footer_inner .footer_left .footer_menu dl dt {
            font-size: 15rem;
            line-height: 1.2em;
            font-weight: bold;
            color: #454545;
            margin-bottom: 15rem; }
          footer .footer_inner .footer_left .footer_menu dl dd {
            font-size: 15rem;
            line-height: 1.2em;
            font-weight: bold;
            margin-bottom: 15rem; }
            footer .footer_inner .footer_left .footer_menu dl dd:last-child {
              margin-bottom: 0; }
            footer .footer_inner .footer_left .footer_menu dl dd a {
              color: #454545; }
              footer .footer_inner .footer_left .footer_menu dl dd a:hover {
                text-decoration: underline; }
      footer .footer_inner .footer_right {
        width: 257rem; }
        footer .footer_inner .footer_right .btn {
          width: 100%;
          margin-bottom: 15rem; }
          footer .footer_inner .footer_right .btn:last-child {
            margin-bottom: 0; }
          footer .footer_inner .footer_right .btn a {
            display: block;
            width: 100%;
            font-size: 16rem;
            letter-spacing: 0.02em;
            line-height: 1em;
            font-weight: bold;
            text-align: center;
            padding: 17rem 0;
            border-radius: 4rem;
            border: solid 1rem #007580;
            cursor: pointer;
            transition: 0.3s; }
            footer .footer_inner .footer_right .btn a.contact {
              color: #fff;
              background: #007580; }
            footer .footer_inner .footer_right .btn a.dl {
              color: #045A60;
              background: #fff; }
            footer .footer_inner .footer_right .btn a:hover {
              filter: brightness(1.2); }
    footer .copyright {
      font-size: 12px;
      line-height: 2em;
      text-align: center; } }
/* SP */
@media screen and (max-width: 839px) {
  .pconly {
    display: none !important; }

  html {
    font-size: calc(1vw * 100 / 390); }

  header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10; }
    header .inner {
      width: 100%;
      box-sizing: border-box;
      padding: 12rem 20rem 11rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: #fff;
      border-bottom: solid 1rem #ECECEC; }
      header .inner .logo {
        width: 94rem; }

  #navArea {
    position: relative; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100vw;
    /*bottom: 0;*/
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
    transition: all .5s;
    z-index: 21;
    background: #fff; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  nav.hum .hum_cont {
    box-sizing: border-box;
    padding: 20rem 35rem 50rem; }
    nav.hum .hum_cont nav {
      margin-bottom: 34rem; }
      nav.hum .hum_cont nav ul li {
        font-size: 20rem;
        line-height: 1.5em;
        font-weight: bold;
        text-align: center; }
        nav.hum .hum_cont nav ul li a {
          display: block;
          color: #114445;
          padding: 29rem 0 28rem;
          border-bottom: solid 1rem #BCBCBC; }
    nav.hum .hum_cont .header_btn {
      width: 100%; }
      nav.hum .hum_cont .header_btn a {
        display: block;
        width: 100%;
        font-size: 20rem;
        letter-spacing: 0.02em;
        line-height: 1em;
        font-weight: bold;
        text-align: center;
        padding: 20rem 0;
        border-radius: 5rem;
        border: solid 2rem #007580;
        cursor: pointer;
        transition: 0.3s; }
        nav.hum .hum_cont .header_btn a.contact {
          color: #fff;
          background: #007580;
          margin-bottom: 18rem; }
        nav.hum .hum_cont .header_btn a.dl {
          color: #045A60;
          background: #fff; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 22rem;
    right: 22rem;
    width: 18rem;
    height: 10rem;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 18rem;
    height: 2rem;
    background-color: #114445;
    transition: all .5s; }

  .toggle_btn span:nth-of-type(1) {
    top: 0; }

  .toggle_btn span:nth-of-type(2) {
    top: 7rem; }

  .toggle_btn span:nth-of-type(3) {
    top: 14rem; }

  .open .toggle_btn span {
    background: #114445; }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(7rem) rotate(-315deg);
    transform: translateY(7rem) rotate(-315deg); }

  .open .toggle_btn span:nth-of-type(2) {
    opacity: 0; }

  .open .toggle_btn span:nth-of-type(3) {
    -webkit-transform: translateY(-7rem) rotate(315deg);
    transform: translateY(-7rem) rotate(315deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20; }

  .cta_btn {
    width: 320rem;
    margin: 0 auto; }
    .cta_btn .btn {
      width: 100%;
      margin-bottom: 20rem; }
      .cta_btn .btn:last-child {
        margin-bottom: 0; }
      .cta_btn .btn a {
        display: block;
        width: 100%;
        font-size: 20rem;
        line-height: 1.2em;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 18rem 0;
        border-radius: 10rem;
        box-shadow: 0 2rem 7.8rem rgba(0, 0, 0, 0.2);
        transition: 0.3s; }
        .cta_btn .btn a:hover {
          filter: brightness(1.15); }
        .cta_btn .btn a.contact {
          background: linear-gradient(to right, #F5853D, #FE3D01); }
        .cta_btn .btn a.dl {
          background: linear-gradient(to right, #1DB1B6, #008084); }

  #mv {
    width: 100%;
    background: linear-gradient(to bottom, #F2FEFF 0%, #C4FDFF 23%, #61AAFA 73%, #0AA4B4 100%);
    margin-top: 58rem; }
    #mv .inner {
      width: 323rem;
      margin: 0 auto;
      padding: 14rem 0; }
      #mv .inner .mv_cont {
        position: relative; }
        #mv .inner .mv_cont h1 {
          width: 302rem;
          margin: 0 auto;
          font-size: 30rem;
          line-height: 1.33em;
          font-weight: bold;
          color: #004648; }
          #mv .inner .mv_cont h1 span {
            color: #FB5363; }
        #mv .inner .mv_cont .mv_cont_txt {
          width: 302rem;
          margin: 5rem auto 10rem;
          font-size: 15rem;
          line-height: 1.5em;
          font-weight: bold;
          color: #004648; }
        #mv .inner .mv_cont .mv_main_img {
          width: 282rem;
          margin: 0 auto 15rem; }
        #mv .inner .mv_cont .mv_cont_img {
          width: 100%;
          margin-bottom: 20rem; }

  .logo_area {
    padding: 32rem 0;
    font-size: 16rem;
    color: #333333; }
    .logo_area .logo_scroll {
      width: 100%;
      display: flex;
      justify-content: space-between;
      overflow: hidden; }
      .logo_area .logo_scroll .logo_box {
        flex-shrink: 0;
        display: flex;
        justify-content: space-between;
        animation: infinity-scroll-left 50s infinite linear 0.5s both;
        background: #fff; }
        .logo_area .logo_scroll .logo_box img {
          width: auto;
          height: 52rem;
          margin: 0 9rem; }
      .logo_area .logo_scroll:nth-of-type(2) {
        margin-top: 13px; }
        .logo_area .logo_scroll:nth-of-type(2) .logo_box {
          padding-left: 37rem;
          animation: infinity-scroll-left 50s infinite linear 0.5s both; }
          .logo_area .logo_scroll:nth-of-type(2) .logo_box img {
            width: auto;
            height: 52rem;
            margin: 0 9rem; }

  h2.sec_ttl {
    font-size: 25rem;
    line-height: 1.4em;
    letter-spacing: 0.04em;
    font-weight: bold;
    text-align: center;
    position: relative; }
    h2.sec_ttl::before {
      position: absolute;
      content: "";
      width: 100rem;
      height: 3rem;
      bottom: -10rem;
      left: 50%;
      transform: translateX(-50%);
      border-radius: 100rem;
      background: linear-gradient(to right, #24BEC4, #008084); }

  #intro .bg {
    background: #ECECEC; }
  #intro .inner {
    width: 350rem;
    margin: 0 auto;
    padding: 49rem 0 28rem;
    color: #333333; }
    #intro .inner h2 {
      font-size: 25rem;
      line-height: 1.4em;
      letter-spacing: 0.04em;
      font-weight: bold;
      text-align: center;
      margin-bottom: 40rem; }
      #intro .inner h2 span {
        font-weight: 900;
        color: #FB5363; }
    #intro .inner .intro_boxes .intro_box {
      width: 100%;
      padding: 20rem 0;
      text-align: center;
      border-radius: 10rem;
      background: #fff;
      position: relative;
      margin-bottom: 16rem; }
      #intro .inner .intro_boxes .intro_box:last-child {
        margin-bottom: 0; }
      #intro .inner .intro_boxes .intro_box::before {
        position: absolute;
        content: "";
        width: 24rem;
        height: 22rem;
        top: -9rem;
        left: 8rem;
        background: url("../img/sales02/intro_box_ob_sp.png") no-repeat center;
        background-size: contain; }
      #intro .inner .intro_boxes .intro_box h3 {
        font-size: 18rem;
        line-height: 1.2em;
        font-weight: bold;
        margin-bottom: 12rem; }
      #intro .inner .intro_boxes .intro_box .intro_box_txt {
        font-size: 14rem;
        line-height: 1.6em;
        box-sizing: border-box; }
        #intro .inner .intro_boxes .intro_box .intro_box_txt span {
          font-weight: bold; }

  #quality {
    padding-top: 58rem;
    margin-top: -58rem; }
    #quality .bg {
      background: linear-gradient(to bottom, #fff 0%, #E9FDFF 34%, #E9FDFF 100%);
      position: relative;
      /*&::before {
      	position: absolute;
      	content: "";
      	width: 100%;
      	height: 84rem;
      	left: 0;
      	top: 0;
      	background: url("../img/sales02/quality_bg.png")no-repeat center top;
      	background-size: contain;
      }*/ }
    #quality .inner {
      padding: 50rem 0 30rem;
      color: #333333; }
      #quality .inner h2 {
        font-size: 25rem;
        letter-spacing: 0.04em;
        line-height: 1.4em;
        font-weight: bold;
        text-align: center;
        margin-bottom: 30rem; }
        #quality .inner h2::before {
          bottom: -41rem; }
        #quality .inner h2 span {
          display: inline-block; }
          #quality .inner h2 span.img {
            width: 132rem;
            line-height: 0; }
          #quality .inner h2 span.red {
            font-size: 30rem;
            line-height: 1.4em;
            color: #FB5363; }
          #quality .inner h2 span.small {
            font-size: 21rem;
            position: relative;
            top: -2rem; }
      #quality .inner .quality_boxes {
        width: 282rem;
        margin: 0 auto; }
        #quality .inner .quality_boxes .quality_box {
          width: 100%;
          margin-bottom: 50rem; }
          #quality .inner .quality_boxes .quality_box:nth-child(3) h3 {
            width: 105%; }
          #quality .inner .quality_boxes .quality_box:last-child {
            margin-bottom: 0; }
          #quality .inner .quality_boxes .quality_box .num {
            font-size: 18rem;
            line-height: 1.25em;
            font-weight: 600;
            color: #157577;
            margin-bottom: 5rem; }
          #quality .inner .quality_boxes .quality_box h3 {
            font-size: 24rem;
            line-height: 1.25em;
            font-weight: bold; }
            #quality .inner .quality_boxes .quality_box h3 span {
              color: #DE4861; }
          #quality .inner .quality_boxes .quality_box .quality_box_txt {
            font-size: 16rem;
            line-height: 1.6em;
            font-weight: 500;
            margin: 8rem 0 30rem; }
          #quality .inner .quality_boxes .quality_box .quality_box_img {
            filter: drop-shadow(0 10rem 20rem rgba(48, 157, 165, 0.15)); }

  #difference .bg {
    background: #E9FDFF; }
  #difference .inner {
    width: 322rem;
    margin: 0 auto;
    padding: 50rem 0 30rem;
    color: #333333; }
    #difference .inner h2 span {
      color: #DE4861; }
    #difference .inner .difference_txt {
      font-size: 16rem;
      line-height: 1.5em;
      font-weight: 500;
      text-align: center;
      margin: 18rem 0 30rem; }
      #difference .inner .difference_txt span {
        display: inline-block;
        font-size: 22rem;
        line-height: 1.5em;
        font-weight: bold; }
    #difference .inner .difference_boxes {
      margin-bottom: 37rem; }
      #difference .inner .difference_boxes .difference_box h3 {
        font-size: 9rem;
        letter-spacing: 0.04em;
        line-height: 1.4em;
        font-weight: bold;
        color: #000;
        text-align: center; }

  #features {
    padding-top: 58rem;
    margin-top: -58rem; }
    #features .inner {
      width: 322rem;
      margin: 0 auto;
      padding: 50rem 0 75rem;
      color: #06262D; }
      #features .inner h2 {
        font-size: 25rem;
        line-height: 1.4em;
        margin-bottom: 40rem; }
      #features .inner .features_boxes .features_box {
        width: 100%;
        box-sizing: border-box;
        padding: 20rem 34rem;
        border-radius: 10rem;
        box-shadow: 0 0 26rem rgba(46, 157, 165, 0.14);
        background: #fff;
        margin-bottom: 30rem; }
        #features .inner .features_boxes .features_box:last-child {
          margin-bottom: 0; }
        #features .inner .features_boxes .features_box .features_box_left .features_box_ttl {
          display: flex;
          justify-content: flex-start;
          align-items: center;
          font-size: 24rem;
          line-height: 1.4em;
          font-weight: bold;
          margin-bottom: 8rem; }
          #features .inner .features_boxes .features_box .features_box_left .features_box_ttl .num {
            color: #DE4861;
            margin-right: 8rem; }
          #features .inner .features_boxes .features_box .features_box_left .features_box_ttl h3 {
            font-size: 20rem;
            line-height: 1.4em; }
        #features .inner .features_boxes .features_box .features_box_left .features_box_txt {
          font-size: 15rem;
          letter-spacing: 0.02em;
          line-height: 1.4em; }
        #features .inner .features_boxes .features_box .features_box_img {
          width: 103rem;
          margin: 10rem auto 0; }

  #price {
    padding-top: 58rem;
    margin-top: -58rem; }
    #price .bg {
      background: #E9FDFF; }
    #price .inner {
      width: 350rem;
      margin: 0 auto;
      padding: 50rem 0; }
      #price .inner .price_img {
        width: 100%;
        margin: 40rem auto 30rem;
        filter: drop-shadow(0 3rem 30rem rgba(0, 0, 0, 0.1)); }

  #example {
    padding-top: 58rem;
    margin-top: -58rem; }
    #example .bg {
      background: #F5F5F5; }
    #example .inner {
      width: 350rem;
      margin: 0 auto;
      padding: 50rem 0 34rem;
      color: #333333; }
      #example .inner h2 {
        font-size: 22rem;
        line-height: 1.25em;
        margin-bottom: 42rem; }
        #example .inner h2 .small {
          display: inline-block; }
          #example .inner h2 .small .green {
            color: #157577; }
      #example .inner .example_boxes {
        margin-bottom: 40rem; }
        #example .inner .example_boxes .example_box {
          width: 100%;
          padding-bottom: 20rem;
          border-radius: 10rem;
          background: #fff;
          box-shadow: 0 4rem 10rem rgba(0, 0, 0, 0.1);
          overflow: hidden;
          margin-bottom: 24rem; }
          #example .inner .example_boxes .example_box:last-child {
            margin-bottom: 0; }
          #example .inner .example_boxes .example_box .example_box_ttl {
            margin-top: 20rem;
            font-size: 16rem;
            line-height: 1.1875em;
            font-weight: bold;
            box-sizing: border-box;
            padding: 0 20rem;
            margin-bottom: 8rem; }
          #example .inner .example_boxes .example_box .example_box_txt {
            font-size: 15rem;
            line-height: 1.4em;
            box-sizing: border-box;
            padding: 0 20rem; }

  .content_bg {
    /*background: linear-gradient( to bottom, #fff 0%, #E9FDFF 39%, #E9FDFF );*/ }

  #support {
    padding-top: 58rem;
    margin-top: -58rem; }
    #support .bg {
      background: linear-gradient(to bottom, #fff 0%, #E9FDFF 100%); }
    #support .inner {
      width: 358rem;
      margin: 0 auto;
      padding: 50rem 0;
      color: #333333; }
      #support .inner .support_txt {
        font-size: 15rem;
        letter-spacing: 0.02em;
        line-height: 1.4em;
        text-align: center;
        margin: 24rem 0 30rem; }
      #support .inner .support_box {
        width: 100%;
        margin: 0 auto; }
        #support .inner .support_box .support_box_img {
          width: 292rem;
          margin: 0 auto 15rem; }
        #support .inner .support_box .support_box_right {
          width: 100%; }
          #support .inner .support_box .support_box_right ul {
            width: 246rem;
            margin: 0 auto 16rem; }
            #support .inner .support_box .support_box_right ul li {
              font-size: 16rem;
              line-height: 27rem;
              font-weight: 500;
              box-sizing: border-box;
              padding-left: 48rem;
              background: url("../img/sales02/icon_check.png") no-repeat left center;
              background-size: 27rem;
              margin-bottom: 8rem; }
              #support .inner .support_box .support_box_right ul li:last-child {
                margin-bottom: 0; }
          #support .inner .support_box .support_box_right .support_box_txt .txt {
            font-size: 15rem;
            line-height: 1.4em;
            font-weight: 500;
            box-sizing: border-box;
            padding: 15rem;
            border-radius: 10rem;
            background: #fff;
            border: solid 1rem #ECECEC; }
            #support .inner .support_box .support_box_right .support_box_txt .txt:first-child {
              margin-bottom: 12rem; }
            #support .inner .support_box .support_box_right .support_box_txt .txt span {
              font-weight: bold; }
              #support .inner .support_box .support_box_right .support_box_txt .txt span.red {
                color: #DE4861; }

  #step .inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 145rem; }
    #step .inner h2 {
      margin-bottom: 70rem; }
    #step .inner .step_img {
      margin-bottom: 40rem; }

  #faq {
    padding-top: 58rem;
    margin-top: -58rem; }
    #faq .bg {
      background: #F7F7F7; }
    #faq .inner {
      width: 346rem;
      margin: 0 auto;
      padding: 50rem 0;
      color: #333333; }
      #faq .inner h2 {
        margin-bottom: 40rem; }
      #faq .inner .faq_boxes {
        margin-bottom: 30rem; }
        #faq .inner .faq_boxes .faq_box {
          box-sizing: border-box;
          padding: 19rem 14rem;
          border-radius: 10rem;
          border: solid 1rem #00A5B5;
          background: #fff;
          margin-bottom: 16rem; }
          #faq .inner .faq_boxes .faq_box:last-child {
            margin-bottom: 0; }
          #faq .inner .faq_boxes .faq_box h3 {
            font-size: 16rem;
            line-height: 1.7em;
            font-weight: bold;
            box-sizing: border-box;
            padding-bottom: 10rem;
            padding-left: 56rem;
            background: url("../img/sales02/icon_q.png") no-repeat left top;
            background-size: 40rem;
            border-bottom: solid 1rem #BCBCBC;
            margin-bottom: 8rem; }
          #faq .inner .faq_boxes .faq_box .faq_box_txt {
            font-size: 15rem;
            letter-spacing: 0.02em;
            line-height: 1.8em;
            font-weight: 500; }

  #info .inner {
    width: 320rem;
    margin: 0 auto;
    padding: 50rem 0;
    color: #333333; }
    #info .inner h2 {
      margin-bottom: 40rem; }
    #info .inner .info_boxes .info_box {
      width: 100%;
      box-sizing: border-box;
      padding: 26rem 21rem 29rem;
      border-radius: 9rem;
      background: #fff;
      box-shadow: 0 3rem 8rem rgba(0, 0, 0, 0.2);
      margin-bottom: 30rem; }
      #info .inner .info_boxes .info_box:last-child {
        margin-bottom: 0; }
      #info .inner .info_boxes .info_box .cat {
        font-size: 13rem;
        line-height: 1.23em;
        font-weight: bold;
        color: #157577;
        margin: 17rem 0; }
      #info .inner .info_boxes .info_box h3 {
        font-size: 18rem;
        line-height: 1.22em;
        font-weight: bold;
        margin-bottom: 17rem; }
      #info .inner .info_boxes .info_box .info_box_txt {
        font-size: 13rem;
        line-height: 1.5em;
        margin-bottom: 17rem; }
      #info .inner .info_boxes .info_box .pdf {
        font-size: 13rem;
        line-height: 1.4em;
        font-weight: 500;
        color: #8E8E8E;
        box-sizing: border-box;
        padding-left: 35rem;
        background: url("../img/sales02/icon_pdf.png") no-repeat left center;
        background-size: contain;
        margin-bottom: 17rem; }
      #info .inner .info_boxes .info_box .info_box_btn {
        width: 100%; }
        #info .inner .info_boxes .info_box .info_box_btn a {
          display: block;
          width: 100%;
          font-size: 14rem;
          letter-spacing: 0.02em;
          line-height: 1;
          color: #fff;
          font-weight: bold;
          box-sizing: border-box;
          border-radius: 9rem;
          background-color: #157577;
          background-repeat: no-repeat, no-repeat;
          background-position: left 14rem center, right 14rem center;
          background-size: 32rem, 15rem;
          transition: 0.3s; }
          #info .inner .info_boxes .info_box .info_box_btn a.dl {
            padding: 18rem 0 18rem 64rem;
            background-image: url("../img/sales02/icon_dl.png"), url("../img/sales02/info_btn_arrow.png"); }
          #info .inner .info_boxes .info_box .info_box_btn a.apply {
            padding: 18rem 0 18rem 60rem;
            background-image: url("../img/sales02/icon_apply.png"), url("../img/sales02/info_btn_arrow.png"); }
          #info .inner .info_boxes .info_box .info_box_btn a:hover {
            filter: brightness(1.2); }

  #banner .bg {
    background: url("../img/sales02/banner_bg_sp.png") no-repeat center;
    background-size: cover; }
  #banner .inner {
    padding: 57rem 0 63rem;
    text-align: center;
    color: #fff; }
    #banner .inner h2 {
      font-size: 24rem;
      line-height: 1.8em;
      font-weight: bold;
      margin-bottom: 24rem; }
    #banner .inner .banner_txt {
      font-size: 14rem;
      line-height: 1.6em;
      font-weight: bold;
      margin-bottom: 24rem; }

  #introo {
    width: 100%;
    max-width: 100%;
    padding: 50px 0;
    background: #fff;
    position: relative;
    z-index: 2; }
    #introo .intro_scroll {
      width: 100%;
      display: flex;
      justify-content: space-between;
      overflow: hidden; }
      #introo .intro_scroll .intro_logo {
        flex-shrink: 0;
        display: flex;
        justify-content: space-between;
        animation: infinity-scroll-left 50s infinite linear 0.5s both;
        background: #fff; }
        #introo .intro_scroll .intro_logo img {
          width: auto;
          height: 5.2vw;
          margin: 0 33px;
          mix-blend-mode: multiply; }
      #introo .intro_scroll:nth-of-type(2) {
        margin-top: 13px; }
        #introo .intro_scroll:nth-of-type(2) .intro_logo {
          flex-shrink: 0;
          display: flex;
          justify-content: space-between;
          animation: infinity-scroll-left 50s infinite linear 0.5s both; }

  /*問い合わせ系のモーダル*/
  .modal02 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 11; }
    .modal02 .modal-bg {
      position: absolute;
      height: 100vh;
      width: 100%;
      background: rgba(0, 0, 0, 0.4); }
    .modal02 .modal-content {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: flex-end;
      flex-direction: column;
      align-items: center; }
      .modal02 .modal-content .modal_inner {
        width: 95%;
        max-width: 95%;
        margin: 24rem 0;
        height: calc(100% - 48rem);
        box-sizing: border-box;
        padding: 16rem;
        background: #fff;
        border-radius: 16rem;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column;
        position: relative;
        z-index: 12;
        box-shadow: 0rem 6rem 15rem rgba(0, 0, 0, 0.2); }
        .modal02 .modal-content .modal_inner .btn {
          width: 100%;
          max-width: 100%;
          height: 20rem;
          display: flex;
          justify-content: flex-start;
          align-items: flex-end;
          flex-direction: column; }
          .modal02 .modal-content .modal_inner .btn button {
            color: #333;
            font-size: 24rem;
            background: transparent;
            padding: 0;
            margin: 0;
            border: none; }
        .modal02 .modal-content .modal_inner .modal_ttl {
          font-size: 18rem;
          letter-spacing: 0;
          line-height: 1.4em;
          font-weight: 900;
          color: #333;
          padding-bottom: 16rem;
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center; }
        .modal02 .modal-content .modal_inner .modal_form {
          width: 541rem;
          max-width: 100%;
          height: 88%; }
          .modal02 .modal-content .modal_inner .modal_form iframe {
            width: 100%;
            height: 100%; }
    .modal02.contact {
      width: 100%; }
    .modal02.dl {
      width: 100%; }

  footer {
    width: 100%; }
    footer .footer_inner {
      width: 320rem;
      margin: 0 auto;
      padding: 45rem 0; }
      footer .footer_inner .footer_left {
        margin-bottom: 58rem; }
        footer .footer_inner .footer_left .footer_logo {
          width: 143px;
          margin-bottom: 33px; }
        footer .footer_inner .footer_left .footer_menu dl {
          margin-bottom: 21rem; }
          footer .footer_inner .footer_left .footer_menu dl:last-child {
            margin-bottom: 0; }
          footer .footer_inner .footer_left .footer_menu dl dt {
            font-size: 15rem;
            line-height: 2.3em;
            font-weight: bold;
            color: #454545; }
          footer .footer_inner .footer_left .footer_menu dl dd {
            font-size: 15rem;
            line-height: 2.3em;
            font-weight: bold; }
            footer .footer_inner .footer_left .footer_menu dl dd a {
              color: #454545; }
              footer .footer_inner .footer_left .footer_menu dl dd a:hover {
                text-decoration: underline; }
      footer .footer_inner .footer_right {
        width: 100%; }
        footer .footer_inner .footer_right .btn {
          width: 100%;
          margin-bottom: 18rem; }
          footer .footer_inner .footer_right .btn:last-child {
            margin-bottom: 0; }
          footer .footer_inner .footer_right .btn a {
            display: block;
            width: 100%;
            font-size: 20rem;
            letter-spacing: 0.02em;
            line-height: 1em;
            font-weight: bold;
            text-align: center;
            padding: 20rem 0;
            border-radius: 5rem;
            border: solid 2rem #007580;
            cursor: pointer;
            transition: 0.3s; }
            footer .footer_inner .footer_right .btn a.contact {
              color: #fff;
              background: #007580; }
            footer .footer_inner .footer_right .btn a.dl {
              color: #045A60;
              background: #fff; }
    footer .copyright {
      font-size: 12px;
      line-height: 2em;
      text-align: center; } }

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