@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", sans-serif;
  font-weight: 500;
  -webkit-text-size-adjust: 100%;
  font-size: 20rem;
  color: #2D302B; }

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

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

.font_bold {
  font-weight: 700; }

/* PC */
@media screen and (min-width: 769px) {
  .float {
    position: fixed;
    right: 0;
    bottom: 10rem;
    z-index: 5; }
    .float li {
      border-top-left-radius: 4.6rem;
      border-bottom-left-radius: 4.6rem;
      width: fit-content;
      margin-left: auto;
      margin-top: 5rem;
      overflow: hidden;
      position: relative;
      right: -205rem;
      transition: 0.3s; }
      .float li:hover {
        right: 0;
        transition: 0.3s; }
      .float li.float-check {
        background-color: #5DBA69; }
      .float li.float-reserve {
        background-color: #9F8955; }
      .float li a {
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
        font-size: 20rem;
        column-gap: 1rem;
        height: auto;
        min-height: 13.5rem;
        padding: 11.6rem 0;
        box-sizing: content-box;
        width: 250rem;
        transition: 0.3s; }
        .float li a span {
          width: 200rem;
          text-align: center; }
        .float li a:hover {
          transition: 0.3s; }
        .float li a img {
          width: 23.5rem;
          margin-right: 2rem; }
        .float li a .tel {
          display: block;
          text-align: center;
          width: 100%;
          font-size: 24rem;
          margin-top: 4rem; }

  #thk .thk_head {
    text-align: center;
    padding: 30rem 0 80rem; }
    #thk .thk_head img {
      width: 300rem; }
  #thk .thk_ttl {
    text-align: center;
    font-size: 28rem;
    margin-bottom: 40rem; }
  #thk .thk_txt {
    width: 830rem;
    margin: 0 auto 40rem;
    font-size: 16rem;
    line-height: 1.8em; }
  #thk .thk_btn {
    text-align: center; }
    #thk .thk_btn a {
      display: inline-block;
      color: #fff;
      font-size: 20rem;
      padding: 1em 2em;
      border-radius: 100rem;
      box-sizing: border-box;
      border: 2px #4CAF50 solid;
      background: #4CAF50;
      transition: 0.3s; }
      #thk .thk_btn a:hover {
        cursor: pointer;
        background: #fff;
        color: #4CAF50;
        transition: 0.3s; }

  .overlay {
    display: none;
    /* 初期状態で非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    /* 半透明の黒背景 */
    z-index: 9999;
    justify-content: center;
    align-items: center; }

  /* ポップアップウィンドウ */
  .popup {
    background-color: white;
    padding: 20rem;
    border-radius: 10rem;
    width: 1000rem;
    height: 80vh;
    overflow-y: scroll;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }

  .popup h2 {
    margin-bottom: 20rem;
    font-weight: bold;
    font-size: 20rem; }

  .popup h3 {
    font-size: 18rem;
    margin-bottom: 10rem;
    margin-top: 20rem;
    font-weight: bold; }

  .popup p {
    margin-bottom: 10rem;
    font-size: 14rem;
    line-height: 1.6em; }

  /* 閉じるボタン */
  .close-btn {
    display: block;
    margin: 0 auto;
    background-color: #f44336;
    color: white;
    border: none;
    padding: 10rem 40rem;
    border-radius: 5px;
    cursor: pointer; }

  .close-btn:hover {
    background-color: #d32f2f; }

  /* 開くボタンのスタイル */
  .open-btn {
    padding: 10px 20px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer; }

  .open-btn:hover {
    background-color: #45a049; }

  #result.on {
    position: fixed;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    flex-wrap: wrap;
    background: rgba(0, 0, 0, 0.3);
    z-index: 99;
    display: flex;
    border: solid 6rem #33A33F;
    box-sizing: border-box; }
    #result.on .resultin {
      width: 800rem;
      background: #fff;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      padding: 40rem;
      border-radius: 10rem; }
      #result.on .resultin .img {
        width: 40%; }
      #result.on .resultin .txt {
        text-align: left;
        width: 56%; }
    #result.on p {
      width: 100%;
      font-size: 19rem;
      margin: 0.1em 0; }
      #result.on p .green {
        color: #33A33F; }
      #result.on p .gold {
        color: #9f8955; }
      #result.on p.co {
        margin-top: 0.5em;
        font-size: 16rem; }
        #result.on p.co a {
          display: inline-block;
          width: 230rem;
          padding: 19rem 0;
          text-align: center;
          border-radius: 10rem;
          color: #fff;
          background: url("../img/icon_calendar.png") no-repeat left 18rem center #9f8955;
          background-size: 30rem;
          position: relative; }
          #result.on p.co a:after {
            content: '';
            width: 20rem;
            height: 20rem;
            background: url("../img/icon_arr.png") no-repeat center;
            background-size: contain;
            position: absolute;
            right: 18rem;
            top: 50%;
            transform: translateY(-50%);
            display: block; }
    #result.on #close_result {
      position: absolute;
      left: 50%;
      top: 50%;
      margin-top: -215rem;
      margin-left: 372rem;
      border: none;
      font-size: 40rem;
      width: 55rem;
      height: 55rem;
      background: #fff;
      box-sizing: border-box;
      border: solid 2rem #9f8955;
      line-height: 1;
      color: #9f8955;
      border-radius: 100rem; }

  #result .err {
    display: block;
    text-align: center;
    color: #F21014;
    padding-bottom: 4em;
    font-size: 22rem; }

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

  /* 共通 */
  .bg_01 {
    background: #F3F1E9; }

  .btn01 {
    display: inline-block;
    color: #fff;
    font-size: 35rem;
    text-align: center;
    min-width: 574rem;
    box-sizing: border-box;
    border: solid 4rem #fff;
    background: url("../img/arr_btn.png") no-repeat right 35rem center #EE5853;
    background-size: 40rem;
    padding: 33rem 0;
    border-radius: 100rem; }
    .btn01:hover {
      background-color: #DD1316;
      transition: 0.3s; }

  .ttl_01 {
    font-weight: 700;
    text-align: center;
    font-size: 55rem;
    line-height: 1.4em;
    margin-bottom: 80rem; }

  .ttl_02 {
    font-weight: 700;
    font-size: 55rem;
    line-height: 1.4em;
    margin-bottom: 80rem; }

  .sub_01 {
    text-align: center;
    font-size: 23rem;
    line-height: 2em; }

  /* 共通 */
  header {
    position: fixed;
    z-index: 10;
    top: 26rem;
    width: 100%;
    text-align: right;
    box-sizing: border-box;
    padding-right: 40rem; }
    header .menu {
      display: inline-block;
      border: solid 3rem rgba(0, 0, 0, 0);
      box-sizing: border-box;
      border-radius: 100rem;
      overflow: hidden; }
      header .menu:hover {
        border: solid 3rem #33A33F; }
        header .menu:hover .inner {
          background: #fff;
          width: auto;
          transition: 0.3s; }
          header .menu:hover .inner .menu_btn {
            background-image: url("../img/menu_icon_on.png"); }
          header .menu:hover .inner .menu_list {
            position: relative;
            transition: 1.3s;
            display: flex;
            width: auto;
            height: auto;
            opacity: 1;
            visibility: visible; }
      header .menu .inner {
        display: flex;
        padding: 9rem;
        align-items: center;
        box-sizing: border-box; }
        header .menu .inner .menu_btn {
          order: 2;
          width: 55rem;
          height: 55rem;
          background: url("../img/menu_icon.png") no-repeat center;
          background-size: contain; }
        header .menu .inner .menu_list {
          position: absolute;
          width: 0;
          height: 0;
          opacity: 0;
          visibility: hidden;
          margin: 0 52rem; }
          header .menu .inner .menu_list li {
            font-size: 16rem;
            padding-right: 1em; }
            header .menu .inner .menu_list li:after {
              content: '|';
              margin-left: 1em; }
            header .menu .inner .menu_list li:last-child {
              padding-right: 0; }
              header .menu .inner .menu_list li:last-child:after {
                display: none; }
            header .menu .inner .menu_list li a {
              color: #2E2E2E; }

  #mv {
    position: relative; }
    #mv .mv_badge {
      position: absolute;
      right: 27rem;
      top: 0;
      height: 100vh;
      z-index: 2;
      width: 190rem;
      display: flex;
      align-items: flex-end; }
      #mv .mv_badge a {
        display: block; }
    #mv .sports_mv {
      position: relative; }
      #mv .sports_mv .sports_mv_txt {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2; }
        #mv .sports_mv .sports_mv_txt img {
          height: 1070rem;
          width: auto; }
    #mv img {
      display: block; }
    #mv .mv_btn {
      position: absolute;
      width: 166rem;
      right: 27rem;
      bottom: -77rem;
      z-index: 2; }
      #mv .mv_btn a {
        display: block; }

  #onayami {
    padding: 95rem 0;
    position: relative; }
    #onayami .onayami_img {
      position: absolute;
      right: 32rem;
      bottom: -140rem;
      width: 750rem;
      z-index: 3; }
    #onayami .onayami_img2 {
      position: absolute;
      left: 108rem;
      bottom: -140rem;
      width: 1245rem;
      z-index: 3; }
    #onayami .onayami_inner .onayami_ttl {
      text-align: center;
      font-size: 55rem;
      font-weight: 700;
      margin-bottom: 100rem; }
      #onayami .onayami_inner .onayami_ttl span {
        font-size: 74rem;
        position: relative;
        display: inline-block;
        margin: 0 3rem; }
        #onayami .onayami_inner .onayami_ttl span:before {
          content: '';
          display: block;
          position: absolute;
          left: -18rem;
          top: -13rem;
          width: 27rem;
          height: 28rem;
          background: url("../img/icon_onayami_01.png") no-repeat center;
          background-size: contain; }
        #onayami .onayami_inner .onayami_ttl span:after {
          content: '';
          display: block;
          position: absolute;
          right: -10rem;
          top: -10rem;
          width: 28rem;
          height: 29rem;
          background: url("../img/icon_onayami_02.png") no-repeat center;
          background-size: contain; }
    #onayami .onayami_inner .onayami_boxes {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 1450rem;
      margin: 0 auto; }
      #onayami .onayami_inner .onayami_boxes.sport {
        padding-bottom: 180rem; }
        #onayami .onayami_inner .onayami_boxes.sport .onayami_box {
          padding-bottom: 53rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box .onayami_box_ttl {
            margin-bottom: 0; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(1) .onayami_box_icon {
            width: 164rem;
            top: -75rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(2) .onayami_box_icon {
            width: 563rem;
            top: -60rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(3) .onayami_box_icon {
            width: 413rem;
            top: -65rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(4) .onayami_box_icon {
            width: 255rem;
            top: -40rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(5) .onayami_box_icon {
            width: 463rem;
            top: -30rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(6) .onayami_box_icon {
            width: 350rem;
            top: -70rem; }
      #onayami .onayami_inner .onayami_boxes .onayami_box {
        height: 470rem;
        position: relative;
        border-radius: 20rem;
        background: #fff;
        width: 48%;
        text-align: center;
        margin-bottom: 30rem;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        padding-bottom: 74rem;
        box-sizing: border-box; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c01 {
          position: absolute;
          width: 19rem;
          left: 16rem;
          top: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c02 {
          position: absolute;
          width: 19rem;
          right: 16rem;
          top: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c03 {
          position: absolute;
          width: 19rem;
          left: 16rem;
          bottom: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c04 {
          position: absolute;
          width: 19rem;
          right: 16rem;
          bottom: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_txt {
          font-size: 20rem;
          line-height: 2em;
          font-weight: 700; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_ttl {
          font-size: 46rem;
          font-weight: 700;
          line-height: 1.5em;
          margin-bottom: 26rem; }
          #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_ttl strong {
            color: #AC9539; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_icon {
          position: absolute;
          left: 50%;
          transform: translateX(-50%); }
        #onayami .onayami_inner .onayami_boxes .onayami_box:before {
          content: '';
          display: block;
          width: 168rem;
          height: 178rem;
          background: url("../img/onayami_line_01.png") no-repeat center;
          background-size: contain;
          position: absolute;
          right: -90rem;
          top: 40%; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(1) .onayami_box_icon {
          width: 100rem;
          top: -70rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(2) .onayami_box_icon {
          width: 285rem;
          top: -70rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(3) .onayami_box_icon {
          width: 230rem;
          top: -75rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(4) .onayami_box_icon {
          width: 315rem;
          top: -40rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(5) .onayami_box_icon {
          width: 275rem;
          top: -80rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(2n) {
          margin-top: 80rem; }
          #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(2n):before {
            content: '';
            display: block;
            width: 168rem;
            height: 178rem;
            background: url("../img/onayami_line_02.png") no-repeat center;
            background-size: contain;
            position: absolute;
            left: -90rem;
            right: auto;
            top: auto;
            bottom: -80rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:last-child:before {
          display: none; }

  #check {
    position: relative;
    padding: 200rem 0 100rem; }
    #check .check_memo {
      width: 1120rem;
      margin: 60rem auto 0; }
    #check:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 88rem;
      background: url("../img/wave_01.png") no-repeat left 64% top;
      background-size: cover; }
    #check .check_inner {
      width: 1135rem;
      margin: 0 auto; }
      #check .check_inner .check_head {
        display: flex;
        align-items: center; }
        #check .check_inner .check_head .check_head_left {
          color: #fff;
          background: #33A33F;
          border-radius: 10rem 10rem 0 0;
          font-size: 27rem;
          padding: 10rem 23rem; }
        #check .check_inner .check_head .check_head_right {
          font-size: 25rem;
          margin-left: 15rem; }
      #check .check_inner .check_body {
        box-sizing: border-box;
        border: solid 6rem #33A33F;
        border-radius: 0 20rem 20rem 20rem;
        box-sizing: border-box;
        text-align: center;
        padding: 60rem 0; }
        #check .check_inner .check_body .txt {
          font-size: 23rem;
          line-height: 2em;
          margin-bottom: 40rem; }
        #check .check_inner .check_body .check_body_sub {
          text-align: center; }
          #check .check_inner .check_body .check_body_sub input[type="submit"] {
            display: inline-block;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            color: #fff;
            font-size: 19rem;
            background: url("../img/arr_btn.png") no-repeat center right 20rem #34A23F;
            background-size: 22rem;
            padding: 12rem 0;
            width: 320rem;
            border: solid 2px #34A23F; }
            #check .check_inner .check_body .check_body_sub input[type="submit"]:hover {
              background-color: #09500A;
              cursor: pointer;
              border: solid 2px #09500A;
              transition: 0.3s; }
        #check .check_inner .check_body table {
          width: 466rem;
          margin: 0 auto 43rem; }
          #check .check_inner .check_body table tr th {
            width: 104rem;
            line-height: 1.2em; }
            #check .check_inner .check_body table tr th p {
              color: #fff;
              text-align: center;
              vertical-align: middle;
              background: #33A33F;
              border-radius: 100rem;
              padding: 5rem 0; }
          #check .check_inner .check_body table tr td {
            font-size: 18rem;
            text-align: left;
            padding: 16rem 0 16rem 38rem; }
            #check .check_inner .check_body table tr td input[type="text"] {
              border: solid 1px #D6D6D6;
              box-sizing: border-box;
              font-size: 18rem;
              padding: 2rem;
              margin-right: 4rem;
              border-radius: 4rem; }
            #check .check_inner .check_body table tr td input[type="radio"] {
              display: none; }
            #check .check_inner .check_body table tr td select {
              border: solid 1px #D6D6D6;
              box-sizing: border-box;
              border-radius: 4rem;
              font-size: 16rem; }
            #check .check_inner .check_body table tr td label {
              display: inline-block;
              background: url("../img/icon_check_03.png") no-repeat center left;
              background-size: contain;
              padding-left: 27rem;
              margin-right: 10rem; }
            #check .check_inner .check_body table tr td input[type="radio"]:checked + label {
              background-image: url("../img/icon_check_04.png"); }
            #check .check_inner .check_body table tr td .w4 {
              width: 4em; }
            #check .check_inner .check_body table tr td .w2 {
              width: 3em; }

  #what {
    position: relative;
    padding: 0 0 200rem; }
    #what .mori {
      position: absolute;
      width: 548rem;
      left: 26rem;
      bottom: -91rem;
      display: block;
      z-index: 4; }
      #what .mori img {
        width: 100%; }
    #what .what_head {
      position: relative;
      z-index: 1; }
      #what .what_head .what_head_img {
        position: relative;
        z-index: 1; }
        #what .what_head .what_head_img img {
          width: 100%;
          display: block; }
      #what .what_head .what_head_fukidashi {
        position: absolute;
        width: 406rem;
        left: 179rem;
        top: 64rem;
        z-index: 2; }
    #what .what_body {
      display: flex;
      justify-content: space-between;
      margin: -90rem auto 0;
      width: 1450rem;
      position: relative;
      z-index: 2; }
      #what .what_body .what_body_left {
        width: 648rem;
        box-sizing: border-box;
        background: #fff;
        border-radius: 10rem;
        padding: 15rem; }
      #what .what_body .what_body_right {
        padding-top: 140rem;
        width: 727rem;
        font-size: 23rem;
        line-height: 2em; }
        #what .what_body .what_body_right span {
          font-size: 15rem; }
        #what .what_body .what_body_right strong {
          background: #FDF877; }
    #what .what_txt {
      background: url("../img/what_bg.png") no-repeat center;
      background-size: cover;
      width: 960rem;
      margin: 37rem auto 0;
      text-align: center;
      padding: 39rem 0 45rem; }
      #what .what_txt .what_txt_ttl {
        background: url("../img/what_ttl_bg.png") no-repeat center bottom;
        background-size: contain;
        font-size: 23rem;
        display: inline-block;
        padding-bottom: 30rem;
        margin-bottom: 45rem; }
        #what .what_txt .what_txt_ttl span {
          font-size: 43rem; }
      #what .what_txt .what_txt_list {
        display: inline-block;
        text-align: left;
        padding-bottom: 40rem; }
        #what .what_txt .what_txt_list li {
          font-size: 31rem;
          margin-bottom: 1em;
          background: url("../img/what_icon.png") no-repeat center left;
          background-size: 30rem;
          padding-left: 37rem; }
          #what .what_txt .what_txt_list li span {
            font-size: 23rem; }
      #what .what_txt .txt {
        font-size: 23rem;
        line-height: 2em; }

  #feature {
    padding-bottom: 80rem;
    padding-top: 180rem;
    position: relative; }
    #feature .person {
      width: 568rem;
      position: absolute;
      right: 128rem;
      top: -90rem; }
    #feature:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 88rem;
      background: url("../img/wave_02.png") no-repeat left 19% top;
      background-size: cover; }
    #feature .feature_inner .fea {
      width: 1450rem;
      margin: 0 auto 100rem; }
      #feature .feature_inner .fea .fea_sub {
        font-size: 23rem; }
      #feature .feature_inner .fea .fea_boxes {
        display: flex;
        justify-content: space-between; }
        #feature .feature_inner .fea .fea_boxes .fea_box {
          width: 31%; }
    #feature .feature_inner .treat {
      width: 1450rem;
      margin: 0 auto; }
      #feature .feature_inner .treat .ttl_01 {
        margin-bottom: 22rem; }
      #feature .feature_inner .treat .sub_01 {
        margin-bottom: 60rem; }
      #feature .feature_inner .treat .treat_boxes {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; }
        #feature .feature_inner .treat .treat_boxes .treat_box {
          width: 49%;
          margin-bottom: 30rem;
          display: flex;
          align-items: center;
          justify-content: center; }
          #feature .feature_inner .treat .treat_boxes .treat_box:nth-child(2) {
            margin-top: 230rem;
            margin-bottom: 80rem; }
          #feature .feature_inner .treat .treat_boxes .treat_box:nth-child(1) {
            margin-right: 2%;
            margin-bottom: 80rem; }
          #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt {
            text-align: center; }
            #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt .txt img {
              width: 499rem; }
            #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt .treat_box_btn {
              margin: 28rem 0 22rem; }
            #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt .sub {
              font-size: 23rem;
              line-height: 2em; }

  #flow {
    padding: 200rem 0;
    position: relative; }
    #flow:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 88rem;
      background: url("../img/wave_01.png") no-repeat left 64% top;
      background-size: cover; }
    #flow .flow_img {
      width: 1157rem;
      margin: 0 auto; }
    #flow .mori {
      position: absolute;
      width: 548rem;
      left: 26rem;
      bottom: -91rem;
      display: block;
      z-index: 4; }
      #flow .mori img {
        width: 100%; }

  #info {
    padding-top: 200rem;
    position: relative; }
    #info:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 88rem;
      background: url("../img/wave_02.png") no-repeat left 19% top;
      background-size: cover; }
    #info .info_gallery img {
      display: block; }
    #info .info_inner {
      width: 1200rem;
      margin: 0 auto 75rem; }
      #info .info_inner .info_box {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #info .info_inner .info_box .info_box_left {
          width: 42%; }
        #info .info_inner .info_box .info_box_right {
          width: 54%;
          padding-top: 20rem; }
          #info .info_inner .info_box .info_box_right .posi {
            margin-bottom: 10rem;
            color: #AC9539;
            font-size: 20rem;
            font-weight: 700; }
          #info .info_inner .info_box .info_box_right .name {
            margin-bottom: 20rem;
            font-size: 35rem;
            font-weight: 700; }
            #info .info_inner .info_box .info_box_right .name span {
              display: inline-block;
              margin-left: 15rem;
              font-size: 19rem;
              font-weight: 500; }
          #info .info_inner .info_box .info_box_right .txt {
            font-size: 20rem;
            line-height: 1.8em; }
        #info .info_inner .info_box .info_box_btm {
          width: 100%;
          margin-top: 60rem;
          margin-bottom: 80rem;
          display: flex;
          justify-content: space-between; }
          #info .info_inner .info_box .info_box_btm .info_box_btm_box {
            max-width: 400rem; }
            #info .info_inner .info_box .info_box_btm .info_box_btm_box .info_box_btm_ttl {
              margin-bottom: 15rem;
              font-weight: 700;
              font-size: 25rem;
              color: #AC9539;
              border-left: solid 4rem #AC9539;
              padding: 10rem 0 10rem 15rem; }
            #info .info_inner .info_box .info_box_btm .info_box_btm_box .list li {
              font-size: 18rem;
              line-height: 1.5em;
              margin-bottom: 3rem; }
            #info .info_inner .info_box .info_box_btm .info_box_btm_box dl {
              display: flex;
              justify-content: space-between;
              flex-wrap: wrap;
              font-size: 18rem;
              line-height: 1.5em; }
              #info .info_inner .info_box .info_box_btm .info_box_btm_box dl dt {
                width: 25%;
                margin-bottom: 3rem; }
              #info .info_inner .info_box .info_box_btm .info_box_btm_box dl dd {
                width: 75%;
                margin-bottom: 3rem; }
      #info .info_inner .info_frame {
        background: #fff;
        border-radius: 20rem;
        -webkit-border-radius: 20rem;
        -moz-border-radius: 20rem;
        position: relative;
        padding: 25rem 60rem 50rem;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #info .info_inner .info_frame .ball {
          width: 19rem;
          height: 19rem;
          background: url("../img/circle_02.png") no-repeat center;
          background-size: contain; }
          #info .info_inner .info_frame .ball.ball1 {
            position: absolute;
            left: 20rem;
            top: 20rem; }
          #info .info_inner .info_frame .ball.ball2 {
            position: absolute;
            right: 20rem;
            top: 20rem; }
          #info .info_inner .info_frame .ball.ball3 {
            position: absolute;
            left: 20rem;
            bottom: 20rem; }
          #info .info_inner .info_frame .ball.ball4 {
            position: absolute;
            right: 20rem;
            bottom: 20rem; }
        #info .info_inner .info_frame .info_frame_logo {
          text-align: center;
          margin-bottom: 20rem;
          width: 100%; }
          #info .info_inner .info_frame .info_frame_logo img {
            width: 470rem; }
        #info .info_inner .info_frame .info_frame_left {
          width: 48%;
          border-radius: 10rem;
          -webkit-border-radius: 10rem;
          -moz-border-radius: 10rem;
          overflow: hidden; }
          #info .info_inner .info_frame .info_frame_left iframe {
            width: 100%;
            height: 100%;
            display: block; }
        #info .info_inner .info_frame .info_frame_right {
          width: 48%; }
          #info .info_inner .info_frame .info_frame_right .ttl {
            font-size: 18rem;
            font-weight: 700;
            line-height: 1.5em; }
          #info .info_inner .info_frame .info_frame_right .txt {
            font-size: 16rem;
            line-height: 1.5em;
            margin-bottom: 15rem;
            margin-bottom: 1em; }
          #info .info_inner .info_frame .info_frame_right .info_frame_time {
            padding-top: 10rem;
            padding-bottom: 10rem; }

  #faq {
    padding: 120rem 0; }
    #faq .faq_inner {
      width: 1200rem;
      margin: 0 auto; }
      #faq .faq_inner .faq_head {
        display: flex;
        justify-content: space-between; }
        #faq .faq_inner .faq_head .faq_la {
          width: 32.5%;
          font-size: 24rem;
          padding: 28rem 0;
          text-align: center;
          color: #AC9539;
          font-weight: 700;
          box-sizing: border-box;
          border: solid 4px #F3F1E9;
          border-bottom: none; }
        #faq .faq_inner .faq_head .faq_ch {
          display: none; }
        #faq .faq_inner .faq_head .faq_ch:checked + .faq_la {
          background: #F3F1E9;
          border-radius: 20rem 20rem 0 0;
          transition: 0.3s;
          color: #2D302B; }
      #faq .faq_inner .faq_body {
        background: #F3F1E9;
        box-sizing: border-box;
        padding: 70rem 95rem;
        border-radius: 0 0 20rem 20rem; }
        #faq .faq_inner .faq_body .faq_body_box .faq_body_frame {
          margin-bottom: 15rem;
          background: #fff;
          border-radius: 10rem; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_ch {
            display: none; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_ch:checked + .faq_body_frame_la:after {
            transform: translateY(-50%) rotate(45deg);
            transition: 0.3s; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_ch:checked + .faq_body_frame_la + .faq_body_frame_txt {
            height: auto;
            visibility: visible;
            padding: 0 28rem 28rem 75rem; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_la {
            display: block;
            font-weight: 700;
            font-size: 22rem;
            line-height: 1.3em;
            padding: 28rem 75rem 28rem 75rem;
            position: relative; }
            #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_la:before {
              content: 'Q';
              font-weight: 700;
              color: #AC9539;
              font-size: 35rem;
              position: absolute;
              left: 30rem;
              top: 50%;
              transform: translateY(-50%); }
            #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_la:after {
              content: '＋';
              color: #AC9539;
              font-size: 35rem;
              position: absolute;
              right: 30rem;
              top: 50%;
              transform: translateY(-50%);
              transition: 0.3s; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_txt {
            box-sizing: border-box;
            padding: 0 28rem 0 75rem;
            position: relative;
            font-size: 14rem;
            line-height: 2em;
            height: 0;
            visibility: hidden; }
            #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_txt:before {
              content: 'A';
              font-weight: 700;
              color: #889F86;
              font-size: 35rem;
              position: absolute;
              left: 30rem;
              top: -10rem; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame:last-child {
            margin-bottom: 0; }

  #contact {
    padding: 120rem 0; }
    #contact .wpcf7-turnstile {
      display: none !important; }
    #contact .cf-turnstile {
      text-align: center; }
    #contact .contact_table {
      width: 1200rem;
      margin: 0 auto; }
      #contact .contact_table table {
        width: 100%; }
        #contact .contact_table table ::placeholder {
          color: #E2E2E2; }
        #contact .contact_table table tr th {
          font-size: 26rem;
          text-align: left;
          vertical-align: top;
          width: 29%;
          padding-left: 110rem;
          padding-top: 32rem;
          padding-bottom: 28rem;
          background: url("../img/icon_contact_02.png") no-repeat left top 27rem;
          background-size: 90rem; }
          #contact .contact_table table tr th.req {
            background-image: url("../img/icon_contact_01.png"); }
        #contact .contact_table table tr td {
          font-size: 26rem;
          width: 71%;
          padding: 15rem 0; }
          #contact .contact_table table tr td dl {
            padding: 20rem 0; }
            #contact .contact_table table tr td dl dt {
              margin-bottom: 20rem; }
            #contact .contact_table table tr td dl dd {
              margin: 15rem 0;
              font-size: 24rem;
              line-height: 2.4em; }
              #contact .contact_table table tr td dl dd input[type="date"],
              #contact .contact_table table tr td dl dd .wpcf7-date {
                font-size: 23rem;
                width: 10em !important;
                background: #fff;
                border-radius: 100rem;
                -webkit-border-radius: 100rem;
                -moz-border-radius: 100rem;
                border: none;
                box-sizing: border-box;
                padding: 12rem 20rem; }
              #contact .contact_table table tr td dl dd select {
                font-size: 23rem;
                width: 7em;
                background: #fff;
                border-radius: 100rem;
                -webkit-border-radius: 100rem;
                -moz-border-radius: 100rem;
                border: none;
                box-sizing: border-box;
                padding: 12rem 20rem;
                -webkit-appearance: none;
                appearance: none; }
          #contact .contact_table table tr td input[type="text"] {
            font-size: 26rem;
            width: 100%;
            background: #fff;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            border: none;
            box-sizing: border-box;
            padding: 19rem 30rem; }
          #contact .contact_table table tr td input[type="email"] {
            font-size: 26rem;
            width: 100%;
            background: #fff;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            border: none;
            box-sizing: border-box;
            padding: 19rem 30rem; }
          #contact .contact_table table tr td input[type="tel"] {
            font-size: 26rem;
            width: 100%;
            background: #fff;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            border: none;
            box-sizing: border-box;
            padding: 19rem 30rem; }
          #contact .contact_table table tr td textarea {
            font-size: 26rem;
            width: 100%;
            background: #fff;
            border-radius: 40rem;
            -webkit-border-radius: 40rem;
            -moz-border-radius: 40rem;
            border: none;
            box-sizing: border-box;
            padding: 30rem;
            height: 390rem;
            resize: none; }
    #contact .pp {
      text-align: center;
      padding: 30rem 0 50rem; }
      #contact .pp p {
        display: flex;
        justify-content: center;
        align-items: center; }
      #contact .pp input[type="checkbox"] {
        display: none; }
      #contact .pp input[type="checkbox"]:checked + .wpcf7-list-item-label {
        background-image: url("../img/icon_check_02.png"); }
      #contact .pp .wpcf7-list-item-label {
        display: inline-block;
        background: url("../img/icon_check_01.png") no-repeat center left;
        background-size: contain;
        padding: 16rem 0 16rem 140rem;
        position: relative;
        font-size: 0; }
        #contact .pp .wpcf7-list-item-label:before {
          content: '';
          display: block;
          width: 90rem;
          height: 32rem;
          background: url("../img/icon_contact_01.png") no-repeat center;
          background-size: contain;
          position: absolute;
          left: 45rem;
          top: 50%;
          transform: translateY(-50%); }
      #contact .pp span#openPopupBtn {
        text-decoration: underline;
        color: #2D302B; }
        #contact .pp span#openPopupBtn:hover {
          text-decoration: none; }
      #contact .pp .pptxt {
        position: relative; }
    #contact .send {
      text-align: center; }
      #contact .send .wpcf7-spinner {
        display: none; }
      #contact .send input[type="submit"] {
        display: inline-block;
        border: solid 4rem #fff;
        box-sizing: border-box;
        color: #fff;
        font-weight: 700;
        text-align: center;
        background: url("../img/arr_btn.png") no-repeat right 35rem center #EE5853;
        background-size: 40rem;
        font-size: 35rem;
        padding: 30rem 0;
        width: 570rem;
        border-radius: 100rem;
        -webkit-border-radius: 100rem;
        -moz-border-radius: 100rem; }
        #contact .send input[type="submit"]:hover {
          background-color: #8D0406;
          cursor: pointer; }

  footer {
    text-align: center;
    padding: 50rem 0; }
    footer #copy {
      font-size: 15rem; }

  .sponly {
    display: none !important; } }
