@charset "UTF-8";
/*!===========================
このcssはSassから生成されていますので、
直接編集しないようご注意ください。
===========================*/
@import url("https://fonts.googleapis.com/css?family=Advent+Pro:500&display=swap");
html {
  font-feature-settings: 'palt';
  font-size: 62.5%;
  color: #333A46;
  background: #fff; }
  @media (max-width: 1000px) {
    html {
      font-size: 1vw; } }

html,
#pttl small {
  font-family: 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif; }

#gnav, .top-facility02 .machine-info .machine-title .title, .top-facility03 .machine-info .machine-title .title, .top-support .title-bk, .top-other .title-bk, .top-price .title-bk {
  font-family: din-condensed, sans-serif; }

.btn, .btn02, .form [type="button"],
.form [type="submit"],
.form [type="reset"], .btn-taiken {
  font-family: a-otf-futo-go-b101-pr6n, sans-serif;
  font-weight: 500; }

.top-price .wrap .price-area .price-title {
  font-family: 'Advent Pro', sans-serif; }

#pttl {
  font-family: myriad-pro-semi-condensed, sans-serif; }

body {
  line-height: 1.75;
  font-size: 2.2em; }

a {
  color: inherit; }
  a:hover {
    text-decoration: none;
    opacity: 0.8; }

figure {
  text-align: center; }

img {
  max-width: 100% !important;
  height: auto !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4; }

hr {
  clear: both;
  border: 0;
  margin: 60px 0;
  border-top: 1px solid; }

/* class
============================== */
.sp {
  display: none; }

.clearfix::after, #content::after {
  content: "";
  display: block;
  clear: both; }

.right {
  text-align: right !important; }

.center {
  text-align: center !important; }

.aligncenter {
  display: block;
  margin: 0 auto; }

.alignleft,
.alignright {
  max-width: 52% !important;
  margin-bottom: 20px; }

.alignleft {
  float: left;
  margin-right: 40px; }

.alignright {
  float: right;
  margin-left: 40px; }

.nowrap {
  white-space: nowrap; }

.wrap {
  word-break: break-all; }

.kome:not(ul),
ul.kome > li {
  text-indent: -1em;
  padding-left: 1em; }
  .kome:not(ul)::before,
  ul.kome > li::before {
    content: "※"; }

.mtop0 {
  margin-top: 0 !important; }

.mtop10 {
  margin-top: 10px !important; }

.mtop20 {
  margin-top: 20px !important; }

.mtop30 {
  margin-top: 30px !important; }

