@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;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0;
  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; }

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

.font_poppins {
  font-family: "Poppins", sans-serif; }

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

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

  header {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10; }
    header .header_inner {
      width: 1820rem;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 17rem 0;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .header_inner .logo {
        width: 203rem; }
      header .header_inner .header_btn {
        display: flex;
        justify-content: flex-end; }
        header .header_inner .header_btn a {
          display: block;
          font-size: 16rem;
          line-height: 1.5em;
          font-weight: bold;
          color: #353535;
          text-align: center;
          box-sizing: border-box;
          padding: 6rem 0;
          border-radius: 100rem;
          border: solid 2rem #353535;
          background: #fff;
          transition: 0.3s;
          margin-left: 8rem; }
          header .header_inner .header_btn a:hover {
            color: #fff;
            background: #353535; }
          header .header_inner .header_btn a.login {
            width: 124rem; }
          header .header_inner .header_btn a.signin {
            width: 201rem;
            color: #fff;
            background: #353535; }
            header .header_inner .header_btn a.signin:hover {
              color: #353535;
              background: #fff; }

  main {
    overflow: hidden;
    background: #00A7B4; }

  #mv {
    width: 100%;
    position: relative; }
    #mv::before {
      position: absolute;
      content: "";
      width: 1631rem;
      height: 1304rem;
      left: 0;
      top: 0;
      background: url("../img/event/mv_bg.webp") no-repeat center top;
      background-size: 100%; }
    #mv .inner {
      width: 1624rem;
      margin: 0 auto;
      position: relative;
      padding: 250rem 0 175rem;
      color: #353535;
      z-index: 2; }
      #mv .inner .mv_cont h1 {
        font-size: 94rem;
        line-height: 1.3em;
        font-weight: bold;
        margin-bottom: 47rem; }
        #mv .inner .mv_cont h1 span {
          display: inline-block;
          font-weight: 900; }
      #mv .inner .mv_cont .mv_box {
        width: 1015rem;
        margin-bottom: 47rem;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #mv .inner .mv_cont .mv_box .mv_box_txt {
          font-size: 50rem;
          letter-spacing: 0.13em;
          line-height: 1.5em;
          font-weight: bold; }
        #mv .inner .mv_cont .mv_box .mv_box_logo {
          width: 625rem; }
      #mv .inner .mv_cont .btnarea {
        width: 956rem;
        padding: 16rem 33rem;
        box-sizing: border-box;
        background: #fff;
        border: solid 2rem #2D2C31;
        border-radius: 25rem;
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        #mv .inner .mv_cont .btnarea a {
          display: block;
          width: 100%;
          line-height: 0; }
        #mv .inner .mv_cont .btnarea .mv_btn {
          width: 326rem;
          position: relative;
          margin-right: 45rem; }
          #mv .inner .mv_cont .btnarea .mv_btn a {
            font-size: 18rem;
            line-height: 1.5em;
            letter-spacing: 0.03em;
            font-weight: bold;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 13rem;
            border-radius: 175rem;
            border: solid 2rem #353535;
            background: url("../img/event/btn_arrow.webp") no-repeat right 22rem center #353535;
            background-size: 9rem;
            filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25));
            transition: 0.3s; }
            #mv .inner .mv_cont .btnarea .mv_btn a:hover {
              color: #353535;
              background: url("../img/event/btn_arrow_black.webp") no-repeat right 22rem center #fff;
              background-size: 9rem; }
          #mv .inner .mv_cont .btnarea .mv_btn .mv_btn_icon {
            width: 55rem;
            position: absolute;
            top: -40rem;
            left: -21rem;
            filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25)); }
        #mv .inner .mv_cont .btnarea .app {
          width: 233rem;
          display: flex;
          justify-content: space-between;
          margin-right: 18rem; }
          #mv .inner .mv_cont .btnarea .app a {
            width: 164rem;
            pointer-events: none; }
          #mv .inner .mv_cont .btnarea .app .qrcode {
            width: 60rem; }
        #mv .inner .mv_cont .btnarea .google {
          width: 264rem;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #mv .inner .mv_cont .btnarea .google a {
            width: 196rem;
            pointer-events: none; }
          #mv .inner .mv_cont .btnarea .google .qrcode {
            width: 59rem; }
      #mv .inner .mv_img {
        width: 532rem;
        position: absolute;
        right: -97rem;
        top: 138rem; }

  /*共通*/
  .sec_ttl {
    font-size: 40rem;
    line-height: 1.5em;
    font-weight: bold;
    color: #353535;
    text-align: center;
    position: relative; }
    .sec_ttl::before {
      position: absolute;
      content: "";
      width: 160rem;
      height: 6rem;
      bottom: -22rem;
      left: 50%;
      transform: translateX(-50%);
      background: #00A7B4; }

  .signin_btn {
    width: 251rem;
    margin: 0 auto;
    line-height: 0;
    position: relative; }
    .signin_btn a {
      display: block;
      width: 100%;
      font-size: 18rem;
      letter-spacing: 0.03em;
      line-height: 1.5em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      box-sizing: border-box;
      padding: 22rem 0;
      border-radius: 175rem;
      border: solid 2rem #353535;
      background: url("../img/event/btn_arrow.webp") no-repeat right 22rem center #353535;
      background-size: 9rem;
      transition: 0.3s;
      filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25)); }
      .signin_btn a:hover {
        color: #353535;
        background: url("../img/event/btn_arrow_black.webp") no-repeat right 22rem center #fff;
        background-size: 9rem; }
    .signin_btn .btn_icon {
      width: 55rem;
      position: absolute;
      top: -40rem;
      left: -21rem;
      filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25)); }

  #event {
    position: relative;
    z-index: 2; }
    #event .inner .event_slider {
      margin: 95rem 0 70rem; }
      #event .inner .event_slider .event_box {
        border-radius: 20rem;
        background: #fff;
        overflow: hidden;
        margin: 0 10rem; }
        #event .inner .event_slider .event_box .event_box_img {
          width: 100%; }
        #event .inner .event_slider .event_box .event_box_textarea {
          color: #000;
          box-sizing: border-box;
          padding: 20rem 25rem; }
          #event .inner .event_slider .event_box .event_box_textarea .event_box_ttl {
            width: 100%;
            /* 2. 複数行の省略（三点リーダー）を表示するための必須セット */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            /* 3. ここで「何行目で止めるか」を指定します */
            -webkit-line-clamp: 3;
            /* 4. 3行目からはみ出た文字を非表示にします */
            overflow: hidden;
            min-height: 90rem;
            font-size: 20rem;
            line-height: 1.5em;
            font-weight: bold;
            margin-bottom: 10rem; }
          #event .inner .event_slider .event_box .event_box_textarea .event_box_txt {
            width: 100%;
            min-height: 67.2rem;
            /* 2. 複数行の省略（三点リーダー）を表示するための必須セット */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            /* 3. ここで「何行目で止めるか」を指定します */
            -webkit-line-clamp: 3;
            /* 4. 3行目からはみ出た文字を非表示にします */
            overflow: hidden;
            font-size: 14rem;
            letter-spacing: 0.03em;
            line-height: 1.6em; }
    #event .inner .event_btn {
      width: 290rem;
      margin: 0 auto; }
      #event .inner .event_btn a {
        display: block;
        width: 100%;
        font-size: 18rem;
        letter-spacing: 0.03em;
        line-height: 1.5em;
        font-weight: bold;
        color: #fff;
        box-sizing: border-box;
        padding: 22rem 0 22rem 38rem;
        border-radius: 175rem;
        border: solid 2rem #353535;
        background: url("../img/event/btn_arrow.webp") no-repeat right 20rem center #353535;
        background-size: 9rem;
        transition: 0.3s; }
        #event .inner .event_btn a:hover {
          color: #353535;
          background: url("../img/event/btn_arrow_black.webp") no-repeat right 20rem center #fff;
          background-size: 9rem; }

  #reason {
    margin-top: 100rem;
    position: relative;
    color: #06262D;
    z-index: 2; }
    #reason .bg {
      background: #FFEE7D; }
    #reason .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 196rem 0 136rem;
      position: relative;
      z-index: 3; }
      #reason .inner .reason_boxes {
        margin: 95rem 0 132rem; }
        #reason .inner .reason_boxes .reason_box {
          position: relative; }
          #reason .inner .reason_boxes .reason_box .reason_box_in {
            width: 630rem;
            margin-left: auto; }
            #reason .inner .reason_boxes .reason_box .reason_box_in .num {
              font-size: 50rem;
              line-height: 1.5em;
              font-weight: 600;
              color: #00A7B4;
              margin-bottom: 10rem; }
            #reason .inner .reason_boxes .reason_box .reason_box_in h3 {
              font-size: 27rem;
              line-height: 1.5em;
              font-weight: 900;
              margin-bottom: 10rem; }
              #reason .inner .reason_boxes .reason_box .reason_box_in h3 span {
                display: inline-block;
                padding-left: 10rem;
                background: #FBDB00; }
            #reason .inner .reason_boxes .reason_box .reason_box_in .reason_box_img {
              position: absolute; }
            #reason .inner .reason_boxes .reason_box .reason_box_in .reason_box_txt {
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 2em;
              font-weight: bold; }
          #reason .inner .reason_boxes .reason_box.box01 .reason_box_in .reason_box_img {
            width: 217rem;
            top: 0;
            left: 86rem; }
          #reason .inner .reason_boxes .reason_box.box02 {
            width: 864rem;
            margin: 70px auto; }
            #reason .inner .reason_boxes .reason_box.box02 .reason_box_in {
              width: 576rem;
              margin: 0; }
              #reason .inner .reason_boxes .reason_box.box02 .reason_box_in .reason_box_img {
                width: 343rem;
                top: -15rem;
                right: -60rem; }
          #reason .inner .reason_boxes .reason_box.box03 .reason_box_in .reason_box_img {
            width: 486rem;
            top: -44rem;
            left: -145rem; }

  #attribute {
    position: relative;
    z-index: 1;
    margin-top: -96rem;
    background: #fff; }
    #attribute .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 216rem 0 100rem;
      text-align: center; }
      #attribute .inner .attribute_boxes {
        display: flex;
        justify-content: space-between;
        margin: 95rem 0 70rem; }
        #attribute .inner .attribute_boxes .attribute_box {
          width: 470rem;
          box-sizing: border-box;
          padding: 22rem 0;
          border-radius: 20rem;
          background: #F8F8F8; }
          #attribute .inner .attribute_boxes .attribute_box h3 {
            font-size: 20rem;
            line-height: 1.5em;
            font-weight: bold;
            color: #00A6B4;
            margin-bottom: 15rem; }
          #attribute .inner .attribute_boxes .attribute_box .attribute_box_img img {
            width: auto;
            height: 316rem; }
      #attribute .inner .causion {
        font-size: 10rem;
        line-height: 1.4em; }

  #voice .bg {
    width: 100%;
    background: #E4F4F4; }
    #voice .bg .inner {
      width: 1410rem;
      margin: 0 auto;
      padding: 100rem 0;
      position: relative; }
      #voice .bg .inner .voice_boxes {
        display: flex;
        justify-content: space-between;
        justify-content: center;
        margin: 95rem 0 70rem; }
        #voice .bg .inner .voice_boxes .voice_box {
          width: 330rem;
          margin: 0 15rem; }
          #voice .bg .inner .voice_boxes .voice_box .voice_box_txt {
            position: relative;
            min-height: 235rem;
            padding: 30rem 40rem 0;
            box-sizing: border-box;
            background: #fff;
            border-radius: 10px;
            position: relative; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_txt::before {
              position: absolute;
              content: "";
              width: 0;
              height: 0;
              bottom: -25rem;
              left: 50%;
              transform: translateX(-50%);
              border-style: solid;
              border-right: 17.5rem solid transparent;
              border-left: 17.5rem solid transparent;
              border-top: 30rem solid #ffffff;
              border-bottom: 0; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_txt h3 {
              min-height: 58rem;
              font-size: 18rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: 900;
              color: #00A7B4;
              margin-bottom: 10rem; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_txt p {
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: bold;
              color: #353535; }
          #voice .bg .inner .voice_boxes .voice_box .voice_box_img {
            text-align: center;
            margin: 45rem auto 0; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_img img {
              width: 148rem;
              max-width: 100%; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_img span {
              display: block;
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: bold;
              margin-top: 15rem; }

  #step {
    position: relative;
    background: #fff; }
    #step .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 100rem 0; }
      #step .inner .step_boxes {
        display: flex;
        justify-content: space-between;
        position: relative;
        margin: 95rem 0 70rem; }
        #step .inner .step_boxes::before {
          position: absolute;
          content: "";
          width: 802rem;
          height: 6rem;
          top: 30rem;
          left: 50%;
          transform: translateX(-50%);
          background: url("../img/event/step_dot_line.webp") no-repeat center;
          background-size: contain; }
        #step .inner .step_boxes .step_box {
          width: 200rem;
          position: relative;
          z-index: 2;
          color: #353535; }
          #step .inner .step_boxes .step_box .num {
            width: 68rem;
            margin: 0 auto 15rem;
            height: 68rem;
            font-size: 33rem;
            line-height: 1.5em;
            font-weight: 600;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 10rem 0 8rem;
            border-radius: 100%;
            background: #00A7B4; }
          #step .inner .step_boxes .step_box h3 {
            font-size: 18rem;
            letter-spacing: 0.03em;
            line-height: 1.6em;
            font-weight: 900;
            text-align: center; }
          #step .inner .step_boxes .step_box .step_box_txt {
            min-height: 88rem;
            font-size: 14rem;
            letter-spacing: 0.03em;
            line-height: 1.6em;
            font-weight: bold;
            margin: 10rem 0 30rem; }

  #faq .bg {
    width: 100%;
    background: #F8F8F8; }
    #faq .bg .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 100rem 0 166rem;
      position: relative;
      color: #353535; }
      #faq .bg .inner .faq_cont {
        width: 100%;
        margin-top: 95rem; }
        #faq .bg .inner .faq_cont .faq_box {
          background: #fff;
          border-radius: 20rem; }
          #faq .bg .inner .faq_cont .faq_box:nth-child(n+2) {
            margin-top: 20rem; }
          #faq .bg .inner .faq_cont .faq_box .faq_q_txt {
            font-size: 18rem;
            letter-spacing: 0.03em;
            line-height: 1.6em;
            font-weight: 900;
            box-sizing: border-box;
            padding: 35rem 46rem 35rem 30rem;
            position: relative;
            cursor: pointer;
            transition: all 0.3s ease; }
            #faq .bg .inner .faq_cont .faq_box .faq_q_txt::before {
              position: absolute;
              content: "";
              width: 16rem;
              height: 4rem;
              right: 30rem;
              top: 50%;
              transform: translateY(-50%);
              background: #00A5B5; }
            #faq .bg .inner .faq_cont .faq_box .faq_q_txt::after {
              position: absolute;
              content: "";
              width: 16rem;
              height: 4rem;
              right: 30rem;
              top: 50%;
              transform: translateY(-50%) rotate(-90deg);
              background: #00A5B5;
              transition: 0.3s; }
            #faq .bg .inner .faq_cont .faq_box .faq_q_txt.open::after {
              transform: translateY(-50%) rotate(0); }
          #faq .bg .inner .faq_cont .faq_box .faq_a_txt {
            display: none;
            box-sizing: border-box;
            padding: 0 30rem 35rem;
            position: relative; }
            #faq .bg .inner .faq_cont .faq_box .faq_a_txt .faq_a_box .a_txt {
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: bold; }

  #about {
    margin-top: -96rem;
    position: relative;
    z-index: 3; }
    #about .bg {
      background: #FFEE7D; }
    #about .inner {
      width: 1000rem;
      margin: 0 auto;
      padding: 166rem 0;
      color: #353535; }
      #about .inner h2 {
        font-size: 50rem;
        letter-spacing: 0.04em;
        line-height: 1;
        color: #00A7B4; }
        #about .inner h2 span {
          font-size: 38rem; }
        #about .inner h2::before {
          display: none !important; }
      #about .inner .about_txt {
        font-size: 20rem;
        line-height: 1.5em;
        font-weight: bold;
        text-align: center;
        margin: 25rem 0 70rem; }
      #about .inner .about_boxes {
        display: flex;
        justify-content: space-between;
        text-align: center;
        margin-bottom: 75rem; }
        #about .inner .about_boxes .about_box {
          width: 307rem;
          box-sizing: border-box;
          padding: 23rem 0 37rem;
          border-radius: 20rem;
          background: #fff; }
          #about .inner .about_boxes .about_box h3 {
            font-size: 50rem;
            letter-spacing: 0.06em;
            line-height: 1;
            font-weight: bold;
            color: #00A7B4;
            margin-bottom: 30rem; }
            #about .inner .about_boxes .about_box h3 span {
              display: inline-block;
              font-size: 31rem;
              margin-bottom: 19rem; }
          #about .inner .about_boxes .about_box .about_box_txt {
            font-size: 16rem;
            letter-spacing: 0.04em;
            line-height: 1.5em;
            font-weight: bold; }
          #about .inner .about_boxes .about_box:nth-child(1) .about_box_img {
            width: 416rem;
            position: relative;
            left: -95rem;
            margin-top: 20rem; }
          #about .inner .about_boxes .about_box:nth-child(2) .about_box_img {
            width: 333rem;
            position: relative;
            left: 50%;
            transform: translateX(-50%);
            margin-top: 30rem; }
          #about .inner .about_boxes .about_box:nth-child(3) .about_box_img {
            width: 378rem;
            position: relative;
            left: -33rem;
            margin-top: 40rem; }

  #float_banner {
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    background: #fff;
    z-index: 100;
    /*translate: 0 100%;*/
    transform: translateY(115%);
    transition: transform 0.3s ease-out;
    will-change: transform;
    z-index: 10; }
    #float_banner.fixed {
      /*translate: none;*/
      transform: translateY(0); }
    #float_banner .inner {
      padding: 20rem 0; }
      #float_banner .inner .btnarea {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center; }
        #float_banner .inner .btnarea a {
          display: block;
          width: 100%;
          line-height: 0; }
        #float_banner .inner .btnarea .mv_btn {
          width: 251rem;
          position: relative;
          margin-right: 45rem; }
          #float_banner .inner .btnarea .mv_btn a {
            font-size: 18rem;
            line-height: 1.5em;
            letter-spacing: 0.03em;
            font-weight: bold;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 13rem 0;
            border-radius: 175rem;
            border: solid 2rem #353535;
            background: url("../img/event/btn_arrow.webp") no-repeat right 22rem center #353535;
            background-size: 9rem;
            filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25));
            transition: 0.3s; }
            #float_banner .inner .btnarea .mv_btn a:hover {
              color: #353535;
              background: url("../img/event/btn_arrow_black.webp") no-repeat right 22rem center #fff;
              background-size: 9rem; }
          #float_banner .inner .btnarea .mv_btn .mv_btn_icon {
            width: 55rem;
            position: absolute;
            top: -40rem;
            left: -21rem;
            filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25)); }
        #float_banner .inner .btnarea .app_btn {
          width: 515rem;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #float_banner .inner .btnarea .app_btn .app {
            width: 233rem;
            display: flex;
            justify-content: space-between;
            align-items: center; }
            #float_banner .inner .btnarea .app_btn .app a {
              width: 164rem;
              pointer-events: none; }
            #float_banner .inner .btnarea .app_btn .app .qrcode {
              width: 60rem; }
          #float_banner .inner .btnarea .app_btn .google {
            width: 264rem;
            display: flex;
            justify-content: space-between;
            align-items: center; }
            #float_banner .inner .btnarea .app_btn .google a {
              width: 196rem;
              pointer-events: none; }
            #float_banner .inner .btnarea .app_btn .google .qrcode {
              width: 58rem; }
        #float_banner .inner .btnarea .open_btn {
          width: 4.65%;
          cursor: pointer; }

  .modal-bg {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    /* モーダル背景色 */
    opacity: 0;
    display: none;
    transition: opacity 0.5s ease !important;
    z-index: 20; }
    .modal-bg.show {
      opacity: 1;
      /* 表示状態 */
      display: block; }

  .modal {
    width: 500px;
    height: auto;
    z-index: 1000;
    position: fixed;
    top: 0;
    right: 0;
    /* 初期状態は画面外 */
    transform: translate(100%, 0);
    transition: transform 0.5s ease;
    /* モーダルが表示されるときのクラス */ }
    .modal.show {
      transform: translate(0, 0);
      /* スライドイン位置 */ }
    .modal .modal-content {
      width: 100%; }
      .modal .modal-content .modal_inner {
        width: 100%;
        max-width: 100%;
        z-index: 12; }
        .modal .modal-content .modal_inner .bg {
          width: 100%;
          box-sizing: border-box;
          background: #00A5B5;
          position: relative; }
          .modal .modal-content .modal_inner .bg .hum_inner {
            width: 348px;
            margin: 0 auto;
            padding: 53px 0 50px; }
            .modal .modal-content .modal_inner .bg .hum_inner .hum_logo {
              width: 214px; }
            .modal .modal-content .modal_inner .bg .hum_inner .hum_btn {
              width: 340px;
              margin: 25px 0 25px;
              display: flex;
              justify-content: space-between;
              flex-wrap: wrap; }
              .modal .modal-content .modal_inner .bg .hum_inner .hum_btn a {
                display: block;
                height: 40px;
                line-height: 36px;
                font-size: 15px;
                font-weight: bold;
                color: #06262D;
                text-align: center;
                box-sizing: border-box;
                border: solid 2px #06262D;
                border-radius: 37px;
                background: #fff; }
                .modal .modal-content .modal_inner .bg .hum_inner .hum_btn a.login {
                  width: 125px; }
                .modal .modal-content .modal_inner .bg .hum_inner .hum_btn a.signin {
                  width: 195px;
                  color: #fff;
                  background: #06262D; }
                .modal .modal-content .modal_inner .bg .hum_inner .hum_btn a.employed {
                  width: 219px;
                  margin-top: 20px; }
            .modal .modal-content .modal_inner .bg .hum_inner ul li {
              font-size: 20px;
              line-height: 2.5em; }
              .modal .modal-content .modal_inner .bg .hum_inner ul li a {
                display: inline-block;
                color: #fff; }
          .modal .modal-content .modal_inner .bg .close_btn {
            width: 35px;
            position: absolute;
            right: 59px;
            top: 56px;
            cursor: pointer; }

  footer {
    margin-top: -96rem;
    padding-bottom: 150rem;
    width: 100%;
    background: #fff; }
    footer .footer_head {
      padding: 231rem 0 135rem; }
      footer .footer_head .footer_menu {
        width: 1016rem;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        footer .footer_head .footer_menu .footer_logo {
          width: 361rem; }
          footer .footer_head .footer_menu .footer_logo a {
            display: block;
            width: 100%; }
        footer .footer_head .footer_menu .footer_nav {
          display: flex;
          justify-content: flex-end; }
          footer .footer_head .footer_menu .footer_nav dl {
            margin-left: 47rem; }
            footer .footer_head .footer_menu .footer_nav dl dt {
              font-size: 15rem;
              letter-spacing: 0.03em;
              line-height: 1.34em;
              font-weight: bold; }
              footer .footer_head .footer_menu .footer_nav dl dt a {
                display: inline-block;
                color: #000; }
            footer .footer_head .footer_menu .footer_nav dl dd {
              margin-top: 9rem; }
              footer .footer_head .footer_menu .footer_nav dl dd a {
                display: inline-block;
                font-size: 15rem;
                letter-spacing: 0.03em;
                line-height: 1.34em;
                color: #000;
                padding-left: 14rem;
                position: relative; }
                footer .footer_head .footer_menu .footer_nav dl dd a::before {
                  position: absolute;
                  content: "";
                  width: 8rem;
                  height: 1rem;
                  left: 0;
                  top: 50%;
                  transform: translateY(-50%);
                  background: #B6B6B6; }
    footer .footer_btm {
      width: 1600rem;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-top: 30rem;
      border-top: solid 1rem #E0E0E0; }
      footer .footer_btm .footer_btm_link {
        display: flex;
        justify-content: flex-start; }
        footer .footer_btm .footer_btm_link li {
          margin-right: 30rem; }
          footer .footer_btm .footer_btm_link li a {
            display: inline-block;
            font-size: 15rem;
            letter-spacing: 0.03em;
            line-height: 1.34em;
            font-weight: bold;
            color: #000; }
      footer .footer_btm .footer_btm_right {
        display: flex;
        justify-content: flex-end;
        align-items: center; }
        footer .footer_btm .footer_btm_right .logo {
          width: 132rem;
          margin-right: 31rem; }
          footer .footer_btm .footer_btm_right .logo a {
            display: block;
            width: 100%; }
        footer .footer_btm .footer_btm_right .sns {
          display: flex;
          justify-content: flex-start; }
          footer .footer_btm .footer_btm_right .sns li {
            margin-right: 9rem; }
            footer .footer_btm .footer_btm_right .sns li a {
              display: block;
              width: 20rem; }
        footer .footer_btm .footer_btm_right .copyright {
          font-size: 13rem;
          letter-spacing: 0.05em;
          line-height: 1.25em;
          font-weight: 500; } }
/* SP */
@media screen and (max-width: 797px) {
  .pconly {
    display: none !important; }

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

  header {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10; }
    header .header_inner {
      width: 345rem;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 10rem 0;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .header_inner .logo {
        width: 99rem; }
      header .header_inner .header_btn {
        display: flex;
        justify-content: flex-end; }
        header .header_inner .header_btn a {
          display: block;
          font-size: 10rem;
          line-height: 1.5em;
          font-weight: bold;
          color: #353535;
          text-align: center;
          box-sizing: border-box;
          padding: 3rem 0 3rem;
          border-radius: 100rem;
          border: solid 1rem #353535;
          background: #fff;
          margin-left: 5rem; }
          header .header_inner .header_btn a.login {
            width: 75rem; }
          header .header_inner .header_btn a.signin {
            width: 120rem;
            color: #fff;
            background: #353535; }

  main {
    overflow: hidden;
    background: #00A7B4; }

  #mv {
    width: 100%;
    position: relative; }
    #mv::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 652rem;
      left: 0;
      top: 0;
      background: url("../img/event/mv_bg_sp.webp") no-repeat center top;
      background-size: 100%; }
    #mv .inner {
      width: 336rem;
      margin: 0 auto;
      position: relative;
      padding: 57rem 0 50rem;
      color: #353535;
      z-index: 2; }
      #mv .inner .mv_cont h1 {
        font-size: 27.92rem;
        letter-spacing: 0;
        line-height: 1.3em;
        font-weight: bold;
        margin-bottom: 14rem; }
        #mv .inner .mv_cont h1 span {
          display: inline-block;
          font-weight: 900; }
      #mv .inner .mv_cont .mv_box {
        margin-bottom: 348rem;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #mv .inner .mv_cont .mv_box .mv_box_txt {
          font-size: 16rem;
          letter-spacing: 0.13em;
          line-height: 1.5em;
          font-weight: bold; }
        #mv .inner .mv_cont .mv_box .mv_box_logo {
          width: 206rem; }
      #mv .inner .mv_cont .btnarea {
        width: 100%;
        padding: 13rem 17rem;
        box-sizing: border-box;
        background: #fff;
        border: solid 1rem #2D2C31;
        border-radius: 15rem;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        position: relative;
        z-index: 3; }
        #mv .inner .mv_cont .btnarea a {
          display: block;
          width: 100%;
          line-height: 0; }
        #mv .inner .mv_cont .btnarea .mv_btn {
          width: 256rem;
          position: relative;
          margin-bottom: 12rem; }
          #mv .inner .mv_cont .btnarea .mv_btn a {
            font-size: 16rem;
            line-height: 1.5em;
            letter-spacing: 0.03em;
            font-weight: bold;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 13rem 0;
            border-radius: 175rem;
            background: url("../img/event/btn_arrow.webp") no-repeat right 18rem center #353535;
            background-size: 8rem;
            filter: drop-shadow(0 3rem 3rem rgba(0, 0, 0, 0.25)); }
          #mv .inner .mv_cont .btnarea .mv_btn .mv_btn_icon {
            width: 43rem;
            position: absolute;
            top: -32rem;
            left: -16rem;
            filter: drop-shadow(0 3rem 3rem rgba(0, 0, 0, 0.25)); }
        #mv .inner .mv_cont .btnarea .app {
          width: 130rem;
          line-height: 0;
          margin-right: 14rem; }
          #mv .inner .mv_cont .btnarea .app a {
            width: 100%; }
        #mv .inner .mv_cont .btnarea .google {
          width: 155rem;
          line-height: 0; }
          #mv .inner .mv_cont .btnarea .google a {
            width: 100%; }
      #mv .inner .mv_img {
        width: 270rem;
        position: absolute;
        left: 30rem;
        top: 197rem; }

  /*共通*/
  .sec_ttl {
    font-size: 28rem;
    line-height: 1.5em;
    font-weight: bold;
    color: #353535;
    text-align: center;
    position: relative; }
    .sec_ttl::before {
      position: absolute;
      content: "";
      width: 112rem;
      height: 4rem;
      bottom: -15rem;
      left: 50%;
      transform: translateX(-50%);
      background: #00A7B4; }

  .signin_btn {
    width: 251rem;
    margin: 0 auto;
    line-height: 0;
    position: relative; }
    .signin_btn a {
      display: block;
      width: 100%;
      font-size: 18rem;
      letter-spacing: 0.03em;
      line-height: 1.5em;
      font-weight: bold;
      color: #fff;
      box-sizing: border-box;
      padding: 22rem 0 22rem 66rem;
      border-radius: 175rem;
      border: solid 2rem #353535;
      background: url("../img/event/btn_arrow.webp") no-repeat right 28rem center #353535;
      background-size: 9rem;
      filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25)); }
    .signin_btn .btn_icon {
      width: 55rem;
      position: absolute;
      top: -40rem;
      left: -21rem;
      filter: drop-shadow(0 4rem 4rem rgba(0, 0, 0, 0.25)); }

  #event {
    position: relative;
    z-index: 2; }
    #event .inner {
      margin: 0 auto 50rem; }
      #event .inner .sec_ttl {
        color: #fff; }
        #event .inner .sec_ttl::before {
          background: #fff; }
      #event .inner .event_slider {
        width: 100%;
        margin: 47rem 0 30rem; }
        #event .inner .event_slider .event_box {
          width: 350rem;
          border-radius: 20rem;
          background: #fff;
          overflow: hidden;
          margin: 0 13rem; }
          #event .inner .event_slider .event_box .event_box_img {
            width: 100%; }
          #event .inner .event_slider .event_box .event_box_textarea {
            color: #000;
            box-sizing: border-box;
            padding: 20rem 25rem; }
            #event .inner .event_slider .event_box .event_box_textarea .event_box_ttl {
              width: 100%;
              /* 2. 複数行の省略（三点リーダー）を表示するための必須セット */
              display: -webkit-box;
              -webkit-box-orient: vertical;
              /* 3. ここで「何行目で止めるか」を指定します */
              -webkit-line-clamp: 3;
              /* 4. 3行目からはみ出た文字を非表示にします */
              overflow: hidden;
              min-height: 72rem;
              font-size: 16rem;
              line-height: 1.5em;
              font-weight: bold;
              margin-bottom: 10rem; }
            #event .inner .event_slider .event_box .event_box_textarea .event_box_txt {
              width: 100%;
              min-height: 67.2rem;
              /* 2. 複数行の省略（三点リーダー）を表示するための必須セット */
              display: -webkit-box;
              -webkit-box-orient: vertical;
              /* 3. ここで「何行目で止めるか」を指定します */
              -webkit-line-clamp: 3;
              /* 4. 3行目からはみ出た文字を非表示にします */
              overflow: hidden;
              font-size: 14rem;
              letter-spacing: 0.03em;
              line-height: 1.6em; }
        #event .inner .event_slider .prev-arrow {
          width: 13rem;
          position: absolute;
          top: 50%;
          left: 17rem;
          transform: translateY(-50%);
          z-index: 10; }
        #event .inner .event_slider .next-arrow {
          width: 13rem;
          position: absolute;
          top: 50%;
          right: 17rem;
          transform: translateY(-50%);
          z-index: 10; }
      #event .inner .event_btn {
        width: 290rem;
        margin: 0 auto; }
        #event .inner .event_btn a {
          display: block;
          width: 100%;
          font-size: 18rem;
          letter-spacing: 0.03em;
          line-height: 1.5em;
          font-weight: bold;
          color: #fff;
          box-sizing: border-box;
          padding: 22rem 0 22rem 38rem;
          border-radius: 175rem;
          border: solid 2rem #353535;
          background: url("../img/event/btn_arrow.webp") no-repeat right 20rem center #353535;
          background-size: 9rem;
          transition: 0.3s; }
          #event .inner .event_btn a:hover {
            color: #353535;
            background: url("../img/event/btn_arrow_black.webp") no-repeat right 20rem center #fff;
            background-size: 9rem; }

  #reason {
    position: relative;
    color: #06262D;
    z-index: 2; }
    #reason .bg {
      background: #FFEE7D; }
    #reason .inner {
      width: 284rem;
      margin: 0 auto;
      padding: 50rem 0;
      position: relative;
      z-index: 3; }
      #reason .inner .reason_boxes {
        margin: 47rem 0 30rem; }
        #reason .inner .reason_boxes .reason_box {
          position: relative; }
          #reason .inner .reason_boxes .reason_box .reason_box_in .num {
            font-size: 50rem;
            line-height: 1.5em;
            font-weight: 600;
            color: #00A7B4;
            margin-bottom: 10rem; }
          #reason .inner .reason_boxes .reason_box .reason_box_in h3 {
            font-size: 27rem;
            line-height: 1.5em;
            font-weight: 900;
            background: #FBDB00;
            margin-bottom: 10rem; }
            #reason .inner .reason_boxes .reason_box .reason_box_in h3 span {
              display: block;
              padding-left: 14rem; }
          #reason .inner .reason_boxes .reason_box .reason_box_in .reason_box_txt {
            font-size: 16rem;
            letter-spacing: 0.03em;
            line-height: 2em;
            font-weight: bold; }
          #reason .inner .reason_boxes .reason_box .reason_box_in .reason_box_img {
            margin: 20rem auto 0; }
          #reason .inner .reason_boxes .reason_box.box01 .reason_box_in .reason_box_img {
            width: 175rem; }
          #reason .inner .reason_boxes .reason_box.box02 {
            margin: 30rem 0 20rem; }
            #reason .inner .reason_boxes .reason_box.box02 .reason_box_in .reason_box_img {
              width: 274rem; }
          #reason .inner .reason_boxes .reason_box.box03 .reason_box_in .reason_box_img {
            width: 299rem;
            position: relative;
            left: 50%;
            transform: translateX(-50%); }

  #attribute {
    position: relative;
    z-index: 1;
    background: #fff; }
    #attribute .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 50rem 0;
      text-align: center; }
      #attribute .inner .attribute_boxes {
        margin: 47rem 0 30rem; }
        #attribute .inner .attribute_boxes .attribute_box {
          box-sizing: border-box;
          padding: 22rem 0;
          border-radius: 20rem;
          background: #F8F8F8; }
          #attribute .inner .attribute_boxes .attribute_box:nth-child(1) {
            margin-bottom: 35rem; }
          #attribute .inner .attribute_boxes .attribute_box h3 {
            font-size: 20rem;
            line-height: 1.5em;
            font-weight: bold;
            color: #00A6B4;
            margin-bottom: 15rem; }
          #attribute .inner .attribute_boxes .attribute_box .attribute_box_img img {
            width: auto;
            height: 219rem; }
      #attribute .inner .causion {
        font-size: 10rem;
        line-height: 1.4em; }

  #voice .bg {
    width: 100%;
    background: #E4F4F4; }
    #voice .bg .inner {
      width: 100%;
      margin: 0 auto;
      padding: 50rem 0;
      position: relative; }
      #voice .bg .inner .voice_boxes {
        margin: 47rem 0 60rem; }
        #voice .bg .inner .voice_boxes .voice_box {
          width: 300rem;
          margin: 0 37.5rem; }
          #voice .bg .inner .voice_boxes .voice_box .voice_box_txt {
            position: relative;
            padding: 30rem 25rem;
            box-sizing: border-box;
            background: #fff;
            border-radius: 10px;
            position: relative; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_txt::before {
              position: absolute;
              content: "";
              width: 0;
              height: 0;
              bottom: -25rem;
              left: 50%;
              transform: translateX(-50%);
              border-style: solid;
              border-right: 17.5rem solid transparent;
              border-left: 17.5rem solid transparent;
              border-top: 30rem solid #ffffff;
              border-bottom: 0; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_txt h3 {
              font-size: 18rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: 900;
              color: #00A7B4;
              margin-bottom: 10rem; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_txt p {
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: bold;
              color: #353535; }
          #voice .bg .inner .voice_boxes .voice_box .voice_box_img {
            text-align: center;
            margin: 45rem auto 0; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_img img {
              width: 148rem;
              margin: 0 auto;
              max-width: 100%; }
            #voice .bg .inner .voice_boxes .voice_box .voice_box_img span {
              display: block;
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: bold;
              margin-top: 15rem; }
        #voice .bg .inner .voice_boxes .slide-dots {
          text-align: center;
          margin-top: 35rem; }
          #voice .bg .inner .voice_boxes .slide-dots li {
            display: inline-block;
            width: 14rem;
            height: 14rem;
            border-radius: 100%;
            background: #fff;
            margin: 0 7.5rem; }
            #voice .bg .inner .voice_boxes .slide-dots li.slick-active {
              background: #00A7B4; }
            #voice .bg .inner .voice_boxes .slide-dots li button {
              display: block;
              width: 100%;
              height: 100%;
              border: none;
              font-size: 0;
              background: none;
              padding: 0; }
        #voice .bg .inner .voice_boxes .prev-arrow {
          width: 13rem;
          position: absolute;
          top: 206rem;
          left: 11rem;
          z-index: 10; }
        #voice .bg .inner .voice_boxes .next-arrow {
          width: 13rem;
          position: absolute;
          top: 206rem;
          right: 11rem;
          z-index: 10; }

  #step {
    position: relative;
    background: #fff; }
    #step .inner {
      width: 285rem;
      margin: 0 auto;
      padding: 50rem 0; }
      #step .inner .step_boxes {
        position: relative;
        margin: 47rem 0 30rem; }
        #step .inner .step_boxes::before {
          position: absolute;
          content: "";
          width: 6rem;
          height: 1621rem;
          top: 33rem;
          left: 31rem;
          background: url("../img/event/step_dot_line_sp.webp") no-repeat center;
          background-size: contain; }
        #step .inner .step_boxes .step_box {
          position: relative;
          z-index: 2;
          color: #353535;
          display: flex;
          justify-content: space-between;
          align-items: flex-start; }
          #step .inner .step_boxes .step_box:nth-child(n+2) {
            margin-top: 70rem; }
          #step .inner .step_boxes .step_box .num {
            width: 68rem;
            height: 68rem;
            font-size: 33rem;
            line-height: 1.5em;
            font-weight: 600;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 10rem 0 8rem;
            border-radius: 100%;
            background: #00A7B4; }
          #step .inner .step_boxes .step_box .step_box_right {
            width: 202rem; }
          #step .inner .step_boxes .step_box h3 {
            font-size: 18rem;
            letter-spacing: 0.03em;
            line-height: 1.6em;
            font-weight: 900; }
          #step .inner .step_boxes .step_box .step_box_txt {
            min-height: 88rem;
            font-size: 14rem;
            letter-spacing: 0.03em;
            line-height: 1.6em;
            font-weight: bold;
            margin: 10rem 0 30rem; }
          #step .inner .step_boxes .step_box:nth-child(1) .step_box_txt, #step .inner .step_boxes .step_box:nth-child(3) .step_box_txt {
            min-height: 66rem; }

  #faq .bg {
    width: 100%;
    background: #F8F8F8; }
    #faq .bg .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 50rem 0;
      position: relative;
      color: #353535; }
      #faq .bg .inner .faq_cont {
        width: 100%;
        margin-top: 63rem; }
        #faq .bg .inner .faq_cont .faq_box {
          background: #fff;
          border-radius: 20rem; }
          #faq .bg .inner .faq_cont .faq_box:nth-child(n+2) {
            margin-top: 20rem; }
          #faq .bg .inner .faq_cont .faq_box .faq_q_txt {
            font-size: 18rem;
            letter-spacing: 0.03em;
            line-height: 1.6em;
            font-weight: 900;
            box-sizing: border-box;
            padding: 35rem 56rem 35rem 30rem;
            position: relative;
            cursor: pointer;
            transition: all 0.3s ease; }
            #faq .bg .inner .faq_cont .faq_box .faq_q_txt::before {
              position: absolute;
              content: "";
              width: 16rem;
              height: 4rem;
              right: 30rem;
              top: 50%;
              transform: translateY(-50%);
              background: #00A5B5; }
            #faq .bg .inner .faq_cont .faq_box .faq_q_txt::after {
              position: absolute;
              content: "";
              width: 16rem;
              height: 4rem;
              right: 30rem;
              top: 50%;
              transform: translateY(-50%) rotate(-90deg);
              background: #00A5B5;
              transition: 0.3s; }
            #faq .bg .inner .faq_cont .faq_box .faq_q_txt.open::after {
              transform: translateY(-50%) rotate(0); }
          #faq .bg .inner .faq_cont .faq_box .faq_a_txt {
            display: none;
            box-sizing: border-box;
            padding: 0 30rem 35rem;
            position: relative; }
            #faq .bg .inner .faq_cont .faq_box .faq_a_txt .faq_a_box .a_txt {
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 1.6em;
              font-weight: bold; }

  #about {
    position: relative;
    z-index: 3; }
    #about .bg {
      background: #FFEE7D; }
    #about .inner {
      width: 308rem;
      margin: 0 auto;
      padding: 50rem 0;
      color: #353535; }
      #about .inner h2 {
        font-size: 35rem;
        letter-spacing: 0.04em;
        line-height: 1.5em;
        color: #00A7B4; }
        #about .inner h2 span {
          font-size: 26rem; }
        #about .inner h2::before {
          display: none !important; }
      #about .inner .about_txt {
        font-size: 14rem;
        line-height: 1.5em;
        font-weight: bold;
        text-align: center;
        margin: 15rem 0 45rem; }
      #about .inner .about_boxes {
        margin-bottom: 30rem; }
        #about .inner .about_boxes .about_box {
          text-align: center;
          box-sizing: border-box;
          padding: 16rem 0 0;
          border-radius: 20rem;
          background: #fff; }
          #about .inner .about_boxes .about_box h3 {
            font-size: 50rem;
            letter-spacing: 0.06em;
            line-height: 1;
            font-weight: bold;
            color: #00A7B4;
            margin-bottom: 20rem; }
            #about .inner .about_boxes .about_box h3 span {
              display: inline-block;
              font-size: 31rem;
              margin-bottom: 17rem; }
          #about .inner .about_boxes .about_box .about_box_txt {
            font-size: 16rem;
            letter-spacing: 0.04em;
            line-height: 1.5em;
            font-weight: bold; }
          #about .inner .about_boxes .about_box:nth-child(1) {
            padding-bottom: 37rem; }
            #about .inner .about_boxes .about_box:nth-child(1) .about_box_img {
              width: 357rem;
              position: relative;
              left: -33rem;
              margin-top: 10rem; }
          #about .inner .about_boxes .about_box:nth-child(2) {
            padding-bottom: 35rem;
            margin: 35rem 0; }
            #about .inner .about_boxes .about_box:nth-child(2) .about_box_img {
              width: 334rem;
              position: relative;
              left: 50%;
              transform: translateX(-50%);
              margin-top: 25rem; }
          #about .inner .about_boxes .about_box:nth-child(3) {
            padding-bottom: 66rem; }
            #about .inner .about_boxes .about_box:nth-child(3) .about_box_img {
              width: 378rem;
              position: relative;
              left: -33rem;
              margin-top: 40rem; }

  #float_banner {
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    background: #fff;
    z-index: 100;
    translate: 0 100%;
    transition: 0.3s;
    z-index: 10; }
    #float_banner.fixed {
      translate: none; }
    #float_banner .inner {
      width: 330rem;
      margin: 0 auto;
      padding: 13rem 0;
      position: relative; }
      #float_banner .inner .btnarea {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-end; }
        #float_banner .inner .btnarea a {
          display: block;
          width: 100%;
          line-height: 0; }
        #float_banner .inner .btnarea .app_btn {
          width: 276rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap;
          position: relative; }
          #float_banner .inner .btnarea .app_btn .app_btn_txt {
            width: 100%;
            font-size: 15rem;
            letter-spacing: 0;
            line-height: 1.3em;
            font-weight: 600;
            text-align: center;
            margin-bottom: 4rem; }
          #float_banner .inner .btnarea .app_btn .app {
            width: 121rem; }
            #float_banner .inner .btnarea .app_btn .app a {
              width: 100%; }
          #float_banner .inner .btnarea .app_btn .google {
            width: 147rem; }
            #float_banner .inner .btnarea .app_btn .google a {
              width: 100%; }
        #float_banner .inner .btnarea .open_btn {
          width: 47rem;
          cursor: pointer;
          padding-bottom: 8rem; }

  .modal-bg {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    /* モーダル背景色 */
    opacity: 0;
    display: none;
    transition: opacity 0.5s ease;
    z-index: 20; }
    .modal-bg.show {
      opacity: 1;
      /* 表示状態 */
      display: block; }

  .modal {
    width: 100%;
    height: auto;
    z-index: 1000;
    position: fixed;
    top: 0;
    right: 0;
    /* 初期状態は画面外 */
    transform: translate(100%, 0);
    transition: transform 0.5s ease;
    /* モーダルが表示されるときのクラス */ }
    .modal.show {
      transform: translate(0, 0);
      /* スライドイン位置 */ }
    .modal .modal-content {
      width: 100%; }
      .modal .modal-content .modal_inner {
        width: 100%;
        max-width: 100%;
        z-index: 12; }
        .modal .modal-content .modal_inner .bg {
          width: 100%;
          box-sizing: border-box;
          background: #00A5B5;
          position: relative; }
          .modal .modal-content .modal_inner .bg .hum_inner {
            width: 333rem;
            margin: 0 auto;
            padding: 49rem 0 32rem;
            position: relative; }
            .modal .modal-content .modal_inner .bg .hum_inner .hum_logo {
              width: 201rem; }
            .modal .modal-content .modal_inner .bg .hum_inner .hum_btn {
              margin: 18rem 0 27rem;
              display: flex;
              justify-content: space-between;
              flex-wrap: wrap; }
              .modal .modal-content .modal_inner .bg .hum_inner .hum_btn a {
                display: block;
                font-size: 16rem;
                line-height: 1.5em;
                font-weight: bold;
                text-align: center;
                box-sizing: border-box;
                padding: 6rem 0;
                border-radius: 5.12vw;
                border: solid 2rem #353535;
                background: #fff; }
                .modal .modal-content .modal_inner .bg .hum_inner .hum_btn a.login {
                  width: 124rem;
                  color: #353535; }
                .modal .modal-content .modal_inner .bg .hum_inner .hum_btn a.signin {
                  width: 201rem;
                  color: #fff;
                  background: #353535; }
            .modal .modal-content .modal_inner .bg .hum_inner ul li {
              font-size: 15rem;
              line-height: 1.2em;
              font-weight: bold; }
              .modal .modal-content .modal_inner .bg .hum_inner ul li:nth-child(n+2) {
                margin-top: 20rem; }
              .modal .modal-content .modal_inner .bg .hum_inner ul li a {
                display: inline-block;
                color: #fff; }
          .modal .modal-content .modal_inner .bg .close_btn {
            width: 29rem;
            position: absolute;
            right: 22rem;
            top: 50rem;
            cursor: pointer; }

  footer {
    width: 100%;
    background: #fff; }
    footer .inner {
      width: 335rem;
      margin: 0 auto;
      padding-bottom: 27.18vw; }
      footer .inner .footer_head {
        padding: 50rem 0 60rem;
        border-bottom: solid 1rem #E1E5E5; }
        footer .inner .footer_head .footer_menu .footer_logo {
          width: 202rem;
          margin: 0 auto 50rem; }
          footer .inner .footer_head .footer_menu .footer_logo a {
            display: block;
            width: 100%; }
        footer .inner .footer_head .footer_menu .footer_nav {
          width: 232rem;
          margin: 0 auto; }
          footer .inner .footer_head .footer_menu .footer_nav dl {
            margin: 0 auto 50rem; }
            footer .inner .footer_head .footer_menu .footer_nav dl dt {
              font-size: 15rem;
              letter-spacing: 0.03em;
              line-height: 1.34em;
              font-weight: bold; }
            footer .inner .footer_head .footer_menu .footer_nav dl dd {
              margin-top: 9rem; }
              footer .inner .footer_head .footer_menu .footer_nav dl dd a {
                display: inline-block;
                font-size: 15rem;
                letter-spacing: 0.03em;
                line-height: 1.34em;
                font-weight: 400;
                color: #000;
                box-sizing: border-box;
                padding-left: 18rem;
                position: relative; }
                footer .inner .footer_head .footer_menu .footer_nav dl dd a::before {
                  position: absolute;
                  content: "";
                  width: 8rem;
                  height: 1rem;
                  left: 0;
                  top: 50%;
                  transform: translateY(-50%);
                  background: #B6B6B6; }
          footer .inner .footer_head .footer_menu .footer_nav ul {
            margin: 0 auto 60rem;
            margin: 0 auto; }
            footer .inner .footer_head .footer_menu .footer_nav ul li {
              font-size: 15rem; }
              footer .inner .footer_head .footer_menu .footer_nav ul li:nth-child(n+2) {
                margin-top: 20rem; }
              footer .inner .footer_head .footer_menu .footer_nav ul li a {
                display: inline-block;
                line-height: 1.34em;
                font-weight: bold;
                color: #000; }
        footer .inner .footer_head .footer_app_btn {
          width: 315rem;
          margin: 0 auto 25rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap; }
          footer .inner .footer_head .footer_app_btn .app_btn_txt {
            width: 100%;
            font-size: 17rem;
            line-height: 1.3em;
            font-weight: 600;
            text-align: center;
            margin-bottom: 5rem; }
          footer .inner .footer_head .footer_app_btn .app_btn a {
            display: block;
            width: 100%; }
          footer .inner .footer_head .footer_app_btn .app_btn.apple {
            width: 139rem; }
          footer .inner .footer_head .footer_app_btn .app_btn.google {
            width: 168rem; }
        footer .inner .footer_head .footer_btn {
          width: 315rem;
          margin: 0 auto; }
          footer .inner .footer_head .footer_btn .btn {
            width: 100%; }
            footer .inner .footer_head .footer_btn .btn a {
              display: block;
              width: 100%;
              font-size: 16rem;
              line-height: 1.5em;
              font-weight: bold;
              text-align: center;
              color: #fff;
              box-sizing: border-box;
              padding: 16rem 0;
              border-radius: 100rem;
              border: solid 2rem #00A5B5;
              background: #00A5B5; }
            footer .inner .footer_head .footer_btn .btn:first-child {
              margin-bottom: 8rem; }
              footer .inner .footer_head .footer_btn .btn:first-child a {
                color: #00A5B5;
                background: #fff; }
      footer .inner .footer_btm {
        padding: 30rem 0; }
        footer .inner .footer_btm .footer_btm_right {
          width: 67.18vw;
          margin: 0 auto;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-wrap: wrap; }
          footer .inner .footer_btm .footer_btm_right .logo {
            width: 132rem;
            margin: 0 auto 30rem;
            line-height: 1; }
            footer .inner .footer_btm .footer_btm_right .logo a {
              display: block;
              width: 100%; }
          footer .inner .footer_btm .footer_btm_right .sns {
            width: 100%;
            display: flex;
            justify-content: center;
            margin-bottom: 30rem; }
            footer .inner .footer_btm .footer_btm_right .sns li {
              width: 20rem;
              margin: 0 5rem; }
              footer .inner .footer_btm .footer_btm_right .sns li a {
                display: block;
                width: 100%;
                line-height: 0; }
          footer .inner .footer_btm .footer_btm_right .copyright {
            font-size: 13rem;
            line-height: 1.23em;
            font-weight: 500; } }

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