@charset "UTF-8";
/* line 2, style.scss */
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; }

/* line 2, style.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

/* line 2, style.scss */
body {
  line-height: 1; }

/* line 2, style.scss */
ol, ul {
  list-style: none; }

/* line 2, style.scss */
blockquote, q {
  quotes: none; }

/* line 2, style.scss */
blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

/* line 2, style.scss */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* line 4, style.scss */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

/* line 12, style.scss */
.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
/* line 14, style.scss */
* html .clearfix {
  height: 1%; }

/* line 15, style.scss */
.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
/* line 18, style.scss */
body {
  letter-spacing: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

/* line 19, style.scss */
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

/* line 20, style.scss */
a {
  text-decoration: none; }

/* line 21, style.scss */
strong {
  font-weight: bold; }

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

/* line 24, style.scss */
#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

/* line 25, style.scss */
#resbtn {
  -webkit-appearance: none; }

/* line 26, style.scss */
.ancr {
  position: relative;
  transition: 0.5s; }

/* line 27, style.scss */
.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

/* line 28, style.scss */
.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
/* line 31, style.scss */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/*ズームイン*/
@keyframes zoomInCustom {
  from {
    opacity: 0;
    transform: scale(0.7);
    /* ← ここがポイント：最初からある程度大きい */ }
  to {
    opacity: 1;
    transform: scale(1);
    /* 通常サイズ */ } }
/* line 45, style.scss */
.animate__zoomInCustom {
  animation-name: zoomInCustom;
  animation-duration: 1s;
  /* アニメーション時間 */
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  /* ふわっと自然な動き */ }

/* WOW.jsの初期状態 */
/* line 53, style.scss */
.wow {
  visibility: hidden; }

/*右から左へライン*/
/* line 58, style.scss */
.animate__lineGrow {
  animation-name: lineGrow;
  animation-duration: 0.8s;
  animation-timing-function: ease-out;
  animation-fill-mode: both; }

/* Animate.css の命名規則に合わせて作成 */
@keyframes lineGrow {
  0% {
    transform: scaleX(0);
    transform-origin: left;
    opacity: 0.5; }
  100% {
    transform: scaleX(1);
    transform-origin: left;
    opacity: 1; } }
/* 下からフェードイン*/
@keyframes fadeInUpCustom {
  0% {
    opacity: 0;
    transform: translateY(50px);
    /* 下から上に上がる */ }
  100% {
    opacity: 1;
    transform: translateY(0); } }
/* line 90, style.scss */
.animate__fadeInUpCustom {
  animation-name: fadeInUpCustom;
  animation-duration: 1s;
  /* 再生時間 */
  animation-fill-mode: both;
  /* 終了後も状態キープ */ }

/*ぼかしから鮮明に*/
@keyframes blurIn {
  0% {
    filter: blur(30px);
    opacity: 0;
    transform: scale(1.05); }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: scale(1); } }
/* Animate.css 風に拡張 */
/* line 110, style.scss */
.animate__blurIn {
  animation-name: blurIn;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: both; }

/* line 117, style.scss */
main {
  width: 750px;
  margin: 0 auto;
  position: relative;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }

/* line 124, style.scss */
header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 40px 45px 0 30px;
  z-index: 3; }
  /* line 134, style.scss */
  header .logo {
    width: 290px; }
  /* line 137, style.scss */
  header .header_btn {
    width: 307px; }
    /* line 139, style.scss */
    header .header_btn a {
      display: block;
      width: 100%;
      transition: 0.3s; }
      /* line 143, style.scss */
      header .header_btn a:hover {
        filter: brightness(1.1); }

/* line 150, style.scss */
#mv {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 65px; }
  /* line 155, style.scss */
  #mv .mv_ttl {
    width: 675px;
    position: absolute;
    top: 155px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2; }
  /* line 163, style.scss */
  #mv .mv_img {
    width: 717px;
    position: absolute;
    top: 457px;
    left: 111px;
    z-index: 3; }
  /* line 170, style.scss */
  #mv .mv_logo {
    width: 101%;
    position: absolute;
    bottom: 0;
    left: -1%;
    z-index: 4; }