/* SP */
@media screen and (max-width: 768px) {
  .float {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 5;
    width: 100%;
    border-radius: 15rem 15rem 0 0;
    overflow: hidden;
    display: flex; }
    .float li {
      width: 50%; }
      .float li.float-check {
        background-color: #5DBA69; }
      .float li.float-reserve {
        background-color: #9F8955; }
      .float li a {
        width: 100%;
        height: 105rem;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
        font-size: 30rem;
        column-gap: 1rem;
        letter-spacing: 0.05em;
        transition: 0.3s; }
        .float li a img {
          width: 34.5rem;
          margin-right: 5rem; }
        .float li a .tel {
          display: block;
          text-align: center;
          width: 100%;
          margin-top: 4rem; }

  #thk {
    padding-bottom: 15vw; }
    #thk .thk_head {
      text-align: center;
      padding: 10vw 0 15vw; }
      #thk .thk_head img {
        width: 65%; }
    #thk .thk_ttl {
      text-align: center;
      font-size: 7vw;
      margin-bottom: 5vw; }
    #thk .thk_txt {
      width: 88%;
      margin: 0 auto 5vw;
      font-size: 3.7vw;
      line-height: 1.8em; }
    #thk .thk_btn {
      text-align: center; }
      #thk .thk_btn a {
        display: inline-block;
        color: #fff;
        font-size: 5vw;
        padding: 1em 2em;
        border-radius: 100rem;
        box-sizing: border-box;
        border: 2px #4CAF50 solid;
        background: #4CAF50;
        transition: 0.3s; }
        #thk .thk_btn a:hover {
          cursor: pointer;
          background: #fff;
          color: #4CAF50;
          transition: 0.3s; }

  .overlay {
    display: none;
    /* 初期状態で非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    /* 半透明の黒背景 */
    z-index: 9999;
    justify-content: center;
    align-items: center; }

  /* ポップアップウィンドウ */
  .popup {
    background-color: white;
    padding: 40rem 30rem;
    border-radius: 10rem;
    width: 85%;
    height: 80vh;
    overflow-y: scroll;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }

  .popup h2 {
    margin-bottom: 20rem;
    font-weight: bold;
    font-size: 40rem; }

  .popup h3 {
    font-size: 36rem;
    margin-bottom: 10rem;
    margin-top: 40rem;
    font-weight: bold; }

  .popup p {
    margin-bottom: 10rem;
    font-size: 24rem;
    line-height: 1.6em; }

  /* 閉じるボタン */
  .close-btn {
    display: block;
    margin: 0 auto;
    background-color: #f44336;
    color: white;
    border: none;
    padding: 10rem 40rem;
    border-radius: 5px;
    cursor: pointer; }

  .close-btn:hover {
    background-color: #d32f2f; }

  /* 開くボタンのスタイル */
  .open-btn {
    padding: 10px 20px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer; }

  .open-btn:hover {
    background-color: #45a049; }

  #result.on {
    position: fixed;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    flex-wrap: wrap;
    background: rgba(0, 0, 0, 0.3);
    z-index: 99;
    display: flex;
    border: solid 6rem #33A33F;
    box-sizing: border-box; }
    #result.on .resultin {
      width: 90vw;
      background: #fff;
      box-sizing: border-box;
      padding: 5vw;
      border-radius: 10rem; }
      #result.on .resultin .img {
        width: 100%;
        margin-bottom: 5vw; }
      #result.on .resultin .txt {
        text-align: center;
        width: 100%; }
    #result.on p {
      width: 100%;
      font-size: 26rem;
      margin: 0.9em 0;
      box-sizing: border-box;
      padding: 0 70rem;
      text-align: left;
      display: inline-block; }
      #result.on p.cen {
        padding: 0;
        text-align: center; }
      #result.on p .green {
        color: #33A33F; }
      #result.on p .gold {
        color: #9f8955; }
      #result.on p.co {
        padding: 0;
        margin-top: 1.5em;
        font-size: 29rem;
        text-align: center; }
        #result.on p.co a {
          display: inline-block;
          width: 95%;
          padding: 46rem 0;
          text-align: center;
          border-radius: 10rem;
          color: #fff;
          background: url(../img/icon_calendar.png) no-repeat left 102rem center #9f8955;
          background-size: 57rem;
          position: relative; }
          #result.on p.co a:after {
            content: '';
            width: 37rem;
            height: 37rem;
            background: url(../img/icon_arr.png) no-repeat center;
            background-size: contain;
            position: absolute;
            right: 34rem;
            top: 51%;
            transform: translateY(-50%);
            display: block; }
    #result.on #close_result {
      position: absolute;
      left: 50%;
      top: 50%;
      margin-top: -672rem;
      margin-left: 289rem;
      border: none;
      font-size: 60rem;
      background: #fff;
      box-sizing: border-box;
      border: solid 2rem #9f8955;
      line-height: 1;
      color: #9f8955;
      border-radius: 100rem;
      z-index: 2;
      width: 70rem;
      height: 70rem; }

  #result .err {
    display: block;
    text-align: center;
    color: #F21014;
    padding-bottom: 4em;
    font-size: 4vw; }

  .pconly {
    display: none !important; }

  .anclink {
    padding-top: 140rem;
    margin-top: -140rem; }

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

  /* 共通 */
  .bg_01 {
    background: #F3F1E9; }

  .btn01 {
    display: inline-block;
    color: #fff;
    font-size: 35rem;
    text-align: center;
    min-width: 574rem;
    box-sizing: border-box;
    border: solid 4rem #fff;
    background: url("../img/arr_btn.png") no-repeat right 35rem center #EE5853;
    background-size: 40rem;
    padding: 33rem 0;
    border-radius: 100rem; }
    .btn01:hover {
      background-color: #DD1316;
      transition: 0.3s; }

  .ttl_01 {
    font-weight: 700;
    text-align: center;
    font-size: 55rem;
    line-height: 1.4em;
    margin-bottom: 80rem; }

  .ttl_02 {
    font-weight: 700;
    font-size: 55rem;
    line-height: 1.4em;
    margin-bottom: 80rem;
    text-align: center; }

  .sub_01 {
    text-align: center;
    font-size: 23rem;
    line-height: 2em; }

  /* 共通 */
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background: rgba(243, 241, 233, 0.9);
    z-index: 10;
    padding: 25rem 23rem; }
    header .logo {
      width: 467rem; }
    header .ch {
      display: none; }
    header .la {
      position: absolute;
      width: 90rem;
      right: 35rem;
      top: 25rem;
      display: block;
      height: 90rem;
      background: url("../img/menu_icon.png") no-repeat center;
      background-size: contain;
      z-index: 5; }
    header .ch:checked + .la {
      background-image: url("../img/menu_icon_on.png"); }
    header .ch:checked + .la + .menu_list {
      left: 0;
      transition: 0.3s; }
    header .menu_list {
      width: 100%;
      background: #32A43F;
      position: absolute;
      left: 100vw;
      top: 131rem;
      box-sizing: border-box;
      padding: 40rem; }
      header .menu_list li {
        border-bottom: dotted 1px #fff; }
        header .menu_list li:last-child {
          border: none; }
        header .menu_list li a {
          color: #fff;
          display: block;
          font-size: 35rem;
          padding: 30rem 0; }

  #mv {
    position: relative; }
    #mv .mv_badge {
      position: absolute;
      right: 54rem;
      top: 738rem;
      z-index: 2;
      width: 231rem; }
      #mv .mv_badge a {
        display: block; }
    #mv img {
      display: block; }
    #mv .mv_btn {
      position: absolute;
      right: 38rem;
      top: 980rem;
      width: 256rem;
      z-index: 3; }
    #mv .mv_sp {
      position: relative;
      background: #F3F1E9; }
      #mv .mv_sp .mv_sp_txt {
        width: 100%;
        padding: 0 69rem;
        padding-bottom: 20rem;
        position: relative;
        box-sizing: border-box; }
        #mv .mv_sp .mv_sp_txt img {
          margin-top: -190rem;
          position: relative;
          z-index: 2; }
        #mv .mv_sp .mv_sp_txt:before {
          content: '';
          display: block;
          width: 100vw;
          height: 173rem;
          background: url("../img/mv_bg.png") no-repeat center top;
          background-size: cover;
          position: absolute;
          top: 20rem;
          z-index: 1;
          left: 0; }
        #mv .mv_sp .mv_sp_txt img {
          width: 591rem; }

  #onayami {
    padding: 95rem 0 0;
    position: relative; }
    #onayami .onayami_inner .onayami_ttl {
      text-align: center;
      font-size: 55rem;
      font-weight: 700;
      margin-bottom: 100rem;
      line-height: 1.8em; }
      #onayami .onayami_inner .onayami_ttl span {
        font-size: 74rem;
        position: relative;
        display: inline-block;
        margin: 0 3rem; }
        #onayami .onayami_inner .onayami_ttl span:before {
          content: '';
          display: block;
          position: absolute;
          left: -18rem;
          top: -13rem;
          width: 27rem;
          height: 28rem;
          background: url("../img/icon_onayami_01.png") no-repeat center;
          background-size: contain; }
        #onayami .onayami_inner .onayami_ttl span:after {
          content: '';
          display: block;
          position: absolute;
          right: -10rem;
          top: -10rem;
          width: 28rem;
          height: 29rem;
          background: url("../img/icon_onayami_02.png") no-repeat center;
          background-size: contain; }
    #onayami .onayami_inner .onayami_boxes {
      width: 674rem;
      margin: 0 auto; }
      #onayami .onayami_inner .onayami_boxes.sport {
        padding-bottom: 0; }
        #onayami .onayami_inner .onayami_boxes.sport .onayami_box {
          padding-bottom: 53rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box .onayami_box_ttl {
            margin-bottom: 0; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(1) .onayami_box_icon {
            width: 184rem;
            top: -75rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(2) .onayami_box_icon {
            width: 573rem;
            top: -40rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(3) .onayami_box_icon {
            width: 363rem;
            top: -65rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(4) .onayami_box_icon {
            width: 255rem;
            top: -60rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(5) {
            margin-bottom: 114rem; }
            #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(5) .onayami_box_icon {
              width: 463rem;
              top: -50rem; }
          #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(6) {
            margin-bottom: 50rem; }
            #onayami .onayami_inner .onayami_boxes.sport .onayami_box:nth-child(6) .onayami_box_icon {
              width: 390rem;
              top: -70rem; }
      #onayami .onayami_inner .onayami_boxes .onayami_box {
        position: relative;
        border-radius: 20rem;
        background: #fff;
        text-align: center;
        margin-bottom: 30rem;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        padding-bottom: 74rem;
        padding-top: 253rem;
        box-sizing: border-box;
        margin-bottom: 116rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c01 {
          position: absolute;
          width: 19rem;
          left: 16rem;
          top: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c02 {
          position: absolute;
          width: 19rem;
          right: 16rem;
          top: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c03 {
          position: absolute;
          width: 19rem;
          left: 16rem;
          bottom: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .c04 {
          position: absolute;
          width: 19rem;
          right: 16rem;
          bottom: 16rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_txt {
          font-size: 28rem;
          line-height: 1.7em;
          font-weight: 700;
          text-align: center; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_ttl {
          font-size: 46rem;
          font-weight: 700;
          line-height: 1.5em;
          margin-bottom: 26rem; }
          #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_ttl strong {
            color: #AC9539; }
        #onayami .onayami_inner .onayami_boxes .onayami_box .onayami_box_icon {
          position: absolute;
          left: 50%;
          transform: translateX(-50%); }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(1) .onayami_box_icon {
          width: 108rem;
          top: -60rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(2) .onayami_box_icon {
          width: 288rem;
          top: -50rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(3) .onayami_box_icon {
          width: 292rem;
          top: -55rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(4) .onayami_box_icon {
          width: 358rem;
          top: -40rem; }
        #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(5) {
          margin-bottom: 50rem; }
          #onayami .onayami_inner .onayami_boxes .onayami_box:nth-child(5) .onayami_box_icon {
            width: 342rem;
            top: -60rem; }

  #check {
    position: relative;
    padding: 160rem 0 100rem; }
    #check .check_memo {
      width: 678rem;
      margin: 72rem auto 0; }
    #check:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: -1px;
      height: 105rem;
      background: url("../img/wave_01_sp.jpg") no-repeat left top;
      background-size: cover; }
    #check .check_inner {
      width: 674rem;
      margin: 0 auto; }
      #check .check_inner .check_head {
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        #check .check_inner .check_head .check_head_left {
          color: #fff;
          background: #33A33F;
          border-radius: 10rem 10rem 0 0;
          font-size: 32rem;
          padding: 14rem 38rem;
          order: 2; }
        #check .check_inner .check_head .check_head_right {
          width: 100%;
          text-align: center;
          order: 1;
          font-size: 32rem;
          line-height: 1.7em;
          margin-bottom: 60rem; }
      #check .check_inner .check_body {
        box-sizing: border-box;
        border: solid 6rem #33A33F;
        border-radius: 0 20rem 20rem 20rem;
        box-sizing: border-box;
        text-align: center;
        padding: 80rem 34rem; }
        #check .check_inner .check_body .txt {
          font-size: 28rem;
          line-height: 2em;
          margin-bottom: 40rem; }
        #check .check_inner .check_body .check_body_sub {
          text-align: center; }
          #check .check_inner .check_body .check_body_sub input[type="submit"] {
            display: inline-block;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            color: #fff;
            font-size: 28rem;
            background: url("../img/arr_btn.png") no-repeat center right 30rem #34A23F;
            background-size: 28rem;
            padding: 20rem 0;
            width: 406rem;
            border: solid 2px #34A23F;
            font-weight: 700;
            box-sizing: border-box; }
            #check .check_inner .check_body .check_body_sub input[type="submit"]:hover {
              background-color: #09500A;
              cursor: pointer;
              border: solid 2px #09500A;
              transition: 0.3s; }
        #check .check_inner .check_body table {
          width: 100%;
          margin: 0 auto 43rem; }
          #check .check_inner .check_body table tr th {
            width: 170rem;
            line-height: 1.2em;
            padding: 27rem 0; }
            #check .check_inner .check_body table tr th p {
              font-size: 28rem;
              padding: 6rem 0;
              line-height: 1.5em;
              color: #fff;
              text-align: center;
              vertical-align: middle;
              background: #33A33F;
              border-radius: 100rem;
              padding: 5rem 0 8rem; }
          #check .check_inner .check_body table tr td {
            width: calc(100% - 170rem);
            font-size: 28rem;
            text-align: left;
            padding: 16rem 0 16rem 21rem; }
            #check .check_inner .check_body table tr td input[type="text"] {
              border: solid 1px #D6D6D6;
              box-sizing: border-box;
              font-size: 28rem;
              padding: 2rem;
              margin-right: 4rem;
              border-radius: 4rem; }
            #check .check_inner .check_body table tr td select {
              border: solid 1px #D6D6D6;
              box-sizing: border-box;
              border-radius: 4rem;
              font-size: 28rem; }
            #check .check_inner .check_body table tr td input[type="radio"] {
              display: none; }
            #check .check_inner .check_body table tr td label {
              display: inline-block;
              background: url("../img/icon_check_03.png") no-repeat center left;
              background-size: contain;
              padding-left: 33rem;
              margin-right: 24rem; }
            #check .check_inner .check_body table tr td input[type="radio"]:checked + label {
              background-image: url("../img/icon_check_04.png"); }
            #check .check_inner .check_body table tr td .w4 {
              width: 4em; }
            #check .check_inner .check_body table tr td .w2 {
              width: 2.7em; }

  #what {
    position: relative;
    padding: 0 0 320rem; }
    #what .mori {
      position: absolute;
      width: 548rem;
      left: 26rem;
      bottom: -91rem;
      display: block;
      z-index: 4; }
      #what .mori img {
        width: 100%; }
    #what .what_head {
      position: relative;
      z-index: 1; }
      #what .what_head .what_head_img {
        position: relative;
        z-index: 1; }
        #what .what_head .what_head_img img {
          width: 100%;
          display: block; }
      #what .what_head .what_head_fukidashi {
        position: absolute;
        width: 406rem;
        left: 179rem;
        top: 64rem;
        z-index: 2; }
    #what .what_body {
      margin: -40rem auto 0;
      width: 674rem;
      position: relative;
      z-index: 2; }
      #what .what_body .what_body_left {
        box-sizing: border-box;
        background: #fff;
        border-radius: 10rem;
        padding: 15rem;
        border: solid 1px #EBECEC; }
      #what .what_body .what_body_right {
        font-weight: 700;
        margin-top: 60rem;
        font-size: 28rem;
        line-height: 1.8em; }
        #what .what_body .what_body_right span {
          font-size: 24rem; }
        #what .what_body .what_body_right strong {
          background: #FDF877; }
    #what .what_txt {
      background: url("../img/what_bg.png") no-repeat center;
      background-size: cover;
      width: 100%;
      margin: 80rem auto 0;
      text-align: center;
      padding: 74rem 0 100rem; }
      #what .what_txt .what_txt_ttl {
        background: url("../img/what_ttl_bg.png") no-repeat center bottom;
        background-size: contain;
        font-size: 23rem;
        display: inline-block;
        padding-bottom: 30rem;
        margin-bottom: 45rem; }
        #what .what_txt .what_txt_ttl span {
          font-size: 43rem; }
      #what .what_txt .what_txt_list {
        display: inline-block;
        text-align: left;
        padding-bottom: 40rem; }
        #what .what_txt .what_txt_list li {
          font-size: 31rem;
          margin-bottom: 1em;
          background: url("../img/what_icon.png") no-repeat center left;
          background-size: 30rem;
          padding-left: 37rem; }
          #what .what_txt .what_txt_list li span {
            font-size: 23rem; }
      #what .what_txt .txt {
        width: 647rem;
        margin: 0 auto;
        text-align: left;
        font-size: 28rem;
        line-height: 1.6em; }

  #feature {
    padding-bottom: 80rem;
    padding-top: 180rem;
    position: relative; }
    #feature .person {
      width: 548rem;
      position: absolute;
      right: 0;
      top: -310rem; }
    #feature:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 105rem;
      background: url("../img/wave_02_sp2.jpg") no-repeat left top;
      background-size: cover; }
    #feature .feature_inner .fea {
      width: 610rem;
      margin: 0 auto 100rem; }
      #feature .feature_inner .fea .fea_sub {
        font-size: 28rem;
        text-align: center;
        margin-bottom: 35rem; }
      #feature .feature_inner .fea .fea_boxes .fea_box {
        margin-bottom: 50rem; }
    #feature .feature_inner .treat {
      width: 100%;
      margin: 0 auto; }
      #feature .feature_inner .treat .ttl_01 {
        margin-bottom: 22rem; }
      #feature .feature_inner .treat .sub_01 {
        margin-bottom: 60rem; }
      #feature .feature_inner .treat .treat_boxes .treat_box {
        margin-bottom: 50rem;
        display: flex;
        align-items: center;
        justify-content: center; }
        #feature .feature_inner .treat .treat_boxes .treat_box:nth-child(3) {
          margin-bottom: 120rem; }
        #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt {
          text-align: center; }
          #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt .txt img {
            width: 499rem; }
          #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt .treat_box_btn {
            margin: 28rem 0 22rem; }
          #feature .feature_inner .treat .treat_boxes .treat_box .treat_box_txt .sub {
            font-size: 28rem;
            line-height: 2em; }

  #flow {
    padding: 140rem 0 200rem;
    position: relative; }
    #flow:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: -1px;
      height: 105rem;
      background: url("../img/wave_01_sp.jpg") no-repeat left top;
      background-size: cover; }
    #flow .flow_img {
      width: 674rem;
      margin: 0 auto; }
    #flow .mori {
      position: absolute;
      width: 560rem;
      left: -150rem;
      bottom: -21rem;
      display: block;
      z-index: 4; }
      #flow .mori img {
        width: 100%; }

  #info {
    padding-top: 137rem;
    position: relative; }
    #info:before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      height: 105rem;
      background: url("../img/wave_02_sp.png") no-repeat left top;
      background-size: cover; }
    #info .info_gallery img {
      display: block; }
    #info .info_inner {
      margin: 0 auto 75rem;
      width: 674rem; }
      #info .info_inner .info_box .info_box_left {
        margin-bottom: 26rem; }
      #info .info_inner .info_box .info_box_right {
        padding-top: 20rem; }
        #info .info_inner .info_box .info_box_right .posi {
          margin-bottom: 10rem;
          color: #AC9539;
          font-size: 26rem;
          font-weight: 700; }
        #info .info_inner .info_box .info_box_right .name {
          margin-bottom: 20rem;
          font-size: 43rem;
          font-weight: 700; }
          #info .info_inner .info_box .info_box_right .name span {
            display: inline-block;
            margin-left: 15rem;
            font-size: 26rem;
            font-weight: 500; }
        #info .info_inner .info_box .info_box_right .txt {
          font-size: 28rem;
          line-height: 1.8em; }
      #info .info_inner .info_box .info_box_btm {
        width: 100%;
        margin-top: 60rem;
        margin-bottom: 80rem; }
        #info .info_inner .info_box .info_box_btm .info_box_btm_box {
          margin-bottom: 50rem; }
          #info .info_inner .info_box .info_box_btm .info_box_btm_box:last-child {
            margin-bottom: 0; }
          #info .info_inner .info_box .info_box_btm .info_box_btm_box .info_box_btm_ttl {
            margin-bottom: 15rem;
            font-weight: 700;
            font-size: 32rem;
            color: #AC9539;
            border-left: solid 4rem #AC9539;
            padding: 10rem 0 10rem 15rem; }
          #info .info_inner .info_box .info_box_btm .info_box_btm_box .list li {
            font-size: 24rem;
            line-height: 1.5em;
            margin-bottom: 3rem; }
          #info .info_inner .info_box .info_box_btm .info_box_btm_box dl {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            font-size: 24rem;
            line-height: 1.5em; }
            #info .info_inner .info_box .info_box_btm .info_box_btm_box dl dt {
              width: 20%;
              margin-bottom: 3rem; }
            #info .info_inner .info_box .info_box_btm .info_box_btm_box dl dd {
              width: 80%;
              margin-bottom: 3rem; }
      #info .info_inner .info_frame {
        background: #fff;
        border-radius: 20rem;
        -webkit-border-radius: 20rem;
        -moz-border-radius: 20rem;
        position: relative;
        box-sizing: border-box;
        padding: 80rem 37rem 90rem; }
        #info .info_inner .info_frame .ball {
          width: 19rem;
          height: 19rem;
          background: url("../img/circle_02.png") no-repeat center;
          background-size: contain; }
          #info .info_inner .info_frame .ball.ball1 {
            position: absolute;
            left: 20rem;
            top: 20rem; }
          #info .info_inner .info_frame .ball.ball2 {
            position: absolute;
            right: 20rem;
            top: 20rem; }
          #info .info_inner .info_frame .ball.ball3 {
            position: absolute;
            left: 20rem;
            bottom: 20rem; }
          #info .info_inner .info_frame .ball.ball4 {
            position: absolute;
            right: 20rem;
            bottom: 20rem; }
        #info .info_inner .info_frame .info_frame_logo {
          text-align: center;
          margin-bottom: 20rem;
          width: 100%; }
          #info .info_inner .info_frame .info_frame_logo img {
            width: 589rem; }
        #info .info_inner .info_frame .info_frame_left {
          border-radius: 10rem;
          -webkit-border-radius: 10rem;
          -moz-border-radius: 10rem;
          overflow: hidden;
          margin-bottom: 50rem; }
          #info .info_inner .info_frame .info_frame_left iframe {
            width: 100%;
            height: 464rem;
            display: block; }
        #info .info_inner .info_frame .info_frame_right .ttl {
          font-size: 32rem;
          font-weight: 700;
          line-height: 1.5em; }
        #info .info_inner .info_frame .info_frame_right .txt {
          font-size: 27rem;
          line-height: 1.5em;
          margin-bottom: 15rem;
          margin-bottom: 1em; }
        #info .info_inner .info_frame .info_frame_right .info_frame_time {
          padding-top: 10rem;
          padding-bottom: 10rem; }

  #faq {
    padding: 120rem 0; }
    #faq .faq_inner {
      width: 100%;
      margin: 0 auto; }
      #faq .faq_inner .faq_head {
        display: flex;
        justify-content: space-between;
        overflow: scroll;
        width: 100vw; }
        #faq .faq_inner .faq_head .faq_la {
          width: 33%;
          font-size: 22rem;
          padding: 24rem 0;
          text-align: center;
          color: #AC9539;
          font-weight: 700;
          box-sizing: border-box;
          border: solid 4rem #F3F1E9;
          border-bottom: none; }
        #faq .faq_inner .faq_head .faq_ch {
          display: none; }
        #faq .faq_inner .faq_head .faq_ch:checked + .faq_la {
          background: #F3F1E9;
          border-radius: 20rem 20rem 0 0;
          transition: 0.3s;
          color: #2D302B; }
      #faq .faq_inner .faq_body {
        background: #F3F1E9;
        box-sizing: border-box;
        padding: 70rem 37rem;
        border-radius: 0 0 20rem 20rem; }
        #faq .faq_inner .faq_body .faq_body_box .faq_body_frame {
          margin-bottom: 15rem;
          background: #fff;
          border-radius: 10rem; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_ch {
            display: none; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_ch:checked + .faq_body_frame_la:after {
            transform: translateY(-50%) rotate(45deg);
            transition: 0.3s; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_ch:checked + .faq_body_frame_la + .faq_body_frame_txt {
            height: auto;
            visibility: visible;
            padding: 0 28rem 28rem 75rem; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_la {
            display: block;
            font-weight: 700;
            font-size: 28rem;
            line-height: 1.6em;
            padding: 28rem 75rem 28rem 75rem;
            position: relative; }
            #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_la:before {
              content: 'Q';
              font-weight: 700;
              color: #AC9539;
              font-size: 35rem;
              position: absolute;
              left: 30rem;
              top: 25rem; }
            #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_la:after {
              content: '＋';
              color: #AC9539;
              font-size: 35rem;
              position: absolute;
              right: 30rem;
              top: 50%;
              transform: translateY(-50%);
              transition: 0.3s; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_txt {
            box-sizing: border-box;
            padding: 0 28rem 0 75rem;
            position: relative;
            font-size: 28rem;
            line-height: 2em;
            height: 0;
            visibility: hidden; }
            #faq .faq_inner .faq_body .faq_body_box .faq_body_frame .faq_body_frame_txt:before {
              content: 'A';
              font-weight: 700;
              color: #889F86;
              font-size: 35rem;
              position: absolute;
              left: 30rem;
              top: -10rem; }
          #faq .faq_inner .faq_body .faq_body_box .faq_body_frame:last-child {
            margin-bottom: 0; }

  #contact {
    padding: 120rem 0; }
    #contact .wpcf7-turnstile {
      display: none !important; }
    #contact .cf-turnstile {
      text-align: center; }
    #contact .contact_table {
      width: 670rem;
      margin: 0 auto; }
      #contact .contact_table table {
        width: 100%; }
        #contact .contact_table table ::placeholder {
          color: #E2E2E2; }
        #contact .contact_table table tr th {
          display: block;
          box-sizing: border-box;
          font-size: 26rem;
          text-align: left;
          vertical-align: top;
          padding-left: 110rem;
          padding-top: 33rem;
          padding-bottom: 28rem;
          background: url("../img/icon_contact_02.png") no-repeat left top 27rem;
          background-size: 90rem; }
          #contact .contact_table table tr th.req {
            background-image: url("../img/icon_contact_01.png"); }
        #contact .contact_table table tr td {
          display: block;
          box-sizing: border-box;
          font-size: 26rem;
          padding: 0; }
          #contact .contact_table table tr td dl {
            padding: 20rem 0; }
            #contact .contact_table table tr td dl dt {
              margin-bottom: 20rem; }
            #contact .contact_table table tr td dl dd {
              margin: 15rem 0;
              font-size: 24rem;
              line-height: 2.4em; }
              #contact .contact_table table tr td dl dd input[type="date"],
              #contact .contact_table table tr td dl dd .wpcf7-date {
                font-size: 23rem;
                width: 10em !important;
                background: #fff;
                border-radius: 100rem;
                -webkit-border-radius: 100rem;
                -moz-border-radius: 100rem;
                border: none;
                box-sizing: border-box;
                padding: 12rem 20rem; }
              #contact .contact_table table tr td dl dd select {
                font-size: 23rem;
                width: 7em;
                background: #fff;
                border-radius: 100rem;
                -webkit-border-radius: 100rem;
                -moz-border-radius: 100rem;
                border: none;
                box-sizing: border-box;
                padding: 12rem 20rem;
                -webkit-appearance: none;
                appearance: none; }
          #contact .contact_table table tr td input[type="text"] {
            font-size: 28rem;
            width: 100%;
            background: #fff;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            border: none;
            box-sizing: border-box;
            padding: 24rem 35rem; }
          #contact .contact_table table tr td input[type="email"] {
            font-size: 28rem;
            width: 100%;
            background: #fff;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            border: none;
            box-sizing: border-box;
            padding: 24rem 35rem; }
          #contact .contact_table table tr td input[type="tel"] {
            font-size: 28rem;
            width: 100%;
            background: #fff;
            border-radius: 100rem;
            -webkit-border-radius: 100rem;
            -moz-border-radius: 100rem;
            border: none;
            box-sizing: border-box;
            padding: 24rem 35rem; }
          #contact .contact_table table tr td textarea {
            font-size: 28rem;
            width: 100%;
            background: #fff;
            border-radius: 40rem;
            -webkit-border-radius: 40rem;
            -moz-border-radius: 40rem;
            border: none;
            box-sizing: border-box;
            padding: 30rem;
            height: 390rem;
            resize: none; }
    #contact .pp {
      text-align: center;
      padding: 30rem 0 50rem; }
      #contact .pp p {
        display: flex;
        justify-content: center;
        align-items: center; }
      #contact .pp input[type="checkbox"] {
        display: none; }
      #contact .pp input[type="checkbox"]:checked + .wpcf7-list-item-label {
        background-image: url("../img/icon_check_02.png"); }
      #contact .pp .wpcf7-list-item-label {
        display: inline-block;
        background: url("../img/icon_check_01.png") no-repeat center left;
        background-size: contain;
        padding: 16rem 0 16rem 140rem;
        position: relative;
        font-size: 0; }
        #contact .pp .wpcf7-list-item-label:before {
          content: '';
          display: block;
          width: 90rem;
          height: 32rem;
          background: url("../img/icon_contact_01.png") no-repeat center;
          background-size: contain;
          position: absolute;
          left: 45rem;
          top: 50%;
          transform: translateY(-50%); }
      #contact .pp span#openPopupBtn {
        text-decoration: underline;
        color: #2D302B; }
        #contact .pp span#openPopupBtn:hover {
          text-decoration: none; }
    #contact .send {
      text-align: center; }
      #contact .send .wpcf7-spinner {
        display: none; }
      #contact .send input[type="submit"] {
        display: inline-block;
        border: solid 4rem #fff;
        box-sizing: border-box;
        color: #fff;
        font-weight: 700;
        text-align: center;
        background: url("../img/arr_btn.png") no-repeat right 35rem center #EE5853;
        background-size: 40rem;
        font-size: 35rem;
        padding: 30rem 0 28rem;
        width: 575rem;
        border-radius: 100rem;
        -webkit-border-radius: 100rem;
        -moz-border-radius: 100rem; }
        #contact .send input[type="submit"]:hover {
          background-color: #8D0406;
          cursor: pointer; }

  footer {
    text-align: center;
    padding: 79rem 0;
    background: #F3F1E9; }
    footer #copy {
      font-size: 22rem; } }
      
/* add 2025/10/08 ----------------------------- */
@media screen and (min-width: 769px) {
  .spi {
    display: none !important;
  }
  .float-line {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pci {
    display: none !important;
  }
  #mv .mv_badge {
    top: 260rem;
  }
  #mv .mv_btn {
    top: 500rem;
  }
  .float li.float-check {
    background-color: #ADCD00;
  }
  .float li.float-line {
    background-color: #03C755;
  }
  .float li a {
    flex-direction: column;
    gap: 8rem;
    font-size: 26rem;
  }
  .float li a img {
    width: 48rem;
    margin: 0;
  }
}