.col:not(table) {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .col:not(table) > * {
    width: 48%; }
    .col:not(table) > *.col-in1 {
      width: calc(8.33% - 1.5%); }
    .col:not(table) > *.col-in2 {
      width: calc(16.66% - 1.5%); }
    .col:not(table) > *.col-in3 {
      width: calc(24.99% - 1.5%); }
    .col:not(table) > *.col-in4 {
      width: calc(33.32% - 1.5%); }
    .col:not(table) > *.col-in5 {
      width: calc(41.65% - 1.5%); }
    .col:not(table) > *.col-in6 {
      width: calc(49.98% - 1.5%); }
    .col:not(table) > *.col-in7 {
      width: calc(58.31% - 1.5%); }
    .col:not(table) > *.col-in8 {
      width: calc(66.64% - 1.5%); }
    .col:not(table) > *.col-in9 {
      width: calc(74.97% - 1.5%); }
    .col:not(table) > *.col-in10 {
      width: calc(83.3% - 1.5%); }
    .col:not(table) > *.col-in11 {
      width: calc(91.63% - 1.5%); }
    .col:not(table) > *.col-in12 {
      width: 100%; }

.btn, .btn02, .form [type="button"],
.form [type="submit"],
.form [type="reset"] {
  display: block;
  position: relative;
  width: 370px;
  max-width: 100% !important;
  line-height: 1.4;
  font-size: 2rem;
  letter-spacing: .05em;
  text-align: center;
  text-decoration: none;
  color: #000;
  margin: 0 auto;
  padding: .8em 7.4rem .8em .8em;
  background: #2EAFBF url("https://fitnexus.jp/shared/img/arrow01r.svg") right 4rem center/3.4rem no-repeat;
  border: 0;
  border-radius: 0; }

.btn02 {
  color: #fff;
  background-color: #B4945F; }

.btn-taiken {
  display: block;
  position: relative;
  width: 300px;
  max-width: 100% !important;
  letter-spacing: .05em;
  text-align: center;
  text-decoration: none;
  color: #000;
  margin: 0 auto;
  padding: .8em 7.4rem 0 .8em;
  border: 0;
  border-radius: 0; }

.gmap {
  position: relative; }
  .gmap::after {
    content: "";
    display: block;
    padding-top: 30px;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden; }
  .gmap iframe,
  .gmap object,
  .gmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* form
============================== */
.form [type="text"],
.form [type="number"],
.form [type="search"],
.form [type="email"],
.form [type="tel"],
.form [type="url"],
.form [type="password"],
.form [type="date"],
.form [type="datetime-local"],
.form [type="month"],
.form [type="week"],
.form [type="time"],
.form textarea,
.form select {
  width: 100%;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  padding: 8px 10px;
  background-color: #F7F7F7;
  border: 1px solid #ccc;
  border-radius: 3px; }
  .form [type="text"][disabled],
  .form [type="number"][disabled],
  .form [type="search"][disabled],
  .form [type="email"][disabled],
  .form [type="tel"][disabled],
  .form [type="url"][disabled],
  .form [type="password"][disabled],
  .form [type="date"][disabled],
  .form [type="datetime-local"][disabled],
  .form [type="month"][disabled],
  .form [type="week"][disabled],
  .form [type="time"][disabled],
  .form textarea[disabled],
  .form select[disabled] {
    background-color: #ddd; }
.form textarea {
  height: 200px;
  vertical-align: middle; }
.form select::-ms-expand {
  display: none; }
.form [type="button"]::after,
.form [type="submit"]::after,
.form [type="reset"]::after {
  content: normal; }
.form [type="button"]:hover,
.form [type="submit"]:hover,
.form [type="reset"]:hover {
  opacity: .8; }

.form h2 {
  font-size: 3.5rem;
  margin-bottom: 1em;
  margin-top: 2em; }
  .form h2:first-of-type {
    margin-top: 0; }
  .form h2 + p {
    margin-bottom: 1em; }
.form .form-table {
  display: flex;
  flex-wrap: wrap; }
  .form .form-table > dt,
  .form .form-table > dd {
    padding: 3rem;
    border-top: 1px solid #ccc; }
    .form .form-table > dt:first-of-type,
    .form .form-table > dd:first-of-type {
      border-top: 0; }
  .form .form-table > dt {
    width: 30%; }
    .form .form-table > dt .req {
      margin-left: .5em; }
  .form .form-table > dd {
    width: 70%;
    padding-bottom: 1rem;
    border-left: 1px solid #ccc; }
    .form .form-table > dd input,
    .form .form-table > dd textarea,
    .form .form-table > dd select,
    .form .form-table > dd p,
    .form .form-table > dd dl {
      margin-bottom: 2rem; }
    .form .form-table > dd label {
      white-space: nowrap; }
    .form .form-table > dd .error {
      font-size: 1.6rem;
      color: #D00E00; }
.form .question dt {
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 1em; }
  .form .question dt::before {
    content: "■"; }
  .form .question dt:first-of-type {
    margin-top: 0; }
.form .question dd {
  margin-top: .5em; }
.form .survey {
  margin-bottom: 3em; }
  .form .survey dt {
    padding: .5em;
    background: #333A46;
    color: #fff;
    text-indent: inherit; }
    .form .survey dt:before {
      display: none; }
  .form .survey .req {
    margin-left: .5em; }
  .form .survey .caution {
    margin-top: 1em;
    padding: 1em;
    border: 1px dashed #ccc;
    font-size: 1.6rem; }
  .form .survey .error {
    font-size: 1.6rem;
    color: #D00E00; }
  .form .survey + p {
    text-align: center;
    font-size: 1.4rem; }
.form .req {
  font-size: 1.4rem;
  font-weight: normal;
  vertical-align: middle;
  color: #D00E00;
  padding: .2em .5em;
  border: 1px solid; }
.form .submit {
  margin-top: 40px; }

/* ==================================================
layout
================================================== */
footer,
#content > * {
  padding-left: 15px;
  padding-right: 15px; }

header > *,
footer > *,
#content > * > * {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto; }

/* ==================================================
header
================================================== */
header {
  padding-left: 20px;
  color: #fff;
  line-height: 1.2;
  background: #164097;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 60px;
  position: fixed;
  top: 0;
  z-index: 200; }
  header a {
    text-decoration: none; }
  header > div {
    padding-right: 15px;
    width: 100%;
    display: flex;
    align-items: center; }

#hlogo {
  line-height: 1;
  width: 30.0rem; }

#gnav-wrap {
  margin-left: auto; }

#gnav {
  display: flex;
  font-size: 1.6rem; }
  #gnav li {
    margin-left: 2em; }

.drawer-hamburger {
  display: none; }

@media (max-width: 1320px) {
  #hlogo {
    width: 35.0rem; }

  #gnav-wrap {
    padding: 50px 20px;
    color: #fff;
    background: rgba(51, 58, 70, 0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100% !important;
    height: 100%;
    overflow-y: auto;
    transition: none;
    z-index: 3; }

  #gnav {
    margin-left: 0;
    font-size: 2.8rem;
    text-align: center;
    display: block; }
    #gnav li {
      margin: 1em 0 0; }
      #gnav li:first-child {
        margin-top: 0; }
      #gnav li a {
        text-decoration: none; }

  .drawer-hamburger {
    margin: auto;
    padding: 0;
    display: block;
    width: 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px !important; }

  .drawer-hamburger-icon {
    margin: 1.2rem 0; }
    .drawer-hamburger-icon, .drawer-hamburger-icon::before, .drawer-hamburger-icon::after {
      height: 2px;
      background: #fff; }
    .drawer-hamburger-icon::before {
      top: -1.2rem; }
    .drawer-hamburger-icon::after {
      top: 1.2rem; }

  .drawer-overlay {
    display: none !important; } }
/* ==================================================
footer
================================================== */
footer {
  height: 4.7rem;
  line-height: 1.2;
  margin-bottom: 18rem;
  background: #164097; }
  footer a {
    text-decoration: none; }
  #base footer {
    margin-bottom: 0; }

#flink {
  line-height: 4.7rem;
  font-size: 2rem;
  text-align: center;
  color: #fff; }
  #flink a {
    text-decoration: underline; }

#fnav {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding: 0 15px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1500px;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100; }
  #fnav li {
    width: 25%;
    max-width: inherit; }
    #fnav li a {
      width: 100%;
      font-size: 1.4vw;
      letter-spacing: 0;
      background-size: 2rem; }
    #fnav li.entry02 a {
      background-color: #39b54a;
      color: #fff; }
    #fnav li.entry03 a {
      background-color: #f08300;
      color: #fff; }
    #fnav li.pdf a {
      background: #8DC21E url("https://fitnexus.jp/shared/img/icon-pdf.svg") right 2rem center/2rem no-repeat;
      color: #fff; }
    #fnav li.pdf2 a {
      background: #FF9619 url("https://fitnexus.jp/shared/img/icon-pdf.svg") right 2rem center/2rem no-repeat;
      color: #fff; }
    #fnav li.contact a {
      background-color: #B4945F;
      color: #fff; }
    #fnav li.schedule a {
      background: #164097 url("https://fitnexus.jp/shared/img/icon-pdf.svg") right 2rem center/2rem no-repeat;
      color: #fff; }
    #fnav li.mypage a {
      background-color: #164097;
      color: #fff; }
    #fnav li.line a {
      background-color: #06C755;
      color: #fff; }

@media (min-width: 1500px) {
  #fnav li a {
    font-size: 2.0rem; } }
@media (max-width: 900px) {
  footer {
    margin-bottom: 25rem; }

  #fnav {
    margin-bottom: 0; }

  /* ボタン4つの場合 */
  #fnav {
    flex-wrap: wrap;
    padding: 0; }
    #fnav li {
      width: 50% !important; }
      #fnav li a {
        font-size: 2.4rem;
        padding-top: 1em;
        padding-bottom: 1em; }

  /* ボタン3つの場合 */
  /* #fnav {
  	flex-wrap: wrap;
  	padding: 0;
  	li {
  		width: 50%;
  		a {
  			font-size: 2.4rem;
  			padding-top: 1em;
  			padding-bottom: 1em;
  		}
  		&:first-child {
  			width: 100%;
  		}
  	}
  } */
  /* ボタン2つの場合 */
  /* #fnav {
  	flex-wrap: wrap;
  	padding: 0;
  	li {
  		width: 50%;
  		a {
  			font-size: 2.4rem;
  			padding-top: 1em;
  			padding-bottom: 1em;
  		}
  	}
  } */ }
#fnav1 {
  margin-top: 1.5rem;
  margin-bottom: 7.5rem;
  padding: 0 15px;
  display: flex;
  justify-content: right;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90; }
  #fnav1 li {
    width: 25%;
    max-width: inherit; }

@media (min-width: 1500px) {
  #fnav1 li a {
    font-size: 2.0rem; } }
@media (max-width: 900px) {
  footer {
    margin-bottom: 25rem; }

  #fnav1 {
    margin-bottom: 0; } }
/* ==================================================
main
================================================== */
#content {
  overflow-x: hidden; }
  #content > * {
    padding-top: 6rem;
    padding-bottom: 6rem; }
  #content h2 {
    text-align: center; }

#pttl {
  font-size: 9.4rem;
  letter-spacing: .05em;
  text-align: center;
  color: #fff;
  padding-bottom: 8rem;
  background: url("https://fitnexus.jp/shared/img/pttl-bg01.jpg") right center/cover no-repeat; }
  #pttl small {
    display: block;
    font-size: 2.8rem; }
  #pttl > * {
    line-height: 1.2; }
  #pttl .jp {
    font-size: 4rem; }

/* top
============================== */
.corona-atn {
  padding: 0 !important; }
  .corona-atn a {
    padding: 2.0rem 15px;
    color: #d00e00;
    font-size: 2.6rem;
    text-align: center;
    text-decoration: none;
    background: #F4F3D0;
    display: block;
    max-width: inherit !important; }

#top-kv {
  padding: 0 20px 40px;
  background: url("../img/top-kv-bg01.jpg") center top/cover no-repeat;
  overflow: hidden; }
  #top-kv .cp-txt {
    padding: 90px 20px 60px 32%;
    text-align: right;
    max-width: 1300px; }
    #top-kv .cp-txt img {
      width: 100%;
      max-width: inherit !important; }
  #top-kv .cp-txt02 {
    margin: 2.0em auto 0;
    padding: 5px 20px;
    position: relative; }
    #top-kv .cp-txt02::after {
      content: '';
      position: absolute;
      z-index: 1;
      top: 5%;
      left: 50%;
      width: 100vw;
      height: 90%;
      background: linear-gradient(90deg, #947526 0%, #d5af2a 25%, #f9f1ad 50%, #d5af2a 75%, #947526 100%);
      transform: translateX(-50%) skew(0deg, -5deg); }
    #top-kv .cp-txt02 img {
      position: relative;
      z-index: 2; }

#top-kv02 {
  padding: 48% 0 0;
  background: url("../img/top-kv-bg02.jpg") center top/cover no-repeat; }
  #top-kv02 .txt {
    display: none; }

.top-about {
  padding: 0 0 40% !important;
  background: url("../img/top-about-bg01.jpg") center bottom/cover no-repeat;
  min-height: 750px;
  position: relative; }
  .top-about .title {
    margin: 0 auto;
    text-align: center;
    position: absolute;
    top: -15px;
    left: 0;
    right: 0; }
  .top-about .txt {
    margin: 0 auto;
    color: #000;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.9;
    position: absolute;
    top: calc(50% - 35%);
    left: 0;
    right: 0; }

.top-feature {
  background: #000 url("../img/top-feature-bg01-2.jpg") calc(50% + 240px) top no-repeat;
  overflow: hidden;
  /*@media (max-width: 1600px) {
  	background: #000 url("../img/top-feature-bg01.png") right top / 65% no-repeat;
  }*/ }
  @media (max-width: 1350px) {
    .top-feature {
      background: #000 url("../img/top-feature-bg01-2.jpg") right top 5%/60% no-repeat; } }
  .top-feature .wrap {
    max-width: 1050px !important; }
    .top-feature .wrap .title {
      width: 55%;
      max-width: 550px; }
    .top-feature .wrap .feature-list {
      margin-top: 2.0em; }
      .top-feature .wrap .feature-list li {
        position: relative;
        z-index: 2; }
        .top-feature .wrap .feature-list li:nth-child(n + 2) {
          margin-top: 2.0em; }
      .top-feature .wrap .feature-list .no01 {
        padding-right: 45%; }
      .top-feature .wrap .feature-list .no02 {
        padding-right: 45%; }
        .top-feature .wrap .feature-list .no02::before {
          content: '';
          background: url("../img/top-feature-bg02.png") right top/contain no-repeat;
          width: 55%;
          height: 130%;
          position: absolute;
          top: -10%;
          right: -5%;
          z-index: -1; }
      .top-feature .wrap .feature-list .no04 {
        padding-right: 20%; }
        .top-feature .wrap .feature-list .no04::before {
          content: '';
          background: url("../img/top-feature-bg03.png") right bottom/contain no-repeat;
          width: 55%;
          height: 100%;
          position: absolute;
          bottom: 0;
          right: -20%;
          z-index: -1; }

.top-cp {
  margin-top: 2.0em;
  padding: 0 !important; }
  .top-cp .title-area {
    margin-top: 3.0em;
    padding: 2.0em 0 2.5em;
    text-align: center;
    background: #99771b;
    background: -moz-linear-gradient(90deg, #99771b 0%, #deb523 25%, #fff8b0 50%, #deb523 75%, #99771b 100%);
    background: -webkit-linear-gradient(90deg, #99771b 0%, #deb523 25%, #fff8b0 50%, #deb523 75%, #99771b 100%);
    background: linear-gradient(90deg, #99771b 0%, #deb523 25%, #fff8b0 50%, #deb523 75%, #99771b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#99771b",endColorstr="#99771b",GradientType=1);
    max-width: inherit !important;
    position: relative; }
    .top-cp .title-area .txt01 {
      margin: auto;
      padding: 0 15px;
      /*position: absolute;
      top: -60px;
      left: 0;
      right: 0;*/ }
    .top-cp .title-area .txt02 {
      padding: 0.3em 15px;
      color: #fff;
      font-size: 4.0rem;
      font-weight: bold;
      line-height: 1.4;
      background: #000;
      position: relative;
      z-index: 1;
      /*&::after {
      	content: '';
      	background: #000;
      	width: 100%;
      	height: 52%;
      	position: absolute;
      	bottom: 0.5em;
      	left: 0;
      	z-index: -1;
      }*/ }
    .top-cp .title-area .title {
      margin-top: 1.0em;
      padding: 0 50px;
      position: relative;
      z-index: 1; }
  .top-cp .cp-area {
    margin-top: 3.0em;
    padding: 2.0em 15px;
    text-align: center;
    background: url("../img/top-cp-bg01.jpg") right center/cover no-repeat;
    max-width: inherit !important;
    position: relative; }
    .top-cp .cp-area .title {
      margin: auto;
      padding: 0 15px;
      position: absolute;
      top: -65px;
      left: 0;
      right: 0; }
    .top-cp .cp-area.stop {
      margin-top: 2.0em;
      background: url("../img/top-cp-bg01.jpg") right center/cover no-repeat; }
    @media (max-width: 1300px) {
      .top-cp .cp-area .title {
        top: -3%; } }
  .top-cp .cp-area02 {
    margin-top: 3.0em;
    padding: 2.0em 15px;
    text-align: center;
    background: url("../img/top-cp-bg02.jpg") right center/cover no-repeat;
    max-width: inherit !important; }
    .top-cp .cp-area02 .cp-main {
      margin: 0 auto;
      max-width: 1000px; }
      .top-cp .cp-area02 .cp-main .cp-head {
        padding-top: 40px;
        position: relative; }
        .top-cp .cp-area02 .cp-main .cp-head::before, .top-cp .cp-area02 .cp-main .cp-head::after {
          content: '';
          width: 70px;
          height: 70px;
          position: absolute; }
        .top-cp .cp-area02 .cp-main .cp-head::before {
          border-top: 7px solid #fff000;
          border-left: 7px solid #fff000;
          top: 0;
          left: 0; }
        .top-cp .cp-area02 .cp-main .cp-head::after {
          border-top: 7px solid #fff000;
          border-right: 7px solid #fff000;
          top: 0;
          right: 0; }
      .top-cp .cp-area02 .cp-main .cp-foot {
        padding-top: 40px;
        position: relative; }
        .top-cp .cp-area02 .cp-main .cp-foot::before, .top-cp .cp-area02 .cp-main .cp-foot::after {
          content: '';
          width: 70px;
          height: 70px;
          position: absolute; }
        .top-cp .cp-area02 .cp-main .cp-foot::before {
          border-bottom: 7px solid #fff000;
          border-left: 7px solid #fff000;
          bottom: 0;
          left: 0; }
        .top-cp .cp-area02 .cp-main .cp-foot::after {
          border-bottom: 7px solid #fff000;
          border-right: 7px solid #fff000;
          bottom: 0;
          right: 0; }
      .top-cp .cp-area02 .cp-main .cp-body {
        margin: -15px 25px;
        padding: 2.0em;
        text-align: center;
        background: #fff000; }
        .top-cp .cp-area02 .cp-main .cp-body .txt02 {
          margin-top: 1.0em; }
    .top-cp .cp-area02 .cp-btn {
      margin-top: 2.0em; }
    .top-cp .cp-area02 .cp-txt {
      margin-top: 2.0em; }
  .top-cp .pay {
    font-size: 4rem;
    font-weight: 600;
    color: #fff;
    margin-top: 2rem; }
  .top-cp .pay span {
    text-decoration: underline; }
  .top-cp .cp-area03 {
    margin-top: 3.0em;
    padding: 2.0em 15px;
    text-align: center;
    background: url("../img/top-cp-bg03.jpg") center center/cover no-repeat;
    max-width: inherit !important; }
    .top-cp .cp-area03 .cp-main .bg01 {
      margin: -0.5em 0 3.0em;
      position: relative;
      z-index: 1; }
      .top-cp .cp-area03 .cp-main .bg01::before {
        content: '';
        background: #C10074;
        width: 100vw;
        height: 100%;
        position: absolute;
        top: 3px;
        left: 50%;
        transform: translateX(-50%) skew(0deg, -5deg);
        z-index: 1; }
      .top-cp .cp-area03 .cp-main .bg01 img {
        position: relative;
        z-index: 2; }
    .top-cp .cp-area03 .cp-btn {
      margin-top: 2.0em; }
    .top-cp .cp-area03 .cp-txt {
      margin-top: 2.0em; }
  .top-cp .cp-area04 {
    margin-top: 3.0em;
    padding: 2.0em 15px;
    text-align: center;
    background: url("../img/top-cp-bg04.jpg") top right/cover no-repeat;
    max-width: inherit !important; }
    .top-cp .cp-area04 .cp-main .bg01 {
      margin: -0.5em 0 3.0em;
      position: relative;
      z-index: 1; }
      .top-cp .cp-area04 .cp-main .bg01::before {
        content: '';
        background: #C10074;
        width: 100vw;
        height: 100%;
        position: absolute;
        top: 3px;
        left: 50%;
        transform: translateX(-50%) skew(0deg, -5deg);
        z-index: 1; }
      .top-cp .cp-area04 .cp-main .bg01 img {
        position: relative;
        z-index: 2; }
    .top-cp .cp-area04 .cp-btn {
      margin-top: 2.0em; }
    .top-cp .cp-area04 .cp-txt {
      margin-top: 2.0em; }
  .top-cp .cp-area05 {
    margin-top: 3.0em;
    padding: 3.0em 0 0;
    text-align: center;
    background: #000 url("../img/top-cp-bg04.jpg") top right/100% no-repeat;
    max-width: inherit !important; }
    .top-cp .cp-area05 .cp-main {
      /**padding: 0 15px;**/
      width: 110%;
      margin-left: -5vw; }
    .top-cp .cp-area05 .cta1 {
      margin-top: -36vw;
      margin-left: 30vw; }
    .top-cp .cp-area05 .cta2 {
      margin-top: 6.5vw;
      margin-left: 30vw; }
    .top-cp .cp-area05 .cp-btn {
      margin-top: 5vw;
      padding: 0 15px; }
    .top-cp .cp-area05 .cp-txt {
      margin-top: 2.0em;
      padding: 1.5em 15px;
      background: #eee; }
  .top-cp .btn-area {
    padding: 1.5em 20px;
    text-align: center;
    background: #000;
    max-width: inherit !important; }
    .top-cp .btn-area .cp-btn {
      padding: 0 30px; }
    .top-cp .btn-area .flow {
      margin: 2.0em auto 0;
      padding: 1.5em;
      background: #fff;
      max-width: 895px; }
    .top-cp .btn-area .corona {
      margin: 1.0em auto 0;
      padding: 1.5em;
      background: #F2F2E6;
      border-radius: 0.4em;
      max-width: 895px; }

.top-facility {
  background: url("../img/top-facility-bg01.jpg") center center/cover no-repeat; }
  .top-facility .title01 {
    text-align: center; }
  .top-facility .title02 {
    margin-top: 1.5em;
    text-align: center; }
  .top-facility .facility-map {
    margin: 1.5em auto;
    padding: 1.5em;
    background: rgba(255, 255, 255, 0.5);
    max-width: 800px; }

#content .top-pr-anniv {
  padding: 0;
  background: url("../img/top-pr-anniv-bg.jpg") center center/cover no-repeat; }
  #content .top-pr-anniv .wrap {
    position: relative;
    margin: 0 auto;
    padding: 2.5em 2.0em 2.5em 2.0em;
    /**background: rgba(255,255,255,0.8);**/
    max-width: 920px; }
    #content .top-pr-anniv .wrap .btn-wrap {
      position: absolute;
      left: 6%;
      bottom: 8%;
      width: 42%; }
    #content .top-pr-anniv .wrap .btn-wrap1 {
      position: absolute;
      right: 9%;
      bottom: 8%;
      width: 42%; }

.top-facility02, .top-facility03 {
  padding: 0 !important; }
  .top-facility02 .title-area, .top-facility03 .title-area {
    padding: 1.2em 15px;
    text-align: center;
    max-width: inherit !important; }
    .top-facility02 .title-area .txt, .top-facility03 .title-area .txt {
      margin-top: 0.5em;
      font-size: 3.2rem;
      font-weight: bold;
      line-height: 1.4; }
  .top-facility02 .info-area, .top-facility03 .info-area {
    padding: 1.0em 15px;
    text-align: center;
    max-width: inherit !important; }
    .top-facility02 .info-area .txt, .top-facility03 .info-area .txt {
      font-size: 2.2rem;
      font-weight: bold; }
  .top-facility02 .info-area02 .logo-area, .top-facility03 .info-area02 .logo-area {
    margin: 0 auto;
    padding: 0 15px;
    max-width: 760px; }
    .top-facility02 .info-area02 .logo-area dl, .top-facility03 .info-area02 .logo-area dl {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap; }
      .top-facility02 .info-area02 .logo-area dl:nth-child(n + 2), .top-facility03 .info-area02 .logo-area dl:nth-child(n + 2) {
        margin-top: 1.0em; }
      .top-facility02 .info-area02 .logo-area dl dt, .top-facility03 .info-area02 .logo-area dl dt {
        text-align: center;
        width: 27.5%; }
      .top-facility02 .info-area02 .logo-area dl dd, .top-facility03 .info-area02 .logo-area dl dd {
        font-size: 2.0rem;
        font-weight: bold;
        line-height: 1.6;
        width: 70%; }
    @media (max-width: 950px) {
      .top-facility02 .info-area02 .logo-area, .top-facility03 .info-area02 .logo-area {
        max-width: 720px; } }
    @media (max-width: 850px) {
      .top-facility02 .info-area02 .logo-area, .top-facility03 .info-area02 .logo-area {
        max-width: 680px; } }
  .top-facility02 .photo, .top-facility03 .photo {
    padding: 40% 15px 0;
    max-width: inherit !important;
    position: relative; }
    .top-facility02 .photo .wrap, .top-facility03 .photo .wrap {
      padding: 1.5em 15px;
      margin: auto;
      width: 100%;
      max-width: 1000px !important;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; }
      .top-facility02 .photo .wrap .txt-atn, .top-facility03 .photo .wrap .txt-atn {
        color: #fff;
        font-size: 1.4rem;
        text-align: right; }
  .top-facility02 .machine-info, .top-facility03 .machine-info {
    padding: 2.0em 0;
    background: url("../img/top-facility-bg02.png") repeat;
    max-width: inherit !important; }
    .top-facility02 .machine-info .machine-title, .top-facility03 .machine-info .machine-title {
      margin: 0 auto;
      padding: 0 15px; }
      .top-facility02 .machine-info .machine-title:nth-child(n + 2), .top-facility03 .machine-info .machine-title:nth-child(n + 2) {
        margin: 2.0em auto 0; }
      .top-facility02 .machine-info .machine-title .title, .top-facility03 .machine-info .machine-title .title {
        font-size: 4.0rem;
        text-align: center; }
    .top-facility02 .machine-info .logo-area, .top-facility03 .machine-info .logo-area {
      margin: 0 auto;
      padding: 0 15px;
      max-width: 760px; }
      .top-facility02 .machine-info .logo-area dl, .top-facility03 .machine-info .logo-area dl {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap; }
        .top-facility02 .machine-info .logo-area dl:nth-child(n + 2), .top-facility03 .machine-info .logo-area dl:nth-child(n + 2) {
          margin-top: 1.0em; }
        .top-facility02 .machine-info .logo-area dl dt, .top-facility03 .machine-info .logo-area dl dt {
          text-align: center;
          width: 27.5%; }
        .top-facility02 .machine-info .logo-area dl dd, .top-facility03 .machine-info .logo-area dl dd {
          font-size: 2.0rem;
          font-weight: bold;
          line-height: 1.6;
          width: 70%; }
      @media (max-width: 950px) {
        .top-facility02 .machine-info .logo-area, .top-facility03 .machine-info .logo-area {
          max-width: 720px; } }
      @media (max-width: 850px) {
        .top-facility02 .machine-info .logo-area, .top-facility03 .machine-info .logo-area {
          max-width: 680px; } }
    .top-facility02 .machine-info .machine-list, .top-facility03 .machine-info .machine-list {
      margin: 2.0em auto 0; }
      .top-facility02 .machine-info .machine-list .list li, .top-facility03 .machine-info .machine-list .list li {
        padding: 0.5em; }
        .top-facility02 .machine-info .machine-list .list li img, .top-facility03 .machine-info .machine-list .list li img {
          box-shadow: -3px 3px 5px #ccc; }
    .top-facility02 .machine-info .machine-name, .top-facility03 .machine-info .machine-name {
      margin: 2.0em auto 0;
      padding: 0 15px; }

.top-facility02 .title-area {
  background: #286f44; }
  .top-facility02 .title-area .title {
    padding: 0 3.5em; }
  .top-facility02 .title-area .txt {
    color: #000; }
.top-facility02 .info-area {
  background: #599573; }
  .top-facility02 .info-area .txt {
    color: #000; }
.top-facility02 .photo.no01 {
  background: url("../img/top-facility02-img01.jpg") center center/cover no-repeat; }
.top-facility02 .photo.no02 {
  background: url("../img/top-facility02-img02.jpg") center center/cover no-repeat; }

.top-facility03 .title-area {
  background: #80bc26; }
  .top-facility03 .title-area .txt {
    color: #fff; }
.top-facility03 .info-area {
  background: #9fce59; }
  .top-facility03 .info-area .txt {
    color: #000; }
.top-facility03 .info-area02 {
  padding: 1.0em 0; }
.top-facility03 .photo.no01 {
  background: url("../img/top-facility03-img01.jpg") center center/cover no-repeat; }
.top-facility03 .photo.no02 {
  background: url("../img/top-facility03-img02.jpg") center center/cover no-repeat; }
.top-facility03 .photo.no03 {
  padding: 40% 15px 0;
  background: url("../img/top-facility03-02-img01.jpg") center center/cover no-repeat; }
.top-facility03 .photo.no04 {
  padding: 30% 15px 0;
  background: url("../img/top-facility03-02-img02.jpg") center center/cover no-repeat; }

.top-support .title-bk, .top-other .title-bk, .top-price .title-bk {
  padding: 0.2em 15px;
  color: #fff;
  font-size: 4.0rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.05em;
  background: #000;
  max-width: inherit !important; }

.top-support {
  padding: 0 0 4.0em !important;
  background: url("../img/top-facility-bg02.png") repeat; }
  .top-support .wrap {
    padding: 2.0em 15px; }
    .top-support .wrap .title {
      padding: 0 0 130px;
      font-size: 2.8rem;
      text-align: center;
      position: relative; }
      .top-support .wrap .title::after {
        content: '';
        margin: auto;
        background: url("../img/top-support-ico01.svg") center center/contain no-repeat;
        width: 110px;
        height: 110px;
        position: absolute;
        bottom: 10px;
        left: 0;
        right: 0; }
    .top-support .wrap .system .system-title {
      font-size: 4.5rem;
      text-align: center; }
      .top-support .wrap .system .system-title .txt-small {
        font-size: 75%; }
    .top-support .wrap .system .photo {
      margin-top: 1.0em; }
    .top-support .wrap .system .txt {
      margin-top: 1.0em;
      font-size: 2.4rem;
      font-weight: bold;
      text-align: center; }
    .top-support .wrap .flow {
      margin: 2.0em auto 0;
      text-align: center;
      max-width: 800px; }

.top-other {
  padding: 0 !important; }
  .top-other .title-area {
    padding: 1.0em 15px 26%;
    background: url("../img/top-other-bg01.jpg") center center/cover no-repeat;
    max-width: inherit !important; }
    .top-other .title-area .title {
      color: #000;
      font-size: 4.5rem;
      text-align: center; }
      .top-other .title-area .title .txt-small {
        font-size: 80%; }
  .top-other .info-area {
    padding: 0 15px 75%;
    background: url("../img/top-other-bg02.jpg") center center/cover no-repeat;
    max-width: inherit !important;
    position: relative; }
    .top-other .info-area .info-list {
      margin: auto;
      padding: 0 30px;
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      flex-wrap: wrap;
      max-width: 900px;
      position: absolute;
      top: -10%;
      left: 0;
      right: 0; }
      .top-other .info-area .info-list li {
        width: calc(100% / 3 - 15px); }
        .top-other .info-area .info-list li .txt-area {
          margin: 0.5em 0 0; }
          .top-other .info-area .info-list li .txt-area .title {
            color: #fff;
            font-size: 2.8rem;
            text-align: center;
            line-height: 1.4;
            text-shadow: 2px 2px 5px #333; }
          .top-other .info-area .info-list li .txt-area .txt {
            margin: 0.5em 0 0;
            color: #fff;
            font-size: 2.1rem;
            text-align: center;
            line-height: 1.4;
            text-shadow: 2px 2px 5px #333; }
    @media (max-width: 1300px) {
      .top-other .info-area {
        padding: 0 15px 975px; } }

.top-price {
  padding: 0 0 15% !important;
  background: url("../img/top-price-bg01.jpg") center bottom/100% no-repeat, url("../img/top-facility-bg02.png") repeat; }
  .top-price .wrap {
    padding: 2.0em 15px; }
    .top-price .wrap .title {
      color: #000;
      font-size: 4.5rem;
      text-align: center; }
      .top-price .wrap .title .txt-small {
        font-size: 80%; }
    .top-price .wrap .price-area {
      margin-top: 2.0em; }
      .top-price .wrap .price-area .price-title {
        color: #000;
        font-size: 4.5rem;
        text-align: center;
        letter-spacing: 0.05em; }
      .top-price .wrap .price-area .price-title02 {
        margin-top: 0.5em;
        font-size: 2.8rem;
        font-weight: bold;
        text-align: center; }
      .top-price .wrap .price-area .price {
        margin-top: 0.7em; }
        .top-price .wrap .price-area .price img {
          border-radius: 0.8em;
          box-shadow: -3px 3px 7px #ccc;
          width: 100%; }
      .top-price .wrap .price-area .price1 {
        margin: 0; }
        .top-price .wrap .price-area .price1 img {
          border-radius: 0.8em;
          box-shadow: -3px 3px 7px #ccc;
          width: 100%; }
    .top-price .wrap .kome {
      margin-top: 2.0em; }

#top-access {
  line-height: 1.4; }
  #top-access h2 {
    display: none; }
  #top-access > * {
    max-width: 90rem;
    margin-top: 4rem; }
    #top-access > *:first-child {
      margin-top: 0; }
  #top-access .logo {
    margin-top: 0;
    margin-bottom: 4.0rem;
    text-align: center;
    max-width: 500px; }
  #top-access .exterior {
    margin: 0 -15px !important;
    padding: 0 !important;
    background: #d5d4d1;
    background: -moz-linear-gradient(90deg, #d5d4d1 0%, #f2f3f3 100%);
    background: -webkit-linear-gradient(90deg, #d5d4d1 0%, #f2f3f3 100%);
    background: linear-gradient(90deg, #d5d4d1 0%, #f2f3f3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#d5d4d1",endColorstr="#f2f3f3",GradientType=1);
    max-width: inherit; }
    #top-access .exterior .exterior-img {
      margin: 0 auto;
      background: url("../img/top-access-bg01.jpg") center center/cover no-repeat;
      max-width: 1300px;
      height: 536px; }
      @media (max-width: 950px) {
        #top-access .exterior .exterior-img {
          padding: 50% 0 0;
          height: 0; } }
  #top-access .shop-name {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
    #top-access .shop-name .ico {
      padding: 0.5em 0.8em;
      color: #fff;
      font-size: 1.6rem;
      font-weight: bold;
      background: #164097;
      border-radius: 0.3em; }
    #top-access .shop-name .name {
      margin: 0 0 0 0.5em;
      font-size: 3.4rem;
      font-weight: bold; }
  #top-access .add {
    margin-top: 1em;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center; }
  #top-access .tel {
    margin-top: 0.5em;
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center; }
  #top-access .gmap {
    max-width: 105rem;
    margin-top: 3.0em; }
    #top-access .gmap::after {
      padding: 41.4rem 0 0; }
  #top-access .parking {
    text-align: center;
    max-width: 400px; }
  #top-access .open-ttl {
    line-height: 1.75;
    font-size: 2.6rem;
    font-weight: bold;
    text-align: center; }
  #top-access .open {
    margin-top: 3.0em;
    font-size: 2.5rem;
    text-align: center;
    border: 1px solid #333A46; }
    #top-access .open li {
      padding: 2rem 5%; }
      #top-access .open li:nth-child(n+2) {
        padding-top: 0; }
      #top-access .open li.no01 {
        font-size: 2.6rem; }

/* contact thanks
============================== */
#contact-sec01,
#thanks-sec01 {
  background: #E6E6E6; }
  #contact-sec01 > *,
  #thanks-sec01 > * {
    max-width: 1060px;
    padding: 3rem 3rem 6rem;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }

#thanks-sec01 {
  font-size: 1.8rem;
  text-align: center; }
  #thanks-sec01 > * {
    padding-top: 8rem;
    padding-bottom: 8rem; }
  #thanks-sec01 h2 {
    font-size: 3rem;
    margin-bottom: 1em; }
  #thanks-sec01 a {
    display: block;
    width: 335px;
    max-width: 100%;
    text-decoration: none;
    color: #fff;
    margin: 8rem auto 0;
    padding: 1em;
    background: #2EAFBF; }

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