/* line 179, style.scss */
.cta {
  width: 644px;
  margin: 0 auto; }
  /* line 182, style.scss */
  .cta .cta_txt {
    width: 554px;
    margin: 0 auto 15px; }
  /* line 186, style.scss */
  .cta .cta_btn {
    width: 100%; }
    /* line 188, style.scss */
    .cta .cta_btn a {
      display: block;
      width: 100%;
      transition: 0.3s; }
      /* line 192, style.scss */
      .cta .cta_btn a:hover {
        filter: brightness(1.1); }

/* line 199, style.scss */
#worry {
  margin: 55px 0 0; }
  /* line 201, style.scss */
  #worry .bg {
    padding: 80px 0 45px;
    background: #e1ecf1; }
    /* line 204, style.scss */
    #worry .bg .worry_cont {
      width: 644px;
      margin: 0 auto 122px;
      height: 1937px;
      background: url("../img/worry_cont_bg.webp") no-repeat center;
      background-size: cover;
      box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
      border-radius: 10px;
      position: relative; }
      /* line 213, style.scss */
      #worry .bg .worry_cont .worry_cont_ttl {
        width: 510px;
        margin: 0 auto; }
      /* line 217, style.scss */
      #worry .bg .worry_cont .worry_boxes {
        width: 503px;
        position: absolute;
        top: 296px;
        left: 50%;
        transform: translateX(-50%); }
        /* line 223, style.scss */
        #worry .bg .worry_cont .worry_boxes .worry_box {
          margin: 0 auto; }
          /* line 225, style.scss */
          #worry .bg .worry_cont .worry_boxes .worry_box.box01 {
            width: 445px; }
          /* line 228, style.scss */
          #worry .bg .worry_cont .worry_boxes .worry_box.box02 {
            margin: 50px auto; }
          /* line 231, style.scss */
          #worry .bg .worry_cont .worry_boxes .worry_box.box03 {
            width: 447px; }
      /* line 236, style.scss */
      #worry .bg .worry_cont .worry_cont_txt {
        width: 165px;
        position: absolute;
        bottom: -81px;
        left: 50%;
        transform: translateX(-50%); }
    /* line 244, style.scss */
    #worry .bg .worry_btm_txt {
      width: 636px;
      margin: 0 auto;
      position: relative; }
      /* line 248, style.scss */
      #worry .bg .worry_btm_txt .txt_img {
        position: relative;
        z-index: 2; }
      /* line 252, style.scss */
      #worry .bg .worry_btm_txt .line {
        width: 124px;
        position: absolute;
        left: 100px;
        bottom: 93px;
        display: inline-block;
        overflow: hidden; }
        /* line 259, style.scss */
        #worry .bg .worry_btm_txt .line img {
          display: block;
          transform-origin: left; }

/* line 268, style.scss */
#trouble {
  width: 100%;
  overflow: hidden; }
  /* line 271, style.scss */
  #trouble .bg {
    padding: 113px 0 385px;
    background: url("../img/trouble_bg.webp") no-repeat center;
    background-size: cover;
    position: relative; }
    /* line 276, style.scss */
    #trouble .bg h2 {
      width: 552px;
      margin: 0 auto 60px; }
    /* line 280, style.scss */
    #trouble .bg .trouble_txt {
      width: 678px;
      margin: 0 auto; }
    /* line 284, style.scss */
    #trouble .bg .trouble_boxes {
      width: 616px;
      margin: 0 auto;
      position: relative;
      height: 517px; }
      /* line 289, style.scss */
      #trouble .bg .trouble_boxes .trouble_box {
        position: relative;
        line-height: 0; }
        /* line 292, style.scss */
        #trouble .bg .trouble_boxes .trouble_box .trouble_box_bg {
          width: 100%;
          line-height: 0;
          filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3)); }
        /* line 297, style.scss */
        #trouble .bg .trouble_boxes .trouble_box .trouble_box_txt {
          position: absolute;
          z-index: 3; }
        /* line 301, style.scss */
        #trouble .bg .trouble_boxes .trouble_box .line {
          position: absolute;
          display: inline-block;
          overflow: hidden; }
          /* line 305, style.scss */
          #trouble .bg .trouble_boxes .trouble_box .line img {
            display: block;
            transform-origin: left; }
        /* line 310, style.scss */
        #trouble .bg .trouble_boxes .trouble_box.box01 {
          width: 376px;
          margin-left: 13px; }
          /* line 313, style.scss */
          #trouble .bg .trouble_boxes .trouble_box.box01 .trouble_box_txt {
            width: 247px;
            top: 59px;
            left: 68px; }
          /* line 318, style.scss */
          #trouble .bg .trouble_boxes .trouble_box.box01 .line {
            width: 233px;
            left: 58px;
            top: 82px; }
        /* line 324, style.scss */
        #trouble .bg .trouble_boxes .trouble_box.box02 {
          width: 380px;
          position: absolute;
          top: 172px;
          right: 0;
          animation-delay: 0.3s; }
          /* line 330, style.scss */
          #trouble .bg .trouble_boxes .trouble_box.box02 .trouble_box_txt {
            width: 245px;
            top: 33px;
            left: 69px; }
          /* line 335, style.scss */
          #trouble .bg .trouble_boxes .trouble_box.box02 .line {
            width: 129px;
            left: 70px;
            top: 98px;
            animation-delay: 0.3s; }
        /* line 342, style.scss */
        #trouble .bg .trouble_boxes .trouble_box.box03 {
          width: 365px;
          position: absolute;
          bottom: 0;
          left: 0;
          animation-delay: 0.6s; }
          /* line 348, style.scss */
          #trouble .bg .trouble_boxes .trouble_box.box03 .trouble_box_txt {
            width: 322px;
            top: 36px;
            left: 22px; }
          /* line 353, style.scss */
          #trouble .bg .trouble_boxes .trouble_box.box03 .line {
            width: 169px;
            left: 80px;
            top: 101px;
            animation-delay: 0.6s; }
    /* line 362, style.scss */
    #trouble .bg .trouble_img {
      width: 100%;
      position: absolute;
      bottom: 0;
      left: 0;
      text-align: center;
      line-height: 0;
      opacity: 0;
      animation-delay: 0.5s;
      filter: blur(30px);
      transform: scale(1.05);
      will-change: opacity, filter, transform;
      /* Chrome描画最適化 */
      /* アニメーション開始後に可視化（WOW.jsの上書き） */ }
      /* line 375, style.scss */
      #trouble .bg .trouble_img.wow {
        visibility: visible !important; }
      /* line 378, style.scss */
      #trouble .bg .trouble_img img {
        width: 700px; }

/* line 386, style.scss */
#achievement .bg {
  padding: 112px 0 189px;
  background: url("../img/achievement_bg.webp") no-repeat;
  background-size: cover; }
  /* line 390, style.scss */
  #achievement .bg h2 {
    width: 630px;
    margin: 0 auto 50px; }
  /* line 394, style.scss */
  #achievement .bg .achievement_box {
    position: relative;
    width: 462px;
    margin: 0 auto 45px; }
    /* line 398, style.scss */
    #achievement .bg .achievement_box .achievement_txt {
      position: relative;
      z-index: 3; }
    /* line 402, style.scss */
    #achievement .bg .achievement_box .line {
      width: 251px;
      position: absolute;
      left: 62px;
      top: 86px;
      display: inline-block;
      overflow: hidden; }
      /* line 409, style.scss */
      #achievement .bg .achievement_box .line img {
        display: block;
        transform-origin: left; }
  /* line 415, style.scss */
  #achievement .bg .achievement_img {
    width: 559px;
    margin: 0 auto 80px; }

/* line 422, style.scss */
#service {
  margin-top: -111px; }
  /* line 424, style.scss */
  #service .bg {
    padding: 110px 0 200px;
    background: url("../img/service_bg.webp") no-repeat center top;
    background-size: cover; }
    /* line 428, style.scss */
    #service .bg h2 {
      width: 467px;
      margin: 0 auto 227px; }
    /* line 432, style.scss */
    #service .bg .service_boxes {
      width: 572px;
      margin: 0 auto; }
      /* line 435, style.scss */
      #service .bg .service_boxes .service_box {
        padding: 282px 0 0;
        background: #fff;
        border-radius: 10px;
        box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
        position: relative; }
        /* line 441, style.scss */
        #service .bg .service_boxes .service_box .icon {
          width: 395px;
          position: absolute;
          top: -168px;
          left: 50%;
          transform: translateX(-50%);
          line-height: 0;
          filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.1)); }
        /* line 450, style.scss */
        #service .bg .service_boxes .service_box .service_box_ttl {
          margin: 0 auto 41px;
          position: relative; }
          /* line 453, style.scss */
          #service .bg .service_boxes .service_box .service_box_ttl h3 {
            position: relative;
            z-index: 3; }
          /* line 457, style.scss */
          #service .bg .service_boxes .service_box .service_box_ttl .line {
            width: 168px;
            position: absolute;
            top: 37px;
            display: inline-block;
            overflow: hidden;
            animation-delay: 0.3s; }
            /* line 464, style.scss */
            #service .bg .service_boxes .service_box .service_box_ttl .line img {
              display: block;
              transform-origin: left; }
        /* line 470, style.scss */
        #service .bg .service_boxes .service_box .service_box_txt {
          margin: 0 auto; }
        /* line 473, style.scss */
        #service .bg .service_boxes .service_box.box01 {
          padding-bottom: 61px; }
          /* line 475, style.scss */
          #service .bg .service_boxes .service_box.box01 .service_box_ttl {
            width: 345px; }
            /* line 477, style.scss */
            #service .bg .service_boxes .service_box.box01 .service_box_ttl .line {
              left: 0; }
          /* line 481, style.scss */
          #service .bg .service_boxes .service_box.box01 .service_box_txt {
            width: 466px; }
        /* line 485, style.scss */
        #service .bg .service_boxes .service_box.box02 {
          padding-bottom: 92px;
          margin-top: 227px; }
          /* line 488, style.scss */
          #service .bg .service_boxes .service_box.box02 .service_box_ttl {
            width: 278px; }
            /* line 490, style.scss */
            #service .bg .service_boxes .service_box.box02 .service_box_ttl .line {
              left: 36px; }
          /* line 494, style.scss */
          #service .bg .service_boxes .service_box.box02 .service_box_txt {
            width: 518px; }

/* line 503, style.scss */
#voice {
  margin-top: -92px; }
  /* line 505, style.scss */
  #voice .bg {
    padding: 195px 0 84px;
    background: url("../img/voice_bg.webp") no-repeat center top;
    background-size: cover; }
    /* line 509, style.scss */
    #voice .bg h2 {
      width: 328px;
      margin: 0 auto 100px; }
    /* line 513, style.scss */
    #voice .bg .voice_slider {
      padding-bottom: 69px; }
      /* line 515, style.scss */
      #voice .bg .voice_slider .voice_slider_box {
        padding-bottom: 26px;
        margin: 0 26px; }
        /* line 518, style.scss */
        #voice .bg .voice_slider .voice_slider_box img {
          filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.2)); }
    /* line 523, style.scss */
    #voice .bg .voice_btm {
      width: 416px;
      margin: 0 auto; }

/* line 531, style.scss */
#flow .bg {
  padding: 67px 0 645px;
  position: relative; }
  /* line 534, style.scss */
  #flow .bg h2 {
    width: 399px;
    margin: 0 auto 58px; }
  /* line 538, style.scss */
  #flow .bg .flow_box {
    width: 701px;
    margin: 0 auto 35px; }
  /* line 542, style.scss */
  #flow .bg .flow_txt {
    width: 656px;
    margin: 0 auto;
    position: relative; }
    /* line 546, style.scss */
    #flow .bg .flow_txt .txt {
      position: relative;
      z-index: 3; }
    /* line 550, style.scss */
    #flow .bg .flow_txt .line {
      width: 312px;
      position: absolute;
      top: 106px;
      left: 171px;
      display: inline-block;
      overflow: hidden; }
      /* line 557, style.scss */
      #flow .bg .flow_txt .line img {
        display: block;
        transform-origin: left; }
  /* line 563, style.scss */
  #flow .bg .flow_img {
    width: 100%;
    line-height: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1; }

/* line 574, style.scss */
#chatbot {
  padding: 57px 0 60px;
  background: #e6fbff;
  color: #005982; }
  /* line 578, style.scss */
  #chatbot .chatbot_ttl {
    width: 581px;
    margin: 0 0 80px 120px; }
  /* line 582, style.scss */
  #chatbot .qa {
    width: 640px;
    margin: 0 auto 70px; }
    /* line 585, style.scss */
    #chatbot .qa .question {
      width: 100%;
      margin-bottom: 25px; }
    /* line 589, style.scss */
    #chatbot .qa .option_list {
      width: 100%;
      position: relative; }
      /* line 592, style.scss */
      #chatbot .qa .option_list .opt {
        cursor: pointer;
        line-height: 0;
        filter: drop-shadow(5px 5px 5px rgba(25, 100, 188, 0.3)); }
        /* line 596, style.scss */
        #chatbot .qa .option_list .opt:nth-child(n+2) {
          margin-top: 18px; }
        /* line 599, style.scss */
        #chatbot .qa .option_list .opt .off {
          display: block; }
        /* line 602, style.scss */
        #chatbot .qa .option_list .opt .on {
          display: none; }
        /* line 606, style.scss */
        #chatbot .qa .option_list .opt.select .off {
          filter: brightness(85%) grayscale(20%);
          /* グレー感を出す */ }
    /* line 615, style.scss */
    #chatbot .qa.two {
      display: none; }
    /* line 618, style.scss */
    #chatbot .qa.three {
      display: none; }
    /* line 621, style.scss */
    #chatbot .qa.four {
      display: none; }
    /* line 624, style.scss */
    #chatbot .qa.five {
      display: none; }
    /* line 627, style.scss */
    #chatbot .qa.six {
      display: none;
      margin-bottom: 0; }
      /* line 630, style.scss */
      #chatbot .qa.six .answer {
        position: relative;
        margin-top: 70px;
        animation-delay: 2s; }
        /* line 634, style.scss */
        #chatbot .qa.six .answer .btn {
          width: 432px;
          position: absolute;
          right: 31px;
          bottom: 30px; }
          /* line 639, style.scss */
          #chatbot .qa.six .answer .btn a {
            display: block;
            width: 100%; }
            /* line 642, style.scss */
            #chatbot .qa.six .answer .btn a:hover {
              filter: brightness(1.1); }
    /* line 649, style.scss */
    #chatbot .qa.seven {
      display: none;
      margin-bottom: 0; }
      /* line 652, style.scss */
      #chatbot .qa.seven .question {
        display: flex;
        justify-content: space-between;
        margin-bottom: 0; }
        /* line 656, style.scss */
        #chatbot .qa.seven .question .icon {
          width: 192px; }
        /* line 659, style.scss */
        #chatbot .qa.seven .question .bg {
          width: 487px;
          height: 390px;
          box-sizing: border-box;
          padding-top: 25px;
          margin-top: 30px;
          background: url("../img/q7_bg.webp") no-repeat center;
          background-size: 100% 100%; }
          /* line 667, style.scss */
          #chatbot .qa.seven .question .bg .q7_ttl {
            width: 292px;
            margin-left: 108px;
            position: relative; }
            /* line 671, style.scss */
            #chatbot .qa.seven .question .bg .q7_ttl .ttl {
              position: relative;
              z-index: 2; }
            /* line 675, style.scss */
            #chatbot .qa.seven .question .bg .q7_ttl .line {
              width: 313px;
              position: absolute;
              left: -11px;
              top: 60px; }
          /* line 682, style.scss */
          #chatbot .qa.seven .question .bg .q7_txt {
            width: 294px;
            margin: 27px 0 28px 105px; }
          /* line 686, style.scss */
          #chatbot .qa.seven .question .bg .q7_btn {
            display: block;
            width: 358px;
            margin-left: 76px; }
            /* line 690, style.scss */
            #chatbot .qa.seven .question .bg .q7_btn img {
              filter: drop-shadow(5px 4px 7px rgba(0, 0, 0, 0.3));
              border-radius: 10px; }

/* line 701, style.scss */
footer {
  padding: 46px 0 21px;
  background: linear-gradient(45deg, #1964b9 0%, #0382d4 50%, #00b8ca 100%); }
  /* line 704, style.scss */
  footer .footer_logo {
    width: 290px;
    margin: 0 auto 205px; }
  /* line 708, style.scss */
  footer ul {
    width: 100%;
    display: flex;
    justify-content: center; }
    /* line 712, style.scss */
    footer ul li {
      margin: 0 28px; }
      /* line 714, style.scss */
      footer ul li:nth-child(1) {
        width: 210px; }
      /* line 717, style.scss */
      footer ul li:nth-child(2) {
        width: 90px; }
      /* line 720, style.scss */
      footer ul li a {
        display: block;
        width: 100%;
        transition: 0.3s; }
        /* line 724, style.scss */
        footer ul li a:hover {
          opacity: 0.8; }
  /* line 730, style.scss */
  footer .copyright {
    width: 334px;
    margin: 40px auto 0; }

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