@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; }

.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.01em;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

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; }

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

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

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

  header {
    width: 100%;
    background: #fff; }
    header .inner {
      width: 1380rem;
      margin: 0 auto;
      padding: 26rem 0;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .inner .logo {
        width: 250rem; }
      header .inner .header_btn {
        display: flex;
        justify-content: flex-end; }
        header .inner .header_btn .btn {
          margin-left: 20rem; }
          header .inner .header_btn .btn a {
            display: block;
            font-size: 24rem;
            line-height: 1;
            font-weight: bold;
            color: #fff;
            box-sizing: border-box;
            padding: 20rem 0 21rem;
            border-radius: 30rem;
            background-repeat: no-repeat;
            transition: 0.3s; }
            header .inner .header_btn .btn a:hover {
              opacity: 0.8; }
            header .inner .header_btn .btn a.tel {
              width: 270rem;
              font-size: 28rem;
              padding: 18rem 0 19rem 69rem;
              background-image: url("../img/icon_tel.webp"), linear-gradient(to right, #00ac98, #007eb8);
              background-position: left 31rem center, center;
              background-size: 29rem, cover;
              pointer-events: none; }
            header .inner .header_btn .btn a.mail {
              width: 282rem;
              padding-left: 69rem;
              background-image: url("../img/icon_mail.webp"), linear-gradient(to right, #00ac98, #007eb8);
              background-position: left 24rem center, center;
              background-size: 36rem, cover; }
            header .inner .header_btn .btn a.line {
              width: 236rem;
              padding-left: 78rem;
              background-image: url("../img/icon_line.webp"), linear-gradient(to right, #00ac98, #007eb8);
              background-position: left 25rem center, center;
              background-size: 41rem, cover; }

  #mv {
    background: url("../img/mv.webp") no-repeat center;
    background-size: cover; }
    #mv .inner {
      padding: 190rem 0; }
      #mv .inner h1 {
        width: 1380rem;
        margin: 0 auto 60rem;
        font-size: 82rem;
        letter-spacing: 0.04em;
        line-height: 1.245em;
        font-weight: bold;
        color: #fff;
        box-sizing: border-box;
        padding-left: 29rem; }
        #mv .inner h1 .lt {
          letter-spacing: 0.2em; }
        #mv .inner h1 .hukidashi {
          display: inline-block;
          width: 272rem;
          height: 100rem;
          font-size: 45rem;
          letter-spacing: 0;
          line-height: 1;
          color: #007eb9;
          text-align: center;
          box-sizing: border-box;
          padding: 18rem 0 0;
          background: url("../img/mv_ttl_hukidashi.webp") no-repeat;
          background-size: contain;
          margin-bottom: 30rem;
          position: relative;
          left: -29rem; }
      #mv .inner .mv_txt {
        font-size: 32rem;
        letter-spacing: 0.15em;
        line-height: 1em;
        font-weight: bold;
        color: #1e2d54; }
        #mv .inner .mv_txt span {
          display: inline-block;
          box-sizing: border-box;
          padding: 20rem 0 20rem 303rem;
          background-repeat: no-repeat;
          background-position: right center;
          background-size: 100%; }
          #mv .inner .mv_txt span:first-child {
            width: 1103rem;
            margin-bottom: 10rem;
            background-image: url("../img/mv_txt_bg_01.webp"); }
          #mv .inner .mv_txt span:last-child {
            width: 1173rem;
            background-image: url("../img/mv_txt_bg_02.webp"); }

  #worry {
    background: #a6d2e7; }
    #worry .worry_head {
      padding: 159rem 0 165rem;
      background: url("../img/worry_head_bg.webp") no-repeat center bottom;
      background-size: cover; }
      #worry .worry_head .worry_head_img {
        width: 1100rem;
        margin: 0 auto; }
    #worry .worry_box {
      padding: 85rem 0 135rem;
      text-align: center;
      color: #192e57; }
      #worry .worry_box .worry_box_txt {
        font-size: 46rem;
        letter-spacing: 0.1em;
        line-height: 1.08em;
        font-weight: bold;
        margin-bottom: 35rem; }
        #worry .worry_box .worry_box_txt span {
          display: inline-block;
          border-bottom: solid 2rem #192e57; }
      #worry .worry_box .worry_box_main {
        font-size: 57rem;
        letter-spacing: 0.1em;
        line-height: 1.928em;
        font-weight: bold; }
        #worry .worry_box .worry_box_main span {
          display: inline-block;
          font-size: 77rem;
          line-height: 1.428em; }
          #worry .worry_box .worry_box_main span.bg {
            width: 215rem;
            box-sizing: border-box;
            background: #fff;
            border: solid 3px #192e57;
            position: relative;
            margin-right: 0.1em; }
            #worry .worry_box .worry_box_main span.bg::before {
              position: absolute;
              content: "";
              width: 222rem;
              height: 140rem;
              top: -11rem;
              left: -5rem;
              background: url("../img/worry_box_main_ob.webp") no-repeat;
              background-size: contain; }

  #reason {
    background: #e5f2f8;
    position: relative;
    overflow: hidden; }
    #reason::before {
      position: absolute;
      content: "";
      width: 576rem;
      height: 591rem;
      top: 0;
      right: 0;
      background: url("../img/reason_ob.webp") no-repeat;
      background-size: contain;
      z-index: 1;
      mix-blend-mode: multiply; }
    #reason::after {
      position: absolute;
      content: "";
      width: 150rem;
      height: 504rem;
      top: 47rem;
      right: -45rem;
      background: url("../img/reason_logo.webp") no-repeat center;
      background-size: contain; }
    #reason .inner {
      padding: 190rem 0 220rem;
      position: relative;
      z-index: 2; }
      #reason .inner h2 {
        font-size: 45rem;
        letter-spacing: 0.1em;
        line-height: 1.06em;
        font-weight: bold;
        color: #007eb9;
        text-align: center;
        margin-bottom: 50rem; }
        #reason .inner h2 span {
          display: inline-block;
          border-bottom: solid 3rem #007eb9; }
          #reason .inner h2 span.small {
            font-size: 37rem;
            border: none; }
      #reason .inner .reason_txt {
        font-size: 28rem;
        line-height: 1.6em;
        font-weight: bold;
        color: #1e2d54;
        text-align: center; }
        #reason .inner .reason_txt span {
          display: inline-block;
          background: url("../img/reason_txt_wave.webp") no-repeat left bottom;
          background-size: 100% 8rem; }

  #reaction {
    background: #f2f9fc; }
    #reaction .inner {
      width: 1500rem;
      margin: 0 auto;
      padding: 135rem 0;
      text-align: center; }
      #reaction .inner h2 {
        font-size: 37rem;
        letter-spacing: 0.1em;
        line-height: 2.16em;
        font-weight: bold;
        color: #006eb5;
        margin-bottom: 40rem; }
        #reaction .inner h2 span {
          display: inline-block; }
          #reaction .inner h2 span.bg {
            width: 959rem;
            background: url("../img/reaction_ttl_bg.webp") no-repeat center bottom;
            background-size: 100% auto; }
          #reaction .inner h2 span.num {
            font-size: 74rem;
            line-height: 1.08em; }
          #reaction .inner h2 span.big {
            font-size: 45rem;
            line-height: 1.77em; }
      #reaction .inner .reaction_boxes {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap; }
        #reaction .inner .reaction_boxes .reaction_box {
          width: 631rem;
          margin: 0 22rem; }
          #reaction .inner .reaction_boxes .reaction_box:last-child {
            margin-top: 48rem; }

  #works .bg {
    background: #f2f9fc;
    position: relative; }
    #works .bg::before {
      position: absolute;
      content: "";
      width: 576rem;
      height: 591rem;
      top: 0;
      left: 0;
      background: url("../img/works_bg.webp") no-repeat;
      background-size: contain;
      z-index: 1;
      mix-blend-mode: multiply; }
  #works .inner {
    width: 1380rem;
    margin: 0 auto;
    padding: 130rem 0 125rem;
    text-align: center;
    position: relative;
    z-index: 2; }
    #works .inner h2 {
      display: inline-block;
      font-size: 37rem;
      letter-spacing: 0.1em;
      line-height: 2.16em;
      font-weight: bold;
      color: #1e2d54;
      margin-bottom: 45rem;
      position: relative; }
      #works .inner h2::after {
        position: absolute;
        content: "";
        width: 115rem;
        height: 115rem;
        top: -10rem;
        left: 38%;
        border-radius: 100%;
        background: #fff; }
      #works .inner h2 span {
        display: inline-block;
        position: relative;
        z-index: 2; }
        #works .inner h2 span.num {
          font-size: 74rem;
          line-height: 1.08em; }
        #works .inner h2 span.big {
          font-size: 45rem;
          line-height: 1.77em; }
        #works .inner h2 span.dot {
          letter-spacing: -0.5em; }
    #works .inner .works_boxes {
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      #works .inner .works_boxes .works_box {
        width: 352rem;
        color: #fff;
        box-sizing: border-box;
        padding: 205rem 0 30rem;
        border-radius: 50rem;
        background: linear-gradient(to right, #007eb8, #00b095);
        position: relative;
        margin: 0 10rem; }
        #works .inner .works_boxes .works_box:nth-child(n+4) {
          margin-top: 30rem; }
        #works .inner .works_boxes .works_box .works_box_icon {
          position: absolute;
          left: 50%;
          transform: translateX(-50%); }
          #works .inner .works_boxes .works_box .works_box_icon.icon01 {
            width: 155rem;
            top: 35rem; }
          #works .inner .works_boxes .works_box .works_box_icon.icon02 {
            width: 105rem;
            top: 27rem; }
          #works .inner .works_boxes .works_box .works_box_icon.icon03 {
            width: 98rem;
            top: 28rem; }
          #works .inner .works_boxes .works_box .works_box_icon.icon04 {
            width: 117rem;
            top: 30rem; }
          #works .inner .works_boxes .works_box .works_box_icon.icon05 {
            width: 156rem;
            top: 33rem; }
        #works .inner .works_boxes .works_box h3 {
          font-size: 31rem;
          letter-spacing: 0.1em;
          line-height: 1;
          font-weight: bold;
          margin-bottom: 15rem; }
        #works .inner .works_boxes .works_box .works_box_txt {
          font-size: 21rem;
          letter-spacing: 0.1em;
          line-height: 1.38em; }

  #media .bg {
    position: relative;
    background: #80bfdc; }
    #media .bg::before {
      position: absolute;
      content: "";
      width: 576rem;
      height: 591rem;
      top: 0;
      right: 0;
      background: url("../img/media_ob.webp") no-repeat;
      background-size: contain;
      mix-blend-mode: multiply; }
  #media .inner {
    width: 1380rem;
    margin: 0 auto;
    padding: 130rem 0 80rem;
    position: relative;
    z-index: 2; }
    #media .inner h2 {
      font-size: 45rem;
      letter-spacing: 0.1em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin: 45rem; }
      #media .inner h2 span {
        font-size: 37rem; }
    #media .inner .media_slider .slick-track {
      display: flex;
      justify-content: center;
      padding: 50rem 0; }
    #media .inner .media_slider .media_box {
      transition: transform 1s ease;
      margin: 0 30rem;
      position: relative; }
      #media .inner .media_slider .media_box img {
        width: 100%; }
      #media .inner .media_slider .media_box .media_btn {
        width: 358rem;
        position: absolute;
        bottom: 27rem;
        left: 50%;
        transform: translateX(-50%); }
        #media .inner .media_slider .media_box .media_btn a {
          display: block;
          width: 100%;
          transition: 0.3s; }
          #media .inner .media_slider .media_box .media_btn a:first-child {
            margin-bottom: 15rem; }
          #media .inner .media_slider .media_box .media_btn a:hover {
            opacity: 0.8; }
    #media .inner .media_slider .slick-center, #media .inner .media_slider .slick-current {
      transform: scale(1.1) !important; }
    #media .inner .media_slider .prev-arrow {
      width: 63rem;
      position: absolute;
      left: -170rem;
      top: 50%;
      transform: translateY(-50%);
      cursor: pointer; }
    #media .inner .media_slider .next-arrow {
      width: 63rem;
      position: absolute;
      right: -170rem;
      top: 50%;
      transform: translateY(-50%);
      cursor: pointer; }

  #message .bg {
    background: #f2f9fc; }
  #message .inner {
    padding: 225rem 0 160rem;
    text-align: center;
    color: #1e2d54; }
    #message .inner h2 {
      font-size: 45rem;
      letter-spacing: 0.1em;
      font-weight: bold;
      margin-bottom: 60rem; }
    #message .inner .message_txt {
      font-size: 21rem;
      letter-spacing: 0.1em;
      line-height: 1.66em;
      margin-bottom: 70rem; }
    #message .inner .message_name {
      font-size: 23rem;
      letter-spacing: 0.1em;
      line-height: 1.52em; }

  #faq {
    position: relative; }
    #faq .inner {
      padding: 160rem 0 370rem; }
      #faq .inner .en {
        font-size: 25rem;
        letter-spacing: 0.1em;
        font-weight: bold;
        color: #00cf80;
        text-align: center; }
      #faq .inner h2 {
        font-size: 45rem;
        letter-spacing: 0.1em;
        font-weight: bold;
        color: #1e2d54;
        text-align: center;
        margin: 39rem 0 20rem; }
      #faq .inner .faq_boxes {
        width: 100%; }
        #faq .inner .faq_boxes .faq_box .question {
          width: 1100rem;
          margin: 0 auto;
          position: relative; }
          #faq .inner .faq_boxes .faq_box .question .q_box {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            padding: 50rem 0;
            cursor: pointer; }
            #faq .inner .faq_boxes .faq_box .question .q_box .q_icon {
              font-size: 37rem;
              font-weight: bold;
              color: #00cf80;
              margin-right: 36rem; }
            #faq .inner .faq_boxes .faq_box .question .q_box .q_txt {
              font-size: 28rem;
              letter-spacing: 0.1em;
              font-weight: 500;
              color: #1e2d54; }
          #faq .inner .faq_boxes .faq_box .question span {
            display: block;
            width: 41rem;
            height: 41rem;
            border-radius: 8rem;
            background: #007eb9;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%); }
            #faq .inner .faq_boxes .faq_box .question span::before {
              position: absolute;
              content: "";
              width: 24rem;
              height: 4rem;
              top: 50%;
              left: 50%;
              transform: translateX(-50%) translateY(-50%);
              background: #fff; }
            #faq .inner .faq_boxes .faq_box .question span::after {
              position: absolute;
              content: "";
              width: 24rem;
              height: 4rem;
              top: 50%;
              left: 50%;
              transform: translateX(-50%) translateY(-50%) rotate(90deg);
              background: #fff;
              transition: 0.3s; }
          #faq .inner .faq_boxes .faq_box .question.open span::after {
            transform: translateX(-50%) translateY(-50%) rotate(0); }
        #faq .inner .faq_boxes .faq_box .answer {
          display: none;
          position: relative;
          background: #e5f2f8; }
          #faq .inner .faq_boxes .faq_box .answer .a_box {
            width: 1100rem;
            margin: 0 auto;
            display: flex;
            justify-content: flex-start;
            box-sizing: border-box;
            padding: 50rem 0 80rem 20rem;
            position: relative;
            z-index: 3; }
            #faq .inner .faq_boxes .faq_box .answer .a_box .a_icon {
              font-size: 37rem;
              font-weight: bold;
              color: #00cf80;
              margin-right: 36rem; }
            #faq .inner .faq_boxes .faq_box .answer .a_box .a_txt {
              font-size: 27rem;
              letter-spacing: 0.1em;
              line-height: 1.37em;
              color: #1e2d54; }

  #offer {
    position: absolute;
    bottom: -218rem;
    left: 50%;
    transform: translateX(-50%); }
    #offer .inner {
      width: 1380rem;
      margin: 0 auto;
      padding: 49rem 0;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 75rem;
      background: linear-gradient(to right, #007eb8, #00b095); }
      #offer .inner .offer_ttl {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-right: 55rem; }
        #offer .inner .offer_ttl .icon {
          width: 102rem;
          margin-right: 20rem; }
        #offer .inner .offer_ttl h2 {
          font-size: 45rem;
          letter-spacing: 0.1em;
          font-weight: bold;
          color: #fff;
          margin: 0; }
      #offer .inner .offer_list {
        width: 481rem; }
        #offer .inner .offer_list ul li {
          font-size: 30rem;
          letter-spacing: 0.1em;
          line-height: 1;
          font-weight: bold;
          color: #fff;
          text-align: center;
          padding: 32rem 0 33rem;
          background: url("../img/offer_list_bg.webp") no-repeat center;
          background-size: 100% 100%;
          filter: drop-shadow(5rem 5rem 5rem rgba(0, 0, 0, 0.3)); }
          #offer .inner .offer_list ul li:nth-child(n+2) {
            margin-top: 23rem; }
          #offer .inner .offer_list ul li span {
            color: #fbeb23; }

  #contact {
    background: #1e2d54; }
    #contact .inner {
      width: 1100rem;
      margin: 0 auto;
      padding: 370rem 0 237rem; }
      #contact .inner h2 {
        font-size: 45rem;
        letter-spacing: 0.1em;
        line-height: 1.266em;
        font-weight: bold;
        text-align: center;
        color: #fff;
        margin-bottom: 40rem; }
        #contact .inner h2 span {
          width: 891rem;
          padding-bottom: 20rem;
          display: inline-block;
          background: url("../img/contact_ttl_bg.webp") no-repeat center bottom;
          background-size: 100%; }
      #contact .inner .contact_head {
        width: 796rem;
        margin: 0 auto 37rem;
        padding: 42rem 0 52rem;
        border-radius: 20rem;
        background: #e5f2f8; }
        #contact .inner .contact_head .contact_head_ttl {
          font-size: 26rem;
          font-weight: bold;
          color: #1e2d54;
          text-align: center;
          margin-bottom: 27rem; }
        #contact .inner .contact_head ul {
          width: 542rem;
          margin: 0 auto;
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          #contact .inner .contact_head ul li {
            display: inline-block;
            font-size: 18rem;
            letter-spacing: 0.1em;
            font-weight: 500;
            color: #1e2d54;
            padding: 5rem 21rem 5rem 29rem;
            background: url("../img/icon_check.webp") no-repeat 7rem center #fff;
            background-size: 15rem; }
            #contact .inner .contact_head ul li:nth-child(n+3) {
              margin-top: 18rem; }
      #contact .inner .contact_form table {
        width: 100%;
        margin-bottom: 100rem; }
        #contact .inner .contact_form table tr th {
          width: 190rem;
          font-size: 24rem;
          font-weight: 500;
          color: #fff;
          text-align: left;
          vertical-align: middle;
          padding-bottom: 13rem; }
          #contact .inner .contact_form table tr th.small {
            font-size: 20rem; }
        #contact .inner .contact_form table tr:nth-child(5) th {
          padding-top: 15rem;
          vertical-align: top; }
        #contact .inner .contact_form table tr td {
          width: 910rem;
          padding-bottom: 13rem; }
          #contact .inner .contact_form table tr td input {
            width: 100%;
            height: 54rem;
            border-radius: 10rem;
            background: #fff;
            border: none;
            font-size: 20rem;
            letter-spacing: 0.1em;
            line-height: 1.75em;
            box-sizing: border-box;
            padding-left: 28rem;
            font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
            #contact .inner .contact_form table tr td input.short {
              width: 457rem; }
          #contact .inner .contact_form table tr td .name {
            display: flex;
            justify-content: space-between; }
            #contact .inner .contact_form table tr td .name input {
              width: 444rem; }
          #contact .inner .contact_form table tr td select {
            width: 100%;
            height: 54rem;
            border-radius: 10rem;
            background: #fff;
            font-size: 20rem;
            letter-spacing: 0.1em;
            line-height: 1.75em;
            box-sizing: border-box;
            padding-left: 28rem;
            font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .inner .contact_form table tr td textarea {
            width: 100%;
            height: 210rem;
            border-radius: 10rem;
            background: #fff;
            border: none;
            font-size: 20rem;
            letter-spacing: 0.1em;
            line-height: 1.75em;
            box-sizing: border-box;
            padding: 10rem 28rem;
            resize: none;
            font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
            #contact .inner .contact_form table tr td textarea.short {
              width: 457rem; }
        #contact .inner .contact_form table tr:last-child td {
          padding-bottom: 0; }
      #contact .inner .contact_form .btn {
        width: 630rem;
        margin: 0 auto; }
        #contact .inner .contact_form .btn input {
          width: 100%;
          height: 126rem;
          font-size: 38rem;
          letter-spacing: 0.1em;
          font-weight: bold;
          color: #fff;
          font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
          border-radius: 60rem;
          border: none;
          background-image: url("../img/contact_btn_arrow.webp"), linear-gradient(to right, #00ac98, #007eb8);
          background-repeat: no-repeat;
          background-position: right 18rem center, center;
          background-size: 95rem, cover;
          cursor: pointer;
          transition: 0.3s; }
          #contact .inner .contact_form .btn input:hover {
            opacity: 0.8; }

  footer .footer_head {
    width: 1100rem;
    margin: 0 auto;
    padding: 90rem 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    footer .footer_head .footer_logo {
      width: 460rem; }
    footer .footer_head .footer_info {
      width: 588rem; }
      footer .footer_head .footer_info dl {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        font-size: 19rem;
        letter-spacing: 0.05em;
        line-height: 1.75em;
        font-weight: 500;
        color: #1e2d54; }
        footer .footer_head .footer_info dl dt {
          width: 118rem; }
        footer .footer_head .footer_info dl dd {
          width: calc( 100% - 118rem ); }
  footer .footer_btm {
    padding: 27rem 0 23rem;
    background: #1e2d54; }
    footer .footer_btm ul {
      display: flex;
      justify-content: center;
      margin-bottom: 44rem; }
      footer .footer_btm ul li {
        padding: 0 1em;
        font-size: 18rem;
        position: relative; }
        footer .footer_btm ul li::before {
          position: absolute;
          content: "";
          width: 1rem;
          height: 36rem;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          background: #fff; }
        footer .footer_btm ul li:last-child::before {
          display: none; }
        footer .footer_btm ul li a {
          color: #fff; }
          footer .footer_btm ul li a:hover {
            text-decoration: underline; }
    footer .footer_btm .copyright {
      font-size: 18rem;
      letter-spacing: 0.09em;
      color: #fff;
      text-align: center; } }
/* SP */
@media screen and (max-width: 768px) {
  .pconly {
    display: none !important; }

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

  header {
    width: 100%;
    background: #fff; }
    header .inner {
      width: 710rem;
      margin: 0 auto;
      padding: 18rem 0;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .inner .logo {
        width: 160rem; }
      header .inner .header_btn {
        display: flex;
        justify-content: flex-end; }
        header .inner .header_btn .btn {
          margin-left: 10rem; }
          header .inner .header_btn .btn a {
            display: block;
            font-size: 24rem;
            line-height: 1;
            font-weight: bold;
            color: #fff;
            box-sizing: border-box;
            padding: 21rem 0 20rem;
            border-radius: 30rem;
            background-repeat: no-repeat;
            transition: 0.3s; }
            header .inner .header_btn .btn a:hover {
              opacity: 0.8; }
            header .inner .header_btn .btn a.tel {
              display: none !important; }
            header .inner .header_btn .btn a.mail {
              width: 282rem;
              padding-left: 69rem;
              background-image: url("../img/icon_mail.webp"), linear-gradient(to right, #00ac98, #007eb8);
              background-position: left 24rem center, center;
              background-size: 36rem, cover; }
            header .inner .header_btn .btn a.line {
              width: 236rem;
              padding-left: 77rem;
              background-image: url("../img/icon_line.webp"), linear-gradient(to right, #00ac98, #007eb8);
              background-position: left 25rem center, center;
              background-size: 41rem, cover; }

  #mv {
    background: url("../img/mv_sp.webp") no-repeat center;
    background-size: cover; }
    #mv .inner {
      padding: 313rem 0 390rem; }
      #mv .inner h1 {
        width: 634rem;
        margin: 0 auto 50rem;
        font-size: 65rem;
        letter-spacing: 0.04em;
        line-height: 1.245em;
        font-weight: bold;
        color: #fff; }
        #mv .inner h1 .lt {
          letter-spacing: 0.2em; }
        #mv .inner h1 .hukidashi {
          display: inline-block;
          width: 218rem;
          height: 80rem;
          font-size: 36rem;
          letter-spacing: 0;
          line-height: 1;
          color: #007eb9;
          text-align: center;
          box-sizing: border-box;
          padding: 14rem 0 0;
          background: url("../img/mv_ttl_hukidashi_sp.webp") no-repeat;
          background-size: contain;
          margin-bottom: 25rem;
          position: relative;
          left: -23rem; }
      #mv .inner .mv_txt {
        font-size: 26.58rem;
        letter-spacing: 0.05em;
        line-height: 1em;
        font-weight: bold;
        color: #1e2d54; }
        #mv .inner .mv_txt span {
          display: inline-block;
          box-sizing: border-box;
          padding: 17rem 0 16rem 63rem;
          background-repeat: no-repeat;
          background-position: right center;
          background-size: 100%; }
          #mv .inner .mv_txt span:first-child {
            width: 659rem;
            margin-bottom: 8rem;
            background-image: url("../img/mv_txt_bg_01_sp.webp"); }
          #mv .inner .mv_txt span:last-child {
            width: 715rem;
            background-image: url("../img/mv_txt_bg_02_sp.webp"); }

  #worry {
    background: #a6d2e7; }
    #worry .worry_head {
      padding: 45rem 0 131rem;
      background: url("../img/worry_head_bg.webp") no-repeat center bottom;
      background-size: cover; }
      #worry .worry_head .worry_head_img {
        width: 691rem;
        margin: 0 auto; }
    #worry .worry_box {
      padding: 45rem 0 60rem;
      text-align: center;
      color: #192e57; }
      #worry .worry_box .worry_box_txt {
        font-size: 24rem;
        letter-spacing: 0.1em;
        line-height: 1.25em;
        font-weight: bold;
        margin-bottom: 15rem; }
        #worry .worry_box .worry_box_txt span {
          display: inline-block;
          border-bottom: solid 2rem #192e57; }
      #worry .worry_box .worry_box_main {
        font-size: 30rem;
        letter-spacing: 0.1em;
        line-height: 1.8em;
        font-weight: bold; }
        #worry .worry_box .worry_box_main span {
          display: inline-block;
          font-size: 40rem;
          line-height: 1.35em; }
          #worry .worry_box .worry_box_main span.bg {
            width: 113rem;
            box-sizing: border-box;
            background: #fff;
            border: solid 3px #192e57;
            position: relative;
            margin-right: 0.1em; }
            #worry .worry_box .worry_box_main span.bg::before {
              position: absolute;
              content: "";
              width: 120rem;
              height: 76rem;
              top: -5rem;
              left: -6rem;
              background: url("../img/worry_box_main_ob_sp.webp") no-repeat;
              background-size: contain; }

  #reason {
    background: #e5f2f8;
    position: relative;
    overflow: hidden; }
    #reason::before {
      position: absolute;
      content: "";
      width: 414rem;
      height: 425rem;
      top: 0;
      right: 0;
      background: url("../img/reason_ob.webp") no-repeat;
      background-size: contain;
      z-index: 1;
      mix-blend-mode: multiply; }
    #reason::after {
      position: absolute;
      content: "";
      width: 150rem;
      height: 504rem;
      top: 47rem;
      right: -45rem;
      background: url("../img/reason_logo.webp") no-repeat center;
      background-size: contain;
      z-index: 2; }
    #reason .inner {
      width: 638rem;
      margin: 0 auto;
      padding: 105rem 0;
      position: relative;
      z-index: 2; }
      #reason .inner h2 {
        font-size: 45rem;
        letter-spacing: 0.1em;
        line-height: 1.2em;
        font-weight: bold;
        color: #007eb9;
        margin-bottom: 60rem; }
        #reason .inner h2 span {
          display: inline-block;
          text-decoration: underline 3rem;
          text-underline-offset: 6rem; }
          #reason .inner h2 span.small {
            font-size: 37rem;
            border: none; }
      #reason .inner .reason_txt {
        font-size: 34rem;
        letter-spacing: 0.1em;
        line-height: 1.32em;
        font-weight: bold;
        color: #1e2d54; }
        #reason .inner .reason_txt span {
          display: inline-block;
          background: url("../img/reason_txt_wave_sp.webp") no-repeat left bottom;
          background-size: 100% 14rem; }

  #reaction {
    background: #f2f9fc; }
    #reaction .inner {
      width: 631rem;
      margin: 0 auto;
      padding: 80rem 0 130rem;
      text-align: center; }
      #reaction .inner h2 {
        font-size: 37rem;
        letter-spacing: 0.1em;
        line-height: 1.5em;
        font-weight: bold;
        color: #006eb5;
        margin-bottom: 60rem; }
        #reaction .inner h2 span {
          display: inline-block; }
          #reaction .inner h2 span.bg {
            width: 584rem;
            background: url("../img/reaction_ttl_bg_sp.webp") no-repeat center top 90%;
            background-size: 100% auto; }
          #reaction .inner h2 span.num {
            font-size: 74rem; }
          #reaction .inner h2 span.big {
            font-size: 45rem; }
      #reaction .inner .reaction_boxes .reaction_box {
        width: 631rem;
        margin: 0 22rem; }
        #reaction .inner .reaction_boxes .reaction_box:nth-child(n+2) {
          margin-top: 57rem; }

  #works .bg {
    background: #f2f9fc;
    position: relative; }
    #works .bg::before {
      position: absolute;
      content: "";
      width: 414rem;
      height: 425rem;
      top: 0;
      left: 0;
      background: url("../img/works_bg.webp") no-repeat;
      background-size: contain;
      z-index: 1;
      mix-blend-mode: multiply; }
  #works .inner {
    width: 630rem;
    margin: 0 auto;
    padding: 130rem 0 140rem;
    text-align: center;
    position: relative;
    z-index: 2; }
    #works .inner h2 {
      display: inline-block;
      font-size: 37rem;
      letter-spacing: 0.1em;
      line-height: 1.2em;
      font-weight: bold;
      color: #1e2d54;
      margin-bottom: 45rem;
      position: relative; }
      #works .inner h2::after {
        position: absolute;
        content: "";
        width: 115rem;
        height: 115rem;
        top: 15rem;
        left: -38rem;
        border-radius: 100%;
        background: #fff; }
      #works .inner h2 span {
        display: inline-block;
        position: relative;
        z-index: 2; }
        #works .inner h2 span.num {
          font-size: 74rem; }
        #works .inner h2 span.big {
          font-size: 45rem; }
    #works .inner .works_boxes .works_box {
      width: 100%;
      color: #fff;
      box-sizing: border-box;
      padding: 40rem 0 40rem 248rem;
      border-radius: 50rem;
      background: linear-gradient(to right, #007eb8, #00b095);
      position: relative;
      text-align: left; }
      #works .inner .works_boxes .works_box:nth-child(n+2) {
        margin-top: 32rem; }
      #works .inner .works_boxes .works_box .works_box_icon {
        position: absolute;
        top: 50%;
        transform: translateY(-50%); }
        #works .inner .works_boxes .works_box .works_box_icon.icon01 {
          width: 155rem;
          left: 64rem; }
        #works .inner .works_boxes .works_box .works_box_icon.icon02 {
          width: 105rem;
          left: 78rem; }
        #works .inner .works_boxes .works_box .works_box_icon.icon03 {
          width: 98rem;
          left: 80rem; }
        #works .inner .works_boxes .works_box .works_box_icon.icon04 {
          width: 117rem;
          left: 65rem; }
        #works .inner .works_boxes .works_box .works_box_icon.icon05 {
          width: 140rem;
          left: 50rem; }
      #works .inner .works_boxes .works_box h3 {
        font-size: 31rem;
        letter-spacing: 0.1em;
        line-height: 1;
        font-weight: bold;
        margin-bottom: 15rem; }
      #works .inner .works_boxes .works_box .works_box_txt {
        font-size: 21rem;
        letter-spacing: 0.1em;
        line-height: 1.38em; }

  #media .bg {
    position: relative;
    background: #80bfdc; }
    #media .bg::before {
      position: absolute;
      content: "";
      width: 414rem;
      height: 425rem;
      top: 0;
      right: 0;
      background: url("../img/media_ob.webp") no-repeat;
      background-size: contain;
      mix-blend-mode: multiply; }
  #media .inner {
    width: 100%;
    margin: 0 auto;
    padding: 140rem 0 160rem;
    position: relative;
    z-index: 2; }
    #media .inner h2 {
      font-size: 45rem;
      letter-spacing: 0.1em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin: 45rem; }
      #media .inner h2 span {
        font-size: 37rem; }
    #media .inner .media_slider .slick-track {
      display: flex;
      justify-content: center;
      padding: 50rem 0; }
    #media .inner .media_slider .media_box {
      transition: transform 1s ease;
      margin: 0 30rem;
      position: relative; }
      #media .inner .media_slider .media_box img {
        width: 100%; }
      #media .inner .media_slider .media_box .media_btn {
        width: 358rem;
        position: absolute;
        bottom: 27rem;
        left: 50%;
        transform: translateX(-50%); }
        #media .inner .media_slider .media_box .media_btn a {
          display: block;
          width: 100%;
          transition: 0.3s; }
          #media .inner .media_slider .media_box .media_btn a:first-child {
            margin-bottom: 15rem; }
          #media .inner .media_slider .media_box .media_btn a:hover {
            opacity: 0.8; }
    #media .inner .media_slider .slick-center, #media .inner .media_slider .slick-current {
      transform: scale(1.1) !important; }

  #message .bg {
    background: #f2f9fc; }
  #message .inner {
    padding: 145rem 0 135rem;
    text-align: center;
    color: #1e2d54; }
    #message .inner h2 {
      font-size: 45rem;
      letter-spacing: 0.1em;
      font-weight: bold;
      margin-bottom: 65rem; }
    #message .inner .message_txt {
      font-size: 21rem;
      letter-spacing: 0.1em;
      line-height: 1.66em;
      margin-bottom: 85rem; }
    #message .inner .message_name {
      font-size: 23rem;
      letter-spacing: 0.1em;
      line-height: 1.52em; }

  #faq {
    position: relative; }
    #faq .inner {
      padding: 120rem 0 67rem; }
      #faq .inner .en {
        font-size: 25rem;
        letter-spacing: 0.1em;
        font-weight: bold;
        color: #00cf80;
        text-align: center; }
      #faq .inner h2 {
        font-size: 45rem;
        letter-spacing: 0.1em;
        font-weight: bold;
        color: #1e2d54;
        text-align: center;
        margin: 35rem 0 15rem; }
      #faq .inner .faq_boxes {
        width: 100%; }
        #faq .inner .faq_boxes .faq_box .question {
          width: 630rem;
          margin: 0 auto;
          position: relative; }
          #faq .inner .faq_boxes .faq_box .question .q_box {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            padding: 55rem 0;
            cursor: pointer; }
            #faq .inner .faq_boxes .faq_box .question .q_box .q_icon {
              font-size: 37rem;
              font-weight: bold;
              color: #00cf80;
              margin-right: 36rem; }
            #faq .inner .faq_boxes .faq_box .question .q_box .q_txt {
              font-size: 28rem;
              letter-spacing: 0.1em;
              font-weight: 500;
              color: #1e2d54; }
          #faq .inner .faq_boxes .faq_box .question span {
            display: block;
            width: 41rem;
            height: 41rem;
            border-radius: 8rem;
            background: #007eb9;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%); }
            #faq .inner .faq_boxes .faq_box .question span::before {
              position: absolute;
              content: "";
              width: 24rem;
              height: 4rem;
              top: 50%;
              left: 50%;
              transform: translateX(-50%) translateY(-50%);
              background: #fff; }
            #faq .inner .faq_boxes .faq_box .question span::after {
              position: absolute;
              content: "";
              width: 24rem;
              height: 4rem;
              top: 50%;
              left: 50%;
              transform: translateX(-50%) translateY(-50%) rotate(90deg);
              background: #fff;
              transition: 0.3s; }
          #faq .inner .faq_boxes .faq_box .question.open span::after {
            transform: translateX(-50%) translateY(-50%) rotate(0); }
        #faq .inner .faq_boxes .faq_box .answer {
          display: none;
          position: relative;
          background: #e5f2f8; }
          #faq .inner .faq_boxes .faq_box .answer .a_box {
            width: 630rem;
            margin: 0 auto;
            display: flex;
            justify-content: flex-start;
            box-sizing: border-box;
            padding: 50rem 0 55rem 20rem;
            position: relative;
            z-index: 3; }
            #faq .inner .faq_boxes .faq_box .answer .a_box .a_icon {
              font-size: 37rem;
              font-weight: bold;
              color: #00cf80;
              margin-right: 36rem; }
            #faq .inner .faq_boxes .faq_box .answer .a_box .a_txt {
              font-size: 27rem;
              letter-spacing: 0.1em;
              line-height: 1.37em;
              color: #1e2d54; }

  #offer {
    width: 100%; }
    #offer .inner {
      width: 100%;
      margin: 0 auto;
      padding: 50rem 0 72rem;
      background: linear-gradient(to right, #007eb8, #00b095); }
      #offer .inner .offer_ttl {
        width: 560rem;
        margin: 0 auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 8rem; }
        #offer .inner .offer_ttl .icon {
          width: 102rem;
          margin-right: 33rem; }
        #offer .inner .offer_ttl h2 {
          font-size: 45rem;
          letter-spacing: 0.1em;
          font-weight: bold;
          color: #fff;
          margin: 0; }
      #offer .inner .offer_list {
        width: 482rem;
        margin: 0 auto; }
        #offer .inner .offer_list ul li {
          font-size: 30rem;
          letter-spacing: 0.1em;
          line-height: 1;
          font-weight: bold;
          color: #fff;
          text-align: center;
          padding: 32rem 0 33rem;
          background: url("../img/offer_list_bg.webp") no-repeat center;
          background-size: 100% 100%;
          filter: drop-shadow(5rem 5rem 5rem rgba(0, 0, 0, 0.3)); }
          #offer .inner .offer_list ul li:nth-child(n+2) {
            margin-top: 11rem; }
          #offer .inner .offer_list ul li span {
            color: #fbeb23; }

  #contact {
    background: #1e2d54; }
    #contact .inner {
      width: 630rem;
      margin: 0 auto;
      padding: 110rem 0 130rem; }
      #contact .inner h2 {
        font-size: 45rem;
        letter-spacing: 0.1em;
        line-height: 1.266em;
        font-weight: bold;
        text-align: center;
        color: #fff;
        margin-bottom: 30rem; }
        #contact .inner h2 span {
          width: 560rem;
          display: inline-block;
          background: url("../img/contact_ttl_bg_sp.webp") no-repeat center bottom;
          background-size: 100%; }
      #contact .inner .contact_head {
        width: 400rem;
        margin: 0 auto 50rem;
        padding: 24rem 0 21rem;
        border-radius: 20rem;
        background: #e5f2f8; }
        #contact .inner .contact_head .contact_head_ttl {
          font-size: 22rem;
          font-weight: bold;
          color: #1e2d54;
          text-align: center;
          margin-bottom: 23rem; }
        #contact .inner .contact_head ul {
          width: 268rem;
          margin: 0 auto; }
          #contact .inner .contact_head ul li {
            display: inline-block;
            font-size: 18rem;
            letter-spacing: 0.1em;
            font-weight: 500;
            color: #1e2d54;
            padding: 5rem 21rem 5rem 29rem;
            background: url("../img/icon_check.webp") no-repeat 7rem center #fff;
            background-size: 15rem; }
            #contact .inner .contact_head ul li:nth-child(n+2) {
              margin-top: 9rem; }
      #contact .inner .contact_form table {
        width: 100%;
        margin-bottom: 30rem; }
        #contact .inner .contact_form table tr th {
          width: 158rem;
          font-size: 22rem;
          font-weight: 500;
          color: #fff;
          text-align: left;
          vertical-align: middle;
          padding-bottom: 13rem; }
          #contact .inner .contact_form table tr th.small {
            font-size: 20rem; }
        #contact .inner .contact_form table tr:nth-child(5) th {
          padding-top: 17rem;
          vertical-align: top; }
        #contact .inner .contact_form table tr td {
          width: 472rem;
          padding-bottom: 13rem; }
          #contact .inner .contact_form table tr td input {
            width: 100%;
            height: 54rem;
            border-radius: 10rem;
            background: #fff;
            border: none;
            font-size: 22rem;
            letter-spacing: 0.1em;
            line-height: 1.75em;
            box-sizing: border-box;
            padding-left: 16rem;
            font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .inner .contact_form table tr td .name {
            display: flex;
            justify-content: space-between; }
            #contact .inner .contact_form table tr td .name input {
              width: 229rem; }
          #contact .inner .contact_form table tr td select {
            width: 100%;
            height: 54rem;
            border-radius: 10rem;
            background: #fff;
            font-size: 22rem;
            letter-spacing: 0.1em;
            line-height: 1.75em;
            box-sizing: border-box;
            padding-left: 16rem;
            font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .inner .contact_form table tr td textarea {
            width: 100%;
            height: 210rem;
            border-radius: 10rem;
            background: #fff;
            border: none;
            font-size: 22rem;
            letter-spacing: 0.1em;
            line-height: 1.75em;
            box-sizing: border-box;
            padding: 10rem 16rem;
            resize: none;
            font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
        #contact .inner .contact_form table tr:last-child td {
          padding-bottom: 0; }
      #contact .inner .contact_form .btn {
        width: 630rem;
        margin: 0 auto; }
        #contact .inner .contact_form .btn input {
          width: 100%;
          height: 126rem;
          font-size: 38rem;
          letter-spacing: 0.1em;
          font-weight: bold;
          color: #fff;
          font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
          border-radius: 60rem;
          border: none;
          background-image: url("../img/contact_btn_arrow.webp"), linear-gradient(to right, #00ac98, #007eb8);
          background-repeat: no-repeat;
          background-position: right 1rem center, center;
          background-size: 95rem, cover;
          cursor: pointer;
          transition: 0.3s; }
          #contact .inner .contact_form .btn input:hover {
            opacity: 0.8; }

  .float_banner {
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease; }
    .float_banner.show {
      opacity: 1;
      visibility: visible; }
    .float_banner .banner {
      display: flex;
      justify-content: space-between;
      border: solid 1rem #fff; }
      .float_banner .banner a {
        display: block;
        width: 100%;
        height: 85rem;
        font-size: 24rem;
        line-height: 1;
        font-weight: bold;
        color: #fff;
        box-sizing: border-box;
        padding: 30rem 0 31rem;
        background-repeat: no-repeat;
        background-color: #007eb9; }
        .float_banner .banner a.tel {
          width: 259rem;
          font-size: 28rem;
          padding: 28rem 0 33rem 65rem;
          background-image: url("../img/icon_tel.webp");
          background-position: left 31rem center;
          background-size: 27rem; }
        .float_banner .banner a.mail {
          width: 259rem;
          padding-left: 57rem;
          background-image: url("../img/icon_mail.webp");
          background-position: left 19rem center;
          background-size: 29rem;
          border-left: solid 1rem #fff;
          border-right: solid 1rem #fff; }
        .float_banner .banner a.line {
          width: 232rem;
          padding-left: 75rem;
          background-image: url("../img/icon_line.webp");
          background-position: left 24rem center;
          background-size: 40rem; }

  footer {
    padding-bottom: 86rem; }
    footer .footer_head {
      width: 680rem;
      margin: 0 auto;
      padding: 28rem 0 30rem; }
      footer .footer_head .footer_logo {
        width: 311rem;
        margin-bottom: 15rem; }
      footer .footer_head .footer_info dl {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        font-size: 19rem;
        letter-spacing: 0.05em;
        line-height: 1.75em;
        font-weight: 500;
        color: #1e2d54; }
        footer .footer_head .footer_info dl dt {
          width: 120rem; }
        footer .footer_head .footer_info dl dd {
          width: calc( 100% - 120rem ); }
    footer .footer_btm {
      padding: 27rem 0 23rem;
      background: #1e2d54; }
      footer .footer_btm ul {
        display: flex;
        justify-content: center;
        margin-bottom: 44rem; }
        footer .footer_btm ul li {
          padding: 0 1em;
          font-size: 18rem;
          position: relative; }
          footer .footer_btm ul li::before {
            position: absolute;
            content: "";
            width: 1rem;
            height: 36rem;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            background: #fff; }
          footer .footer_btm ul li:last-child::before {
            display: none; }
          footer .footer_btm ul li a {
            color: #fff; }
            footer .footer_btm ul li a:hover {
              text-decoration: underline; }
      footer .footer_btm .copyright {
        font-size: 18rem;
        letter-spacing: 0.09em;
        color: #fff;
        text-align: center; } }

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