@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap");
body {
  opacity: 1; }

@media (min-width: 1025px) {
  body {
    cursor: default; } }

/* --HTML-- */
html {
  font-size: 62.5%; }

.serif {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-style: normal; }

/* --BODY-- */
body {
  font-family: "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  margin: 0 auto;
  padding: 0;
  color: #000;
  font-size: 3.63636vw;
  line-height: 1.9; }
  @media only screen and (min-width: 768px) {
    body {
      font-size: 1.26263vw; } }
  body.nav-open {
    overflow: hidden; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  line-height: 1.6;
  padding: 0;
  margin: 0; }

dl, ol, ul {
  margin: 0;
  padding: 0;
  list-style: none; }

a {
  color: #000;
  transition: all 0.3s ease-out;
  text-decoration: none; }
  a:hover {
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    filter: alpha(opacity=70);
    -khtml-opacity: 0.7;
    -moz-opacity: 0.7;
    opacity: 0.7;
    text-decoration: none; }

.serif {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-style: normal; }

a:link,
a:visited {
  text-decoration: none;
  color: #000; }

a:hover {
  text-decoration: none;
  color: #000; }

a:active {
  text-decoration: none;
  color: #000; }

img {
  max-width: 100%; }

.eng {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; }

/* HTML: <div class="loader"></div> */
/*--------- header ---------*/
.spNavBtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999; }
  @media only screen and (min-width: 768px) {
    .spNavBtn {
      display: none; } }
  .spNavBtn p {
    margin-bottom: 0; }
    .spNavBtn p:after {
      background: #FFF;
      width: 100%;
      position: absolute;
      top: 20%;
      left: 25%;
      width: 50%;
      height: 2px;
      content: '';
      transition: all 0.15s ease-out; }
      .nav-open .spNavBtn p:after {
        filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
        filter: alpha(opacity=0);
        -khtml-opacity: 0;
        -moz-opacity: 0;
        opacity: 0; }
  .spNavBtn a {
    background: #000;
    color: #FFF;
    width: 13.63636vw;
    height: 13.63636vw;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    padding-top: 55%;
    font-size: 11px;
    font-size: 1.1rem; }
    @media only screen and (min-width: 768px) {
      .spNavBtn a {
        width: 6.81818vw;
        height: 6.81818vw; } }
    .nav-open .spNavBtn a {
      background: #333; }
    .spNavBtn a:before, .spNavBtn a:after {
      background: #FFF;
      width: 50%;
      position: absolute;
      left: 25%;
      height: 2px;
      content: '';
      transition: all 0.15s ease-out; }
    .spNavBtn a:before {
      width: 40%;
      top: 35%; }
      .nav-open .spNavBtn a:before {
        top: 39%;
        transform: rotate(45deg);
        left: 27%;
        width: 50%; }
    .spNavBtn a:after {
      width: 30%;
      top: 50%; }
      .nav-open .spNavBtn a:after {
        transform: rotate(-45deg);
        top: 40%;
        left: 26%;
        width: 50%; }
    .spNavBtn a:hover {
      filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
      filter: alpha(opacity=100);
      -khtml-opacity: 1;
      -moz-opacity: 1;
      opacity: 1; }
      .spNavBtn a:hover:before, .spNavBtn a:hover:after {
        width: 50%; }

.hab-nav {
  background: #000;
  background-size: 14.54545vw auto;
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 8888;
  width: 100%;
  padding-top: 80px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 30vw;
  height: 100vh;
  overflow: auto;
  transition: all 0.15s ease-out; }
  @media only screen and (min-width: 768px) {
    .hab-nav {
      background: none;
      width: auto;
      height: auto;
      position: static;
      overflow: visible;
      padding: 0; } }
  .nav-open .hab-nav {
    right: 0; }
  .nav-close .hab-nav {
    right: -100%; }

@media only screen and (min-width: 768px) {
  .header-nav {
    width: auto;
    display: -ms-flexbox;
    display: flex;
    box-lines: multiple;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: end;
        justify-content: flex-end;
    padding-top: 2.0202vw; } }

.gnav__item {
  position: relative; }
  @media only screen and (min-width: 768px) {
    .gnav__item {
      margin-right: 7.07071vw; }
      .gnav__item:last-child {
        margin-right: 0; } }
  .gnav__item._store {
    margin-bottom: 15.90909vw; }
    @media only screen and (min-width: 768px) {
      .gnav__item._store {
        margin-bottom: 0;
        margin-right: 3.53535vw; } }
    .gnav__item._store a {
      position: relative; }
      .gnav__item._store a:after {
        content: '(comming soon)';
        font-size: 6.0101vw;
        position: absolute;
        bottom: -6.81818vw;
        left: 0;
        white-space: nowrap; }
        @media only screen and (min-width: 768px) {
          .gnav__item._store a:after {
            font-size: 1.0101vw;
            bottom: -1.51515vw;
            left: 50%;
            transform: translate(-50%, 0); } }
  .gnav__item p {
    margin-bottom: 0; }
  .gnav__item br {
    display: inline; }
  .gnav__item a {
    color: #FFF;
    font-size: 9.81818vw;
    line-height: 1.5;
    display: block;
    position: relative;
    display: block; }
    @media only screen and (min-width: 768px) {
      .gnav__item a {
        color: #000;
        font-size: 1.51515vw; } }

/*--------- footer ---------*/
.footer {
  position: relative;
  padding-bottom: 12.72727vw;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .footer {
      padding-bottom: 0; } }
  .footer p {
    margin-bottom: 0; }

.footer-logo img {
  width: 23.85714vw; }
  @media only screen and (min-width: 768px) {
    .footer-logo img {
      width: 8.38384vw; } }

@media only screen and (min-width: 768px) {
  .footer-nav {
    display: -ms-flexbox;
    display: flex;
    box-lines: multiple;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: end;
        align-items: flex-end;
    -ms-flex-pack: center;
        justify-content: center;
    margin-bottom: 5.05051vw; } }

.footer-nav_item {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; }
  @media only screen and (min-width: 768px) {
    .footer-nav_item {
      margin-right: 3.53535vw;
      padding-bottom: 1.51515vw; }
      .footer-nav_item:last-child {
        margin-right: 0; } }
  .footer-nav_item._logo {
    width: 13.63636vw;
    margin-bottom: 11.36364vw;
    padding-bottom: 0; }
    @media only screen and (min-width: 768px) {
      .footer-nav_item._logo {
        width: 3.9899vw;
        margin-right: 5.70707vw;
        margin-bottom: 0; } }
  .footer-nav_item._store a {
    position: relative; }
    .footer-nav_item._store a:after {
      content: '(comming soon)';
      font-size: 4.54545vw;
      display: block;
      white-space: nowrap;
      margin-top: -2.27273vw; }
      @media only screen and (min-width: 768px) {
        .footer-nav_item._store a:after {
          font-size: 1.0101vw;
          position: absolute;
          bottom: -1.51515vw;
          left: 50%;
          transform: translate(-50%, 0); } }
  .footer-nav_item p {
    margin: 0; }
  .footer-nav_item br {
    display: none; }
    @media only screen and (min-width: 768px) {
      .footer-nav_item br {
        display: inline; } }
  .footer-nav_item a {
    font-size: 5.68182vw;
    display: block; }
    @media only screen and (min-width: 768px) {
      .footer-nav_item a {
        font-size: 1.26263vw; } }

.footer-copyright {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 4.09091vw;
  padding-top: 9.09091vw;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .footer-copyright {
      font-size: 0.70707vw;
      padding-bottom: 1.51515vw;
      padding-top: 0; } }

/*--------- common ---------*/
.tablet_br_none br {
  display: none; }
  @media only screen and (min-width: 768px) {
    .tablet_br_none br {
      display: inline; } }

.hidden {
  display: none; }

.zindex1 {
  position: relative;
  z-index: 1; }

.zindex2 {
  position: relative;
  z-index: 2; }

.asp1 {
  aspect-ratio: 1 / 1; }
  .asp1 img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%; }

.asp16 {
  aspect-ratio: 1.6 / 1; }
  .asp16 img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%; }

.asp13 {
  aspect-ratio: 1.3 / 1; }
  .asp13 img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%; }

.flex {
  display: -ms-flexbox;
  display: flex;
  box-lines: multiple;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (min-width: 768px) {
    .flex._align-c {
      -ms-flex-align: center;
          align-items: center; } }
  @media only screen and (min-width: 768px) {
    .flex._revease {
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
      .flex._revease .grid2 {
        margin-right: 0; }
        .flex._revease .grid2:nth-child(2n) {
          margin-right: 4%; } }
  .flex._start {
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .flex._between {
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .flex._center {
    -ms-flex-pack: center;
        justify-content: center; }
  .flex._mb > * {
    margin-bottom: 13.63636vw; }
    @media only screen and (min-width: 768px) {
      .flex._mb > * {
        margin-bottom: 2.52525vw; } }
  .flex._mb-s > * {
    margin-bottom: 6.81818vw; }
    @media only screen and (min-width: 768px) {
      .flex._mb-s > * {
        margin-bottom: 1.26263vw; } }
  .flex._mb_sp > * {
    margin-bottom: 9.09091vw; }
    .flex._mb_sp > *:last-child {
      margin-bottom: 0; }
    @media only screen and (min-width: 768px) {
      .flex._mb_sp > * {
        margin-bottom: 0vw; } }
  .flex._mb_sp-s > * {
    margin-bottom: 3vw; }
    .flex._mb_sp-s > *:last-child {
      margin-bottom: 0; }
    @media only screen and (min-width: 768px) {
      .flex._mb_sp-s > * {
        margin-bottom: 0vw; } }

.tab-dblock {
  display: block; }
  @media only screen and (min-width: 768px) {
    .tab-dblock {
      display: -ms-flexbox;
      display: flex; } }

.grid2 {
  width: 100%;
  margin-right: 0; }
  @media only screen and (min-width: 768px) {
    .grid2 {
      width: 47%;
      margin-right: 6%; }
      .grid2:nth-child(2n) {
        margin-right: 0; } }

.grid3 {
  width: 100%;
  margin-right: 0; }
  @media only screen and (min-width: 768px) {
    .grid3 {
      width: 31%;
      margin-right: 3.5%; }
      .grid3:nth-child(3n) {
        margin-right: 0; } }

.grid3_2 {
  width: auto; }
  @media only screen and (min-width: 768px) {
    .grid3_2 {
      width: 65%; } }

.grid3_1 {
  width: auto; }
  @media only screen and (min-width: 768px) {
    .grid3_1 {
      width: 32%; } }

.grid4 {
  width: 100%;
  margin-right: 0; }
  @media only screen and (min-width: 768px) {
    .grid4 {
      width: 22%;
      margin-right: 4%; }
      .grid4:nth-child(4n) {
        margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    .grid4._wide {
      width: 24%;
      margin-right: 1.3333%; }
      .grid4._wide:nth-child(4n) {
        margin-right: 0; } }

.heading1 {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 11.63636vw;
  line-height: 1.3;
  margin-bottom: 4.77273vw; }
  @media only screen and (min-width: 768px) {
    .heading1 {
      font-size: 5.05051vw;
      margin-bottom: 1.76768vw; } }
  .heading1 p {
    margin-bottom: 0; }

.heading2 {
  font-size: 4.54545vw;
  margin-bottom: 2.27273vw;
  font-weight: 700;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .heading2 {
      font-size: 2.0202vw;
      margin-bottom: 0.50505vw; } }
  .heading2 p {
    margin-bottom: 0; }

.lh16 {
  line-height: 1.6; }

.lh2 {
  line-height: 2; }

.lh25 {
  line-height: 2.5; }

.text_l {
  font-size: 4.31818vw; }
  @media only screen and (min-width: 768px) {
    .text_l {
      font-size: 1.0101vw; } }

.text_m {
  font-size: 3.86364vw; }
  @media only screen and (min-width: 768px) {
    .text_m {
      font-size: 0.90909vw; } }

.txt_xs {
  font-size: 14px;
  font-size: 1.4rem; }
  @media only screen and (min-width: talbetpx) {
    .txt_xs {
      font-size: 15px;
      font-size: 1.5rem; } }

.bold {
  font-weight: bold; }

.mb-xs {
  margin-bottom: 2.04545vw; }

.mb-s {
  margin-bottom: 6.13636vw; }

.mb-m {
  margin-bottom: 10.22727vw; }

.mb-l {
  margin-bottom: 20.45455vw; }

.mb-xl {
  margin-bottom: 27.27273vw; }

.mb-xxl {
  margin-bottom: 31.81818vw; }

.pb-xs {
  padding-bottom: 2.04545vw; }

.pb-s {
  padding-bottom: 6.13636vw; }

.pb-m {
  padding-bottom: 10.22727vw; }

.pb-l {
  padding-bottom: 20.45455vw; }

.pb-xl {
  padding-bottom: 27.27273vw; }

.pb-xxl {
  padding-bottom: 31.81818vw; }

.pt-xs {
  padding-top: 2.04545vw; }

.pt-s {
  padding-top: 6.13636vw; }

.pt-m {
  padding-top: 10.22727vw; }

.pt-l {
  padding-top: 20.45455vw; }

.pt-xl {
  padding-top: 27.27273vw; }

.pt-xxl {
  padding-top: 31.81818vw; }

@media only screen and (min-width: 768px) {
  .mb-xs {
    margin-bottom: 0.50505vw; }
  .mb-s {
    margin-bottom: 1.51515vw; }
  .mb-m {
    margin-bottom: 2.52525vw; }
  .mb-l {
    margin-bottom: 5.05051vw; }
  .mb-xl {
    margin-bottom: 7.57576vw; }
  .mb-xxl {
    margin-bottom: 10.10101vw; }
  .pb-xs {
    padding-bottom: 0.50505vw; }
  .pb-s {
    padding-bottom: 1.51515vw; }
  .pb-m {
    padding-bottom: 2.52525vw; }
  .pb-l {
    padding-bottom: 5.05051vw; }
  .pb-xl {
    padding-bottom: 7.57576vw; }
  .pb-xxl {
    padding-bottom: 10.10101vw; }
  .pt-xs {
    padding-top: 0.50505vw; }
  .pt-s {
    padding-top: 1.51515vw; }
  .pt-m {
    padding-top: 2.52525vw; }
  .pt-l {
    padding-top: 5.05051vw; }
  .pt-xl {
    padding-top: 7.57576vw; }
  .pt-xxl {
    padding-top: 10.10101vw; } }

.center {
  text-align: center; }

.tablet_left {
  text-align: left; }
  @media only screen and (min-width: 768px) {
    .tablet_left.center {
      text-align: center; } }

.pc {
  display: none; }
  @media only screen and (min-width: 768px) {
    .pc {
      display: inline; } }

.tablet {
  display: inline; }
  @media only screen and (min-width: 768px) {
    .tablet {
      display: none; } }

@media only screen and (min-width: 768px) {
  .w950 {
    width: 47.9798vw;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto; } }

@media only screen and (min-width: 768px) {
  .w1000 {
    width: 50.50505vw;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto; } }

@media only screen and (min-width: 768px) {
  .w800 {
    width: 40.40404vw;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto; } }

@media only screen and (min-width: 768px) {
  .w850 {
    width: 42.92929vw;
    margin-left: auto;
    margin-right: auto; } }

@media only screen and (min-width: 768px) {
  .w600 {
    width: 30.30303vw;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto; } }

.table-1 {
  line-height: 1.5;
  margin-left: 15px;
  margin-right: 15px; }
  .table-1 p {
    margin-bottom: 0; }

.table-1_tr:first-child .table-1_th {
  border-top: 1px solid #333333; }

.table-1_tr:first-child .table-1_td {
  border-top: none; }
  @media only screen and (min-width: 768px) {
    .table-1_tr:first-child .table-1_td {
      border-top: 1px solid #333333; } }

.table-1_th {
  border-bottom: 1px solid #333333;
  border-right: 1px solid #333333;
  border-left: 1px solid #333333;
  background: #E6E6E6;
  padding: 3.40909vw;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .table-1_th {
      padding: 1.26263vw; } }

.table-1_td {
  border-bottom: 1px solid #333333;
  border-right: 1px solid #333333;
  border-left: 1px solid #333333;
  padding: 3.40909vw; }
  @media only screen and (min-width: 768px) {
    .table-1_td {
      border-bottom: 1px solid #333333;
      border-right: 1px solid #333333;
      border-left: none;
      padding: 1.26263vw; } }
  .table-1_td > div {
    padding: 0; }

.map > div {
  width: 100%; }

.map iframe {
  border: none;
  width: 100%;
  height: 90.90909vw;
  vertical-align: top; }
  @media only screen and (min-width: 1024px) {
    .map iframe {
      height: 27.77778vw; } }

.zoom a {
  position: relative;
  display: block;
  height: 100%; }
  .zoom a:after {
    background: #D30000 url("/system_panel/uploads/images/icon_zoom.png") center center no-repeat;
    background-size: 50% auto;
    content: '';
    display: block;
    width: 6.81818vw;
    height: 6.81818vw;
    position: absolute;
    top: 0;
    right: 0; }
    @media only screen and (min-width: 768px) {
      .zoom a:after {
        width: 1.51515vw;
        height: 1.51515vw; } }

.list_icon ul {
  list-style: none;
  margin-bottom: 0; }
  .list_icon ul li {
    font-weight: 700;
    line-height: 1.6;
    position: relative;
    font-size: 4.09091vw;
    margin-bottom: 2.27273vw;
    padding-left: 1em; }
    @media only screen and (min-width: 768px) {
      .list_icon ul li {
        font-size: 1.76768vw;
        margin-bottom: 0.50505vw; } }
    .list_icon ul li:after {
      content: '・';
      display: block;
      position: absolute;
      top: 0;
      left: 0; }

.list_icon2 ul li {
  line-height: 1.6;
  position: relative;
  font-size: 4.09091vw;
  margin-bottom: 2.27273vw;
  padding-left: 5.72727vw; }
  @media only screen and (min-width: 768px) {
    .list_icon2 ul li {
      font-size: 1.26263vw;
      margin-bottom: 0.50505vw;
      padding-left: 1.81818vw; } }
  .list_icon2 ul li:after {
    background: url("/system_panel/uploads/images/icon_check.png") center center no-repeat;
    background-size: contain;
    content: '';
    display: block;
    width: 4.29545vw;
    aspect-ratio: 27 / 36;
    position: absolute;
    top: -0.31818vw;
    left: 0; }
    @media only screen and (min-width: 768px) {
      .list_icon2 ul li:after {
        width: 1.36364vw;
        top: -0.10101vw; } }

.section_wide {
  padding-left: 4.54545vw;
  padding-right: 4.54545vw; }
  @media only screen and (min-width: 768px) {
    .section_wide {
      padding-left: 3.28283vw;
      padding-right: 3.28283vw; } }
  .section_wide .section {
    padding-left: 0;
    padding-right: 0; }

.section {
  margin-left: auto;
  margin-right: auto;
  padding-left: 4.54545vw;
  padding-right: 4.54545vw; }
  @media only screen and (min-width: 768px) {
    .section {
      width: 76.76768vw;
      padding-left: 2.52525vw;
      padding-right: 2.52525vw; } }

.button a,
.button button,
.button em {
  background: #000;
  color: #FFF;
  font-size: 3.63636vw;
  font-weight: 600;
  display: inline-block;
  min-width: 80%;
  position: relative;
  padding: 3.63636vw 3.40909vw;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .button a,
    .button button,
    .button em {
      min-width: 14.14141vw;
      font-size: 0.90909vw;
      padding: 0.80808vw 0.75758vw; } }
  .button a:after,
  .button button:after,
  .button em:after {
    background: #D30000;
    content: '';
    display: block;
    width: 2.72727vw;
    height: 2.72727vw;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    transition: all 0.15s ease-out; }
    @media only screen and (min-width: 768px) {
      .button a:after,
      .button button:after,
      .button em:after {
        width: 0.60606vw;
        height: 0.60606vw; } }
  .button a:hover,
  .button button:hover,
  .button em:hover {
    background: #D30000; }
    .button a:hover:after,
    .button button:hover:after,
    .button em:hover:after {
      background: #000;
      width: 1.0101vw; }

@media only screen and (min-width: 768px) {
  .button._l a {
    font-size: 1.21212vw;
    min-width: 25.25253vw; } }

.button button {
  border: none;
  color: #FFF !important; }

.button p {
  margin-bottom: 0; }

.button._left {
  text-align: left; }

@media only screen and (min-width: 768px) {
  .row._reverse {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; } }

.frame-wrapper__video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden; }

.frame-wrapper__video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0; }

.pc_br br {
  display: none; }
  @media only screen and (min-width: 1024px) {
    .pc_br br {
      display: inline; } }

.tablet_br br {
  display: inline; }
  @media only screen and (min-width: 768px) {
    .tablet_br br {
      display: none; } }

/*--------- talkbox ---------*/
.talkbox-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; }

.talkbox-header_inner {
  -ms-flex-pack: center;
      justify-content: center;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; }

.tb-fv {
  position: relative; }

.tb-fv_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 19.78788vw; }
  @media only screen and (min-width: 768px) {
    .tb-fv_logo {
      width: 13.78788vw; } }

.tb-fv_bg {
  height: 74.54545vw; }
  @media only screen and (min-width: 768px) {
    .tb-fv_bg {
      height: 48.57143vw; } }
  .tb-fv_bg img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%; }
    @media only screen and (min-width: 768px) {
      .tb-fv_bg img {
        -o-object-fit: fill;
           object-fit: fill; } }

.bg_img img {
  width: 100%; }

.tb-plan_list_item {
  border: 3px solid rgba(139, 139, 139, 0.6);
  padding: 5.68182vw; }
  @media only screen and (min-width: 768px) {
    .tb-plan_list_item {
      width: 24%;
      padding: 1.26263vw;
      margin-right: 1.3333%; }
      .tb-plan_list_item:last-child {
        margin-right: 0; } }

.tb-plan_list_item_head {
  background: #E6E6E6;
  border-radius: 9.09091vw;
  border: 3px solid #CFCFCF;
  padding: 4.54545vw 4.54545vw 2.27273vw; }
  @media only screen and (min-width: 768px) {
    .tb-plan_list_item_head {
      border-radius: 2.0202vw;
      border: 3px solid #CFCFCF;
      padding: 1.0101vw 1.0101vw 0.50505vw; } }
  .tb-plan_list_item_head .heading2 {
    line-height: 1.4; }

.tb-plan_list_item_price {
  font-size: 4.09091vw;
  line-height: 1;
  font-weight: 700;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .tb-plan_list_item_price {
      font-size: 1.0101vw; } }
  .tb-plan_list_item_price strong {
    font-size: 6.81818vw;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal; }
    @media only screen and (min-width: 768px) {
      .tb-plan_list_item_price strong {
        font-size: 2.0202vw; } }

.tb-plan_list_item_time {
  font-size: 4.54545vw;
  line-height: 1;
  font-weight: 700;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .tb-plan_list_item_time {
      font-size: 1.51515vw; } }
  .tb-plan_list_item_time strong {
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal; }

.tb-faq {
  background: #E6E6E6; }

.tb-faq_box {
  border: 1px solid #333333;
  background: #FFF;
  padding: 4.54545vw 4.54545vw;
  line-height: 1.6;
  margin-bottom: 4.54545vw; }
  @media only screen and (min-width: 768px) {
    .tb-faq_box {
      padding: 1.0101vw 2.0202vw;
      margin-bottom: 1.0101vw; } }
  .tb-faq_box p {
    margin-bottom: 0; }

.tb-faq_box_ttl {
  font-size: 4.09091vw;
  position: relative;
  padding-left: 1.3em;
  margin-bottom: 2.27273vw; }
  @media only screen and (min-width: 768px) {
    .tb-faq_box_ttl {
      font-size: 1.51515vw;
      margin-bottom: 0.50505vw; } }
  .tb-faq_box_ttl:after {
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    content: 'Q';
    position: absolute;
    top: 0;
    left: 0; }

.tb-faq_box_cont {
  font-size: 4.09091vw;
  position: relative;
  padding-left: 1.3em; }
  @media only screen and (min-width: 768px) {
    .tb-faq_box_cont {
      font-size: 1.51515vw; } }
  .tb-faq_box_cont:after {
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    content: 'A';
    position: absolute;
    top: 0;
    left: 0; }

.tb-bnr_store a {
  border: 0.50505vw solid #FFCC00;
  background: url("/system_panel/uploads/images/tb-store_bg.jpg") center center no-repeat;
  background-size: cover;
  color: #FFF !important;
  display: block;
  pointer-events: none;
  text-align: center;
  height: 49.79798vw;
  line-height: 1;
  display: -ms-flexbox;
  display: flex;
  box-lines: multiple;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  @media only screen and (min-width: 768px) {
    .tb-bnr_store a {
      height: 29.79798vw; } }

.tb-bnr_store ._txt1 {
  font-size: 6.9697vw; }

.tb-bnr_store ._txt2 {
  font-size: 5.55556vw; }

.tb-reserve {
  background: url("/system_panel/uploads/images/tb_reserve_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 9.09091vw;
  color: #FFF;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .tb-reserve {
      padding: 2.0202vw; } }

.tb-reserve_eng {
  font-size: 9.81818vw;
  line-height: 1; }
  @media only screen and (min-width: 768px) {
    .tb-reserve_eng {
      font-size: 4.0404vw; } }

@media only screen and (min-width: 768px) {
  .tb-reserve_btns ._btn1_flex_check {
    margin-right: 1.51515vw; } }

@media only screen and (min-width: 768px) {
  .tb-reserve_btns ._btn1_flex {
    display: -ms-flexbox;
    display: flex;
    box-lines: multiple;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; } }

.tb-reserve_btns ._btn1_flex ._link {
  border-radius: 0.90909vw;
  background: #FFF;
  display: block;
  width: 9.09091vw;
  aspect-ratio: 1 / 1;
  text-indent: -9999px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.54545vw; }
  @media only screen and (min-width: 768px) {
    .tb-reserve_btns ._btn1_flex ._link {
      border-radius: 0.20202vw;
      width: 2.0202vw;
      margin-bottom: 0; } }
  .tb-reserve_btns ._btn1_flex ._link:after {
    border-left: 4px solid #F00;
    border-bottom: 4px solid #F00;
    content: '';
    display: block;
    width: 9.09091vw;
    aspect-ratio: 14 / 10;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-45deg);
    opacity: 0; }
    @media only screen and (min-width: 768px) {
      .tb-reserve_btns ._btn1_flex ._link:after {
        width: 2.0202vw; } }
  .tb-reserve_btns ._btn1_flex ._link p {
    margin-bottom: 0; }
  .tb-reserve_btns ._btn1_flex ._link._check:after {
    opacity: 1; }

.tb-reserve_btns ._btn1 a {
  border-radius: 100px;
  background: #FFF;
  display: inline-block;
  width: 90%;
  line-height: 1.6;
  padding: 3.40909vw 2.27273vw;
  position: relative; }
  @media only screen and (min-width: 768px) {
    .tb-reserve_btns ._btn1 a {
      width: 27.27273vw;
      padding: 0.50505vw; }
      .tb-reserve_btns ._btn1 a br {
        display: none; } }

.tb-reserve_btns ._btn2 {
  margin-bottom: 9.09091vw; }
  @media only screen and (min-width: 768px) {
    .tb-reserve_btns ._btn2 {
      margin-bottom: 2.0202vw; } }
  .tb-reserve_btns ._btn2 a {
    background: #FFCC00;
    display: inline-block;
    font-size: 4.54545vw;
    padding: 1.81818vw;
    width: 80%; }
    @media only screen and (min-width: 768px) {
      .tb-reserve_btns ._btn2 a {
        font-size: 1.51515vw;
        padding: 0.40404vw;
        width: 24.24242vw; } }
    .tb-reserve_btns ._btn2 a:hover {
      opacity: 1; }

.tb-reserve_btns p {
  margin-bottom: 0; }

.tb-reserve_btns .js-reserve.is-disabled a {
  pointer-events: none;
  cursor: not-allowed;
  background: #999;
  color: rgba(0, 0, 0, 0.5); }

.tb-reserve_btns .js-policy.is-disabled a {
  pointer-events: none;
  cursor: not-allowed;
  background: #999;
  color: rgba(0, 0, 0, 0.5); }

.tb-slide_item {
  width: 59.09091vw; }
  @media only screen and (min-width: 768px) {
    .tb-slide_item {
      width: 27.62626vw; } }

.features_eng {
  background: #000;
  padding: 4.54545vw 4.54545vw; }
  @media only screen and (min-width: 768px) {
    .features_eng {
      padding: 2.52525vw 5.05051vw; } }
  .features_eng .eng {
    color: #FFF;
    font-size: 8vw;
    line-height: 1.6;
    background: linear-gradient(0deg, #d9d9d9 0%, #f2f2f2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent; }
    @media only screen and (min-width: 768px) {
      .features_eng .eng {
        font-size: 4.52525vw; } }
  .features_eng p {
    margin-bottom: 0; }

.gnav_sns {
  border-radius: 0.90909vw;
  background: #FFF;
  display: -ms-flexbox;
  display: flex;
  box-lines: multiple;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 3.40909vw; }
  @media only screen and (min-width: 768px) {
    .gnav_sns {
      background: none;
      -ms-flex-pack: start;
          justify-content: flex-start;
      padding: 0; } }
  .footer-nav .gnav_sns {
    padding-bottom: 1.51515vw; }
  .gnav_sns a {
    display: block;
    width: 9.09091vw; }
    @media only screen and (min-width: 768px) {
      .gnav_sns a {
        width: 2.0202vw; } }
    .gnav_sns a:first-child {
      margin-right: 4.54545vw; }
      @media only screen and (min-width: 768px) {
        .gnav_sns a:first-child {
          margin-right: 1.0101vw; } }

.pp_box {
  color: #000;
  background: #FFF;
  height: 68.18182vw;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  overflow-y: scroll; }
  @media only screen and (min-width: 768px) {
    .pp_box {
      width: 40.40404vw;
      height: 15.15152vw; } }
  .pp_box .left {
    font-size: 3.63636vw;
    text-align: left; }
    @media only screen and (min-width: 768px) {
      .pp_box .left {
        font-size: 1.0101vw; } }
    .pp_box .left p {
      margin-top: 3.40909vw; }
      @media only screen and (min-width: 768px) {
        .pp_box .left p {
          margin-top: 1.0101vw; } }

.pp_box_inner {
  padding: 4.54545vw; }
  @media only screen and (min-width: 768px) {
    .pp_box_inner {
      padding: 1.0101vw; } }

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