@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Hind:wght@400;500;600;700&display=swap");
/****** Elad Shechter's RESET *******/
/*** box sizing border-box for all elements ***/
*,
*::before,
*::after {
  box-sizing: border-box; }

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer; }

button {
  background-color: transparent;
  color: inherit;
  border-width: 0;
  padding: 0;
  cursor: pointer; }

figure {
  margin: 0; }

input::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin: 0; }

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

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit; }

p {
  margin: 0; }

cite {
  font-style: normal; }

fieldset {
  border-width: 0;
  padding: 0;
  margin: 0; }

.container {
  max-width: none !important; }

/* ------------------------------------
// sass include
------------------------------------ */
/* ------------------------------------
// base
------------------------------------ */
html {
  font-size: 62.5%; }
  @media screen and (max-width: 767px) {
    html {
      font-size: calc(1000vw / 383); } }

body {
  color: #000;
  font-family: "BIZ UDGothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 1.6rem; } }

#wrap {
  position: relative; }

a:link {
  text-decoration: none; }
a:visited {
  text-decoration: none; }
a:hover {
  text-decoration: none; }
a:active {
  text-decoration: none; }

a img {
  transition: .3s; }
  a img:hover {
    opacity: .8; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

@media (min-width: 1023px) {
  a[href^="tel:"] {
    cursor: default;
    pointer-events: none; } }
/* ------------------------------------
// animation
------------------------------------ */
.fadein-a {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transform: translateY(30px); }

.fadein-a.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }

.fadein-b {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transform: translateY(150px); }

.fadein-b.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'BIZ UDGothic', sans-serif;
font-family: 'Hind', sans-serif;
*/
/* CSS Document */
.sp {
  display: none; }

input:focus::-webkit-input-placeholder {
  color: transparent; }

input:focus::-moz-placeholder {
  color: transparent; }

input:focus::-ms-input-placeholder {
  color: transparent; }

input:focus::placeholder {
  color: transparent; }

a {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

@media screen and (max-width: 767px) {
  body {
    min-width: 0; }

  .pc {
    display: none; }

  .sp {
    display: block; } }
/* // main
----------------------------------- */
.mb0 {
  margin-bottom: 0 !important; }

.mb5 {
  margin-bottom: 0.5em !important; }

.mb10 {
  margin-bottom: 1em !important; }

.mb15 {
  margin-bottom: 1.5em !important; }

.mb20 {
  margin-bottom: 2em !important; }

.mb25 {
  margin-bottom: 2.5em !important; }

.mb30 {
  margin-bottom: 3em !important; }

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

.mt5 {
  margin-top: 0.5em !important; }

.mt10 {
  margin-top: 1em !important; }

.bold {
  font-weight: 600; }

.posR {
  text-align: right; }

.posC {
  text-align: center; }

.red {
  color: #cc0000; }

.floRp {
  float: right;
  padding: 0 0 1rem 1rem; }

.sp {
  display: none; }

.pc {
  display: block; }

@media screen and (max-width: 767px) {
  .sp {
    display: block; }

  .pc {
    display: none; } }
/* cmp
------------------------------------ */
#contents {
  position: relative; }

.htype01 {
  font-size: 3rem;
  color: #38434f;
  text-align: center;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 5rem; }
  .htype01 span {
    font-size: 2.4rem; }
  .htype01 span.sub {
    padding-bottom: 1rem;
    display: block;
    font-family: "Hind", sans-serif;
    color: #0daf6f;
    letter-spacing: 0.1rem;
    text-align: center;
    font-size: 3rem;
    font-weight: bold; }

@media screen and (max-width: 767px) {
  .htype01 {
    font-size: 2.8rem;
    color: #38434f;
    text-align: center;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 4rem;
    padding: 0 1rem; }
    .htype01 span {
      font-size: 2.0rem; }
    .htype01 span.sub {
      padding-bottom: 0.5rem;
      display: block;
      font-family: "Hind", sans-serif;
      color: #5abb7d;
      letter-spacing: 0.1rem;
      text-align: center;
      font-size: 3rem;
      font-weight: bold; } }
.price {
  font-family: "Hind", sans-serif;
  font-weight: 700;
  display: inline-block;
  line-height: 1;
  margin: 0 0.5rem 0 0; }

#utility {
  position: fixed;
  top: 1rem;
  right: 2rem;
  display: flex;
  grid-gap: 1rem;
  z-index: 100; }
  #utility li {
    width: 50px; }

@media screen and (max-width: 1024px) {
  #utility {
    position: fixed;
    top: 1rem;
    right: 1rem;
    display: flex;
    grid-gap: 1rem;
    z-index: 100; }
    #utility li {
      line-height: 1;
      width: 5vw; } }
@media screen and (max-width: 767px) {
  #utility li {
    width: 10vw; } }
#sideMenu {
  position: fixed;
  right: 0;
  top: 20vh;
  z-index: 100; }
  #sideMenu li a {
    background: #54af9c;
    background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
    background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
    background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
    border-radius: 5px 0 0 5px;
    display: block;
    padding: 5px 5px 15px 5px;
    margin-bottom: 15px;
    color: #fff;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff; }
    #sideMenu li a img {
      width: 40px;
      margin: 0 0 10px; }
    #sideMenu li a span {
      width: 1em;
      display: block;
      font-size: 2rem;
      margin: 0 auto;
      padding: 0;
      text-align: center;
      line-height: 1;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl; }

@media screen and (max-width: 767px) {
  #sideMenu {
    display: none; } }
/* campaign_01
------------------------------------ */
#campaign_01 {
  max-width: 1200px;
  margin: 10rem auto 0;
  padding: 0 4rem; }
  #campaign_01 .price {
    font-size: 3.6rem; }
  #campaign_01 .box {
    border: 3px solid #38434f;
    background: url("../img/bg_camp01.jpg") no-repeat center center;
    background-size: cover; }
  #campaign_01 .header {
    background: #38434f;
    padding: 0 2rem 2rem 2rem;
    text-align: center;
    position: relative; }
    #campaign_01 .header h2 {
      color: #fff;
      font-size: 3.2rem;
      background: #cc0000;
      color: #fff;
      border-radius: 50vh;
      display: inline-block;
      padding: 1rem 4rem 1.5rem;
      line-height: 1;
      transform: translateY(-50%); }
    #campaign_01 .header p {
      font-size: 1.8rem;
      color: #fff;
      position: absolute;
      bottom: 1rem;
      left: 0;
      width: 100%;
      text-align: center; }
  #campaign_01 .detail {
    padding: 2rem 2rem 0 2rem;
    font-size: 2rem; }
  #campaign_01 .comment {
    text-align: right;
    padding: 0 3rem 0 0;
    margin: 0 0 1rem;
    line-height: 1;
    transform: translateY(-1rem); }
    #campaign_01 .comment span {
      text-align: left;
      position: relative;
      padding: 1rem 2rem;
      background-color: #ffcc00;
      border-radius: 30px;
      font-size: 1.6rem;
      line-height: 1.3;
      margin: 0;
      display: inline-block; }
      #campaign_01 .comment span:before {
        content: "";
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        right: 20%;
        top: -15px;
        border-right: 15px solid transparent;
        border-bottom: 15px solid #ffcc00;
        border-left: 15px solid transparent; }
  #campaign_01 .special {
    border: 2px solid #5fc45f;
    padding: 1rem 1rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background: rgba(255, 255, 255, 0.4);
    margin-bottom: 20px; }
    #campaign_01 .special:first-child {
      margin-bottom: 20px; }
    #campaign_01 .special h3 {
      background: #ffcc00;
      font-size: 2rem;
      padding: 1rem;
      display: flex;
      align-items: center;
      margin-right: 3rem;
      white-space: nowrap; }
    #campaign_01 .special ul.onecoin {
      align-items: center;
      display: flex;
      padding: 1rem;
      line-height: 1.2;
      grid-gap: 2rem;
      font-weight: bold; }
      #campaign_01 .special ul.onecoin li {
        text-align: center; }
        #campaign_01 .special ul.onecoin li.more {
          font-weight: normal;
          font-size: 1.5rem; }
    #campaign_01 .special ul.pricedown li {
      line-height: 1; }
    #campaign_01 .special p.btn {
      width: 100%;
      text-align: center;
      padding-top: 15px; }
      #campaign_01 .special p.btn a {
        display: inline-flex;
        padding: 5px 3rem;
        color: #FFF;
        border-radius: 50vh;
        background: #54af9c;
        background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
        background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
        background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
        gap: 10px; }
        #campaign_01 .special p.btn a:before {
          content: "";
          background: url("/lib/img/icon_taiken.png") no-repeat center center/contain;
          width: 40px;
          height: 32px;
          display: block; }

@media screen and (max-width: 1024px) {
  #campaign_01 .special ul.onecoin {
    display: block; } }
@media screen and (max-width: 767px) {
  #campaign_01 {
    margin: 5rem auto 0;
    padding: 0 2rem; }
    #campaign_01 .header h2 {
      font-size: 2rem;
      padding: 1rem 1rem 1.5rem; }
    #campaign_01 .header p {
      font-size: 1.4rem;
      line-height: 1.2;
      position: relative;
      bottom: auto;
      left: auto; }
    #campaign_01 .detail {
      padding: 1rem 1rem;
      font-size: 1.6rem; }
    #campaign_01 .comment {
      padding: 0 0 0 0; }
    #campaign_01 .special {
      display: block; }
      #campaign_01 .special h3 {
        font-size: 1.8rem;
        line-height: 1;
        padding: 0.5rem;
        display: block;
        margin: 0 0 1rem;
        text-align: center; }
      #campaign_01 .special ul.onecoin {
        display: block; }
        #campaign_01 .special ul.onecoin li.more {
          margin-bottom: 1rem; }
      #campaign_01 .special ul.pricedown {
        text-align: center; }
        #campaign_01 .special ul.pricedown li {
          line-height: 1.3; } }
/* campaign_02
------------------------------------ */
#campaign_02 {
  max-width: 1200px;
  margin: 10rem auto 0;
  padding: 0 4rem; }
  #campaign_02 .limitdate {
    position: absolute;
    top: 0;
    left: 4rem;
    display: inline-block;
    background: linear-gradient(0deg, #f83600 0%, #f9d423 100%);
    color: #FFF;
    font-weight: bold;
    z-index: 1;
    font-size: 3.0vw;
    padding: 10px 15px;
    transform: rotate(-10deg);
    letter-spacing: 0.2em;
    text-shadow: 4px 4px 0 #C00,-2px 2px 0 #C00,2px -2px 0 #C00,-2px -2px 0 #C00; }
    @media screen and (min-width: 1200px) {
      #campaign_02 .limitdate {
        font-size: 3.0rem; } }
    #campaign_02 .limitdate span {
      font-size: 1.6rem; }
    #campaign_02 .limitdate:before {
      display: block;
      height: 100%;
      width: 1.5rem;
      content: "";
      position: absolute;
      right: -1.4rem;
      top: 5px;
      background: linear-gradient(0deg, #f83600 0%, #f9d423 100%); }
    #campaign_02 .limitdate:after {
      display: block;
      height: 100%;
      width: 1.5rem;
      content: "";
      position: absolute;
      left: -1.4rem;
      top: 5px;
      background: linear-gradient(0deg, #f83600 0%, #f9d423 100%); }
  #campaign_02 .box {
    border: 3px solid #38434f;
    background: url("../img/bg_camp02.jpg") no-repeat center center;
    background-size: cover;
    position: relative; }
  #campaign_02 .header {
    background: #38434f;
    padding: 3.5rem 2rem 3.5rem 2rem;
    text-align: center;
    position: relative; }
    #campaign_02 .header h2 {
      position: absolute;
      top: -3.5rem;
      left: 0;
      text-align: center;
      width: 100%; }
      #campaign_02 .header h2 span {
        color: #fff;
        font-size: 3.2rem;
        background: #cc0000;
        color: #fff;
        border-radius: 50vh;
        display: inline-block;
        padding: 1rem 4rem 1.5rem;
        line-height: 1; }
  #campaign_02 .lead {
    background: #38434f;
    font-size: 1.8rem;
    padding: 0 1rem 1rem 1rem;
    color: #fff;
    width: 100%;
    text-align: center; }
    #campaign_02 .lead strong.limit {
      font-size: 3.2rem;
      color: #EBCC00; }
  #campaign_02 .detail {
    text-align: center;
    padding: 2rem 2rem;
    font-size: 2rem; }
  #campaign_02 .comment {
    background: rgba(255, 255, 255, 0.5);
    padding: 1rem 1rem; }
  #campaign_02 .spPriceContainer {
    margin: 3rem 0;
    padding: 30px 1rem;
    background: rgba(255, 255, 255, 0.5); }
  #campaign_02 .spPriceBox {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    border-bottom: 3px dashed #FFF;
    gap: 10px; }
    #campaign_02 .spPriceBox:last-child {
      border-bottom: none; }
    #campaign_02 .spPriceBox .koma {
      font-weight: bold; }
    #campaign_02 .spPriceBox .basePriceNormal {
      font-size: 1.6rem; }
    #campaign_02 .spPriceBox .before {
      display: flex;
      justify-content: flex-end;
      gap: 5px;
      align-items: center; }
    #campaign_02 .spPriceBox .baseprice {
      font-size: 3.6rem;
      font-weight: bold;
      font-family: "Hind", sans-serif;
      line-height: 0.8;
      text-align: right;
      position: relative;
      letter-spacing: 1px; }
      #campaign_02 .spPriceBox .baseprice span.en {
        font-size: 2.4rem;
        font-weight: bold; }
      #campaign_02 .spPriceBox .baseprice span.tax {
        font-size: 1.5rem;
        font-weight: normal; }
      #campaign_02 .spPriceBox .baseprice .taxin {
        font-size: 1.4rem; }
      #campaign_02 .spPriceBox .baseprice:after {
        content: "";
        width: 100%;
        height: 5px;
        background: #CC0000;
        background: rgba(204, 0, 0, 0.8);
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        transform: rotate(15deg);
        transform-origin: 0 0; }
    #campaign_02 .spPriceBox .allow {
      font-size: 2.0rem;
      font-family: "Hind", sans-serif;
      font-weight: bold; }
    #campaign_02 .spPriceBox .after {
      display: flex;
      justify-content: flex-start;
      gap: 5px;
      align-items: center; }
    #campaign_02 .spPriceBox .afterprice {
      font-size: 3.6rem;
      font-weight: bold;
      font-family: "Hind", sans-serif;
      line-height: 0.8;
      text-align: right;
      position: relative;
      letter-spacing: 1px; }
      #campaign_02 .spPriceBox .afterprice span.en {
        font-size: 2.4rem;
        font-weight: bold; }
      #campaign_02 .spPriceBox .afterprice span.tax {
        font-size: 1.5rem;
        font-weight: normal; }
      #campaign_02 .spPriceBox .afterprice .taxin {
        font-size: 1.4rem; }
    #campaign_02 .spPriceBox .mark {
      border: 4px solid #CC0000;
      border-radius: 2px 10px;
      padding: 5px 10px;
      text-align: center;
      background: rgba(188, 0, 3, 0.6);
      background: rgba(255, 103, 25, 0.8);
      background: rgba(255, 255, 255, 0.4);
      font-size: 1.4rem;
      font-weight: bold;
      color: #FFF;
      color: #CC0000;
      line-height: 1.2;
      aspect-ratio: 1;
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
  #campaign_02 .price {
    margin: 3rem 0;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.5); }
    #campaign_02 .price th, #campaign_02 .price td {
      padding: 2rem .5rem;
      text-align: right;
      font-weight: normal;
      vertical-align: top; }
    #campaign_02 .price span {
      font-size: 15px;
      font-weight: normal !important; }
    #campaign_02 .price td:nth-child(3),
    #campaign_02 .price td:nth-child(5) {
      font-weight: bold;
      font-size: 3.6rem;
      line-height: 1; }
    #campaign_02 .price td:nth-child(3) {
      background: url("../img/nanamesen.svg") no-repeat 0 0; }
    #campaign_02 .price td .mark {
      border: 4px solid #FFF;
      border-radius: 6px;
      padding: 5px;
      text-align: center;
      background: rgba(188, 0, 3, 0.6);
      font-size: 1.4rem;
      color: #FFF; }

@media screen and (max-width: 1024px) {
  #campaign_02 .limitdate {
    position: absolute;
    top: 0;
    left: 4rem;
    display: inline-block;
    background: linear-gradient(0deg, #f83600 0%, #f9d423 100%);
    color: #FFF;
    font-weight: bold;
    z-index: 1;
    font-size: 2.0vw;
    padding: 10px 15px;
    transform: rotate(-10deg);
    letter-spacing: 0.2em;
    text-shadow: 4px 4px 0 #C00,-2px 2px 0 #C00,2px -2px 0 #C00,-2px -2px 0 #C00; }
    #campaign_02 .limitdate span {
      font-size: 1.6rem; }
    #campaign_02 .limitdate:before {
      display: block;
      height: 100%;
      width: 1.5rem;
      content: "";
      position: absolute;
      right: -1.4rem;
      top: 5px;
      background: linear-gradient(0deg, #f83600 0%, #f9d423 100%); }
    #campaign_02 .limitdate:after {
      display: block;
      height: 100%;
      width: 1.5rem;
      content: "";
      position: absolute;
      left: -1.4rem;
      top: 5px;
      background: linear-gradient(0deg, #f83600 0%, #f9d423 100%); }
  #campaign_02 .header {
    padding: 3.5rem 2rem 3.5rem 2rem;
    text-align: center; } }
@media screen and (max-width: 767px) {
  #campaign_02 {
    margin: 5rem auto 0;
    padding: 0 2rem; }
    #campaign_02 .limitdate {
      position: relative;
      top: auto;
      left: auto;
      display: block;
      background: linear-gradient(0deg, #f83600 0%, #f9d423 100%);
      color: #FFF;
      font-weight: bold;
      z-index: 1;
      text-align: center;
      font-size: 3.0rem;
      padding: 3px 10px;
      margin-bottom: 1rem;
      transform: rotate(-2deg) translateY(2rem); }
      #campaign_02 .limitdate span {
        font-size: 2.0rem; }
    #campaign_02 .header {
      padding: 1.5rem 2rem 1.5rem 2rem; }
      #campaign_02 .header h2 {
        top: auto;
        position: relative;
        left: auto;
        padding: 0;
        margin: 0 -1rem;
        width: calc(100% + 2rem); }
        #campaign_02 .header h2 span {
          color: #fff;
          font-size: 2.0rem;
          line-height: 1.2;
          background: #cc0000;
          color: #fff;
          border-radius: 50vh;
          display: block;
          padding: 1rem 2rem 1.5rem; }
    #campaign_02 .lead {
      font-size: 1.6rem; }
      #campaign_02 .lead strong.limit {
        font-size: 1.6rem; }
    #campaign_02 .detail {
      padding: 2rem 1rem; }
    #campaign_02 .comment {
      font-size: 1.8rem; }
    #campaign_02 .spPriceBox {
      display: block;
      position: relative;
      gap: 5px; }
      #campaign_02 .spPriceBox .allow {
        transform: rotate(90deg); }
      #campaign_02 .spPriceBox .before {
        justify-content: center;
        align-items: flex-start; }
      #campaign_02 .spPriceBox .basePriceNormal {
        font-size: 1.4rem; }
      #campaign_02 .spPriceBox .after {
        justify-content: center; }
      #campaign_02 .spPriceBox .mark {
        border: 4px solid #CC0000;
        border-radius: 2px 10px;
        padding: 5px 5px;
        text-align: center;
        background: rgba(188, 0, 3, 0.6);
        background: rgba(255, 103, 25, 0.8);
        background: rgba(255, 255, 255, 0.4);
        font-size: 1.4rem;
        font-weight: bold;
        color: #FFF;
        color: #CC0000;
        line-height: 1.2;
        aspect-ratio: 1;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center; }
    #campaign_02 .price {
      margin: 3rem 0;
      padding: 1rem;
      background: rgba(255, 255, 255, 0.5);
      display: block;
      width: 100%; }
      #campaign_02 .price th, #campaign_02 .price td {
        padding: .5rem 0;
        text-align: right;
        font-weight: normal;
        display: block;
        font-size: 1.4rem; }
      #campaign_02 .price tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center; }
        #campaign_02 .price tr th {
          width: 100%;
          text-align: center;
          padding-top: 2rem; }
      #campaign_02 .price span {
        font-size: 10px;
        font-weight: normal !important; }
      #campaign_02 .price th {
        font-size: 2.3rem;
        font-weight: bold; }
      #campaign_02 .price td:nth-child(4) {
        width: 100%;
        text-align: center; }
        #campaign_02 .price td:nth-child(4) span {
          display: inline-block;
          transform: rotate(90deg); }
      #campaign_02 .price td:nth-child(3),
      #campaign_02 .price td:nth-child(5) {
        font-weight: bold;
        font-size: 2.3rem;
        padding-left: 1rem; }
      #campaign_02 .price td:nth-child(3) {
        background: url("../img/nanamesen.svg") no-repeat 0 0;
        font-size: 1.8rem; } }
/* campaign_bnr
------------------------------------ */
#campaign_bnr {
  max-width: 1200px;
  margin: 2rem auto 4rem;
  padding: 0 4rem; }

@media screen and (max-width: 767px) {
  #campaign_bnr {
    padding: 0 2rem; } }
/* top
------------------------------------ */
#vi {
  position: relative;
  width: 100%;
  text-align: center;
  background: url("/lib/img/vi.jpg") no-repeat 0 0;
  background-size: cover;
  padding: 5% 0; }
  #vi.under {
    padding: 0; }
  #vi:before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("/lib/img/vi_cover.png") repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
  #vi .viImage {
    z-index: 0; }
  #vi h1 {
    position: relative;
    max-width: 1000px;
    width: 100%;
    padding: 0 0;
    box-sizing: border-box;
    margin: 0 auto 8%;
    z-index: 3; }
  #vi .date {
    position: relative;
    max-width: 1120px;
    width: 100%;
    z-index: 3;
    text-align: left;
    margin: 0 auto;
    padding: 0 6rem; }
    #vi .date img {
      width: 50%; }
  #vi .nowprinting {
    position: absolute;
    right: 5%;
    bottom: 30px;
    z-index: 100;
    width: 50%;
    transform: rotate(10deg) translateY(-100%); }

#viUnder {
  background: #54af9c;
  background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
  background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
  background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
  padding: 1.5rem 1.5rem; }
  #viUnder ul {
    display: flex;
    justify-content: center; }
    #viUnder ul .text {
      color: #fff;
      font-family: "BIZ UDGothic", sans-serif;
      font-size: 1.8rem;
      line-height: 1.2; }
      #viUnder ul .text span {
        font-family: "BIZ UDGothic", sans-serif;
        font-size: 2.4rem; }
    #viUnder ul .btn {
      padding-left: 1.5rem; }
      #viUnder ul .btn a {
        font-family: "BIZ UDGothic", sans-serif;
        font-size: 1.6rem;
        border-radius: 4px;
        background: #fff;
        padding: 0.6rem 2rem 0.4rem;
        padding-left: calc(2rem + 1.7rem);
        text-decoration: underline;
        position: relative; }
        #viUnder ul .btn a:before {
          position: absolute;
          top: 0.4rem;
          left: 1.7rem;
          content: "";
          background: url("/lib/img/icon_map.png") no-repeat;
          background-size: 100% auto;
          width: 1.3rem;
          height: 2.2rem;
          display: inline-block;
          vertical-align: middle;
          margin-right: 0.5rem; }

#gnavi {
  background: #54af9c;
  background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
  background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
  background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
  padding: 0 2rem 0 2rem;
  position: relative;
  z-index: 5; }
  #gnavi .menu {
    display: flex;
    justify-content: space-between; }
    #gnavi .menu > ul {
      width: 45%;
      display: flex;
      justify-content: space-between; }
      #gnavi .menu > ul li {
        display: flex;
        align-items: center;
        position: relative;
        font-size: 1.4vw; }
        #gnavi .menu > ul li a {
          display: block;
          color: #fff;
          padding: 1.5rem 1rem;
          text-align: center;
          line-height: 1.2; }
          #gnavi .menu > ul li a:hover:before {
            content: "";
            position: absolute;
            left: 25%;
            top: 0;
            border: 1px solid #fff;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            transform: translateX(-50%);
            opacity: 1;
            /*アニメーションの設定*/
            animation: 1s circleanime2 forwards; }
    #gnavi .menu li.logo {
      display: flex;
      width: 10%;
      position: relative; }
      #gnavi .menu li.logo a {
        padding: 0; }
        #gnavi .menu li.logo a img {
          position: absolute;
          top: 50%;
          transform: translateY(-50%); }
  #gnavi.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 140px 0 70px; }
    #gnavi.fixed .menu > ul {
      width: 47%; }
      #gnavi.fixed .menu > ul li a {
        font-size: 1.4vw; }
        #gnavi.fixed .menu > ul li a span {
          display: none; }
    #gnavi.fixed .menu li.logo {
      align-items: center;
      justify-content: space-between;
      text-align: center;
      width: 8%; }
      #gnavi.fixed .menu li.logo a img {
        transform: translateY(0%);
        position: relative;
        top: 0;
        width: 80%; }

@keyframes circleanime2 {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(2);
    opacity: 0; } }
@media screen and (max-width: 1024px) {
  #gnavi {
    padding: 0 2rem 0 2rem; }
    #gnavi .menu li a {
      font-size: 1.2rem;
      padding: 1.5rem 0.5rem; }
      #gnavi .menu li a span {
        display: none; }
    #gnavi.fixed {
      padding: 0 100px 0 20px; } }
@media screen and (max-width: 767px) {
  #vi {
    padding: 5% 0;
    padding-top: calc(5% + 5vw); }
    #vi .date {
      padding: 0 2rem; }
      #vi .date img {
        width: 60%; }

  #gnavi {
    display: block;
    padding: 0; }
    #gnavi .menu {
      justify-content: space-between; }
      #gnavi .menu > ul {
        width: 50%; }
        #gnavi .menu > ul .toppage, #gnavi .menu > ul .plan, #gnavi .menu > ul .photos, #gnavi .menu > ul .access {
          display: none; }
        #gnavi .menu > ul li {
          justify-content: center;
          border-right: 1px solid #FFF;
          width: 50%;
          text-align: center; }
          #gnavi .menu > ul li.staff {
            border-right: none; }
          #gnavi .menu > ul li a {
            padding: 1.0rem 2.5vw;
            font-size: 2.7vw; }
      #gnavi .menu li.logo {
        display: none; } }
/* news
------------------------------------ */
#news {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 8rem 4rem; }
  #news ul.newslist {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
    flex-wrap: wrap; }
    #news ul.newslist::before, #news ul.newslist::after {
      content: "";
      width: 23%;
      height: 0;
      display: block; }
    #news ul.newslist::before {
      order: 1; }
    #news ul.newslist > li {
      width: 23%;
      margin-bottom: 5rem; }
      #news ul.newslist > li .thumb {
        background: #eee;
        margin-bottom: 2rem;
        aspect-ratio: 3 / 2; }
        #news ul.newslist > li .thumb img {
          aspect-ratio: 3 / 2;
          object-fit: cover;
          width: 100%; }
      #news ul.newslist > li ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 1rem; }
        #news ul.newslist > li ul li {
          line-height: 1; }
        #news ul.newslist > li ul .category {
          font-family: "Hind", sans-serif;
          font-size: 1.8rem;
          font-weight: bold;
          background: linear-gradient(transparent 80%, #5abb7d 80%); }
      #news ul.newslist > li p {
        text-align: justify;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3; }
  #news .link {
    text-align: center;
    padding: 10px 0; }
    #news .link a {
      font-weight: bold;
      display: inline-block;
      border-radius: 5px;
      padding: 1rem 5rem;
      border: #5abb7d;
      color: #fff;
      transition: all 150ms ease-in-out;
      box-shadow: 0 0 40px 40px #5abb7d inset, 0 0 0 0 #5abb7d; }
      #news .link a:hover {
        box-shadow: 0 0 10px 0 #fff inset, 0 0 10px 4px #5abb7d;
        color: #5abb7d; }
  #news .categoryLink {
    display: flex;
    justify-content: center;
    grid-gap: 1rem;
    margin-bottom: 3rem; }
    #news .categoryLink li a {
      font-weight: bold;
      display: inline-block;
      border-radius: 5px;
      padding: 1rem 1rem;
      border: #5abb7d;
      color: #fff;
      transition: all 150ms ease-in-out;
      box-shadow: 0 0 40px 40px #5abb7d inset, 0 0 0 0 #5abb7d; }
      #news .categoryLink li a:hover, #news .categoryLink li a.current {
        box-shadow: 0 0 10px 0 #fff inset, 0 0 10px 4px #5abb7d;
        color: #5abb7d; }

#news article {
  margin: 0 auto 5rem auto;
  max-width: 750px; }
  #news article h3 {
    font-weight: bold;
    margin-bottom: 3rem;
    font-size: 2rem; }
  #news article ul.date {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 3px;
    margin: 0 auto 1rem auto;
    background: linear-gradient(transparent 80%, #5abb7d 80%); }
    #news article ul.date > li {
      line-height: 1; }
      #news article ul.date > li.category {
        font-family: "Hind", sans-serif;
        font-size: 1.8rem;
        font-weight: bold; }
  #news article .photo {
    margin-bottom: 3rem;
    max-width: 600px;
    margin: 0 auto 3rem;
    text-align: center; }

.pager {
  display: flex;
  justify-content: center;
  grid-gap: 1rem; }
  .pager li a {
    background: #0daf6f;
    border: 1px solid #0daf6f;
    width: 4rem;
    height: 4rem;
    position: relative;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    border-radius: 50vh;
    color: #fff; }
    .pager li a:hover {
      background: #fff;
      border: 1px solid #0daf6f;
      color: #0daf6f; }
  .pager li span {
    background: #fff;
    border: 1px solid #0daf6f;
    color: #0daf6f;
    font-weight: bold;
    width: 4rem;
    height: 4rem;
    position: relative;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    border-radius: 50vh; }

@media screen and (max-width: 767px) {
  #news {
    padding: 5rem 2rem;
    margin-bottom: 3rem; }
    #news ul.newslist::before, #news ul.newslist::after {
      display: none; }
    #news ul.newslist > li {
      width: 48%;
      margin-bottom: 2rem; }
      #news ul.newslist > li ul .date {
        font-size: 1.4rem; }
      #news ul.newslist > li p {
        font-size: 1.4rem; }
    #news .link {
      font-size: 1.6rem; } }
/* plan
------------------------------------ */
#plan {
  padding: 5rem 2rem;
  background: #fff; }
  #plan ul {
    text-align: center; }
    #plan ul li {
      margin-bottom: 3rem; }

#sfitPlan {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 4rem; }
  #sfitPlan .planFlame {
    border: 1px solid #5abb7d;
    margin: 3rem 0; }
    #sfitPlan .planFlame .baseprice {
      display: flex;
      justify-content: space-between; }
      #sfitPlan .planFlame .baseprice h2 {
        background: #0daf6f;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
        font-weight: bold;
        font-size: 2.4rem;
        width: 35%; }
      #sfitPlan .planFlame .baseprice .detail {
        padding: 1rem 2rem;
        width: 65%;
        display: table-cell; }
        #sfitPlan .planFlame .baseprice .detail .price {
          font-size: 3.6rem;
          line-height: 0.6; }
        #sfitPlan .planFlame .baseprice .detail .price-unit {
          font-size: 2rem;
          font-weight: bold; }
        #sfitPlan .planFlame .baseprice .detail .price-tax {
          font-size: 1.4rem; }
        #sfitPlan .planFlame .baseprice .detail .price-term {
          font-size: 1.4rem;
          display: block;
          text-align: left;
          margin-bottom: 1rem; }
        #sfitPlan .planFlame .baseprice .detail dl.kakaku {
          margin-bottom: 0;
          line-height: 1;
          text-align: right;
          padding: 0; }
          #sfitPlan .planFlame .baseprice .detail dl.kakaku dt {
            margin-bottom: 0;
            white-space: nowrap; }
          #sfitPlan .planFlame .baseprice .detail dl.kakaku dd {
            margin-bottom: 0; }
            #sfitPlan .planFlame .baseprice .detail dl.kakaku dd .price {
              font-size: 1.6rem; }
            #sfitPlan .planFlame .baseprice .detail dl.kakaku dd .price-unit {
              font-size: 1.2rem;
              font-weight: bold; }
            #sfitPlan .planFlame .baseprice .detail dl.kakaku dd .price-tax {
              font-size: 1.2rem; }
        #sfitPlan .planFlame .baseprice .detail dl.personalPrice {
          color: #0daf6f;
          color: #000;
          margin: 2rem 0 0;
          line-height: 1; }
          #sfitPlan .planFlame .baseprice .detail dl.personalPrice dt {
            float: left;
            clear: both;
            font-weight: bold;
            font-size: 2.0rem;
            padding: .5rem 0 0 0;
            white-space: nowrap; }
          #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd {
            padding: .5em 0 0 7em;
            margin-bottom: 1rem; }
            #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd .price {
              font-size: 2.8rem; }
            #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd .price-unit {
              font-size: 1.2rem;
              font-weight: bold; }
            #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd .price-tax {
              font-size: 1.2rem; }
            #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd .taxin {
              font-size: 80%; }
              #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd .taxin .price {
                font-size: 1.4rem; }
              #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd .taxin .price-unit {
                font-size: 1.0rem;
                font-weight: bold; }
              #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd .taxin .price-tax {
                font-size: 1.0rem; }
        #sfitPlan .planFlame .baseprice .detail p.optionalcampaign strong {
          font-size: 2.0rem;
          margin-bottom: 0; }
        #sfitPlan .planFlame .baseprice .detail dl.optionalPrice {
          color: #0daf6f;
          color: #000;
          margin: 0 0 0;
          line-height: 1; }
          #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dt {
            float: left;
            clear: both;
            font-weight: bold;
            font-size: 2.0rem;
            padding: .5rem 0 0 0;
            white-space: nowrap; }
          #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd {
            padding: .5em 0 0 12em;
            margin-bottom: 1rem; }
            #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd .price {
              font-size: 2.8rem; }
            #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd .price-unit {
              font-size: 1.2rem;
              font-weight: bold; }
            #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd .price-tax {
              font-size: 1.2rem; }
            #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd .taxin {
              font-size: 80%; }
              #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd .taxin .price {
                font-size: 1.4rem; }
              #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd .taxin .price-unit {
                font-size: 1.0rem;
                font-weight: bold; }
              #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd .taxin .price-tax {
                font-size: 1.0rem; }
        #sfitPlan .planFlame .baseprice .detail .campaign {
          display: flex;
          grid-gap: 2rem;
          align-items: flex-end; }
          #sfitPlan .planFlame .baseprice .detail .campaign li {
            font-size: 2.4rem;
            position: relative;
            padding: 0 0 0 3rem;
            margin: 0; }
            #sfitPlan .planFlame .baseprice .detail .campaign li.red {
              color: #CC0000; }
            #sfitPlan .planFlame .baseprice .detail .campaign li:first-child {
              padding: 0 0 0 0rem; }
            #sfitPlan .planFlame .baseprice .detail .campaign li:first-child:before {
              content: "";
              width: 100%;
              height: 100%;
              background: #cc0000;
              clip-path: polygon(0 10%, 0% 5%, 100% 90%, 100% 95%);
              position: absolute;
              top: 0%;
              left: 0; }
            #sfitPlan .planFlame .baseprice .detail .campaign li:last-child:before {
              content: "";
              background: url("/lib/img/icon_allow.png");
              background-size: contain;
              width: 30px;
              height: 30px;
              position: absolute;
              left: -10px;
              top: 50%;
              transform: rotate(-90deg) translateX(50%); }
        #sfitPlan .planFlame .baseprice .detail p {
          font-size: 1.6rem; }
        #sfitPlan .planFlame .baseprice .detail .camgym {
          font-size: 2.4rem;
          line-height: 1.2;
          margin-bottom: 2rem; }
        #sfitPlan .planFlame .baseprice .detail .lead {
          font-size: 1.6rem;
          margin: 1rem 0 0;
          padding: 1rem 0 0;
          border-top: 1px dashed #5abb7d; }
        #sfitPlan .planFlame .baseprice .detail .comment {
          font-size: 1.2rem; }
        #sfitPlan .planFlame .baseprice .detail .personalTitle {
          font-size: 2.4rem;
          color: #CC0000;
          font-weight: bold;
          margin-bottom: 2rem; }
          #sfitPlan .planFlame .baseprice .detail .personalTitle span {
            background: linear-gradient(transparent 70%, #ffcc00 70%); }
        #sfitPlan .planFlame .baseprice .detail .personalTitle2 {
          font-size: 2.4rem;
          color: #CC0000;
          font-weight: bold;
          margin: 2rem 0 1rem; }
        #sfitPlan .planFlame .baseprice .detail .personal {
          margin-bottom: 1rem; }
          #sfitPlan .planFlame .baseprice .detail .personal h3 {
            font-weight: bold;
            font-size: 2.4rem;
            margin-bottom: 1rem;
            color: #0daf6f; }
  #sfitPlan .panel {
    padding: 4rem 4rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #sfitPlan .panel .panelTitle {
      background: #5abb7d;
      width: 100%;
      text-align: center;
      padding: 1rem;
      color: #FFF; }
      #sfitPlan .panel .panelTitle h3 {
        font-size: 2.4rem; }
      #sfitPlan .panel .panelTitle p {
        font-size: 1.4rem;
        padding: 0; }
    #sfitPlan .panel .panel-gym {
      width: 30%;
      padding: 0 1.5rem 2rem 1.5rem;
      border-left: 1px dashed #5abb7d; }
      #sfitPlan .panel .panel-gym.personal {
        width: 70%;
        border-left: none; }
      #sfitPlan .panel .panel-gym .comment {
        text-align: center;
        background: #aad9bb;
        border-radius: 5px;
        padding: .5rem;
        font-size: 1.4rem; }
    #sfitPlan .panel dl.title {
      padding: 2rem 1rem;
      text-align: center; }
      #sfitPlan .panel dl.title dt {
        font-size: 2.0rem;
        font-weight: bold;
        margin-bottom: 0;
        color: #CC0000; }
        #sfitPlan .panel dl.title dt .icon {
          width: 5.0rem;
          max-width: 180px;
          margin: 0 auto .4rem; }
      #sfitPlan .panel dl.title dd {
        font-size: 1.6rem; }
        #sfitPlan .panel dl.title dd span {
          font-size: 1.4rem; }
    #sfitPlan .panel .training {
      padding: 0; }
      #sfitPlan .panel .training dt {
        font-size: 1.6rem;
        text-align: center; }
      #sfitPlan .panel .training dd {
        margin: .6rem 0;
        text-align: left;
        font-size: 1.5rem;
        line-height: 1.5; }
  #sfitPlan .pricebox {
    padding: 2rem 4rem;
    margin: 0 auto; }
    #sfitPlan .pricebox .freebox {
      border: 2px solid #ffcc00;
      padding: 0 3rem; }
      #sfitPlan .pricebox .freebox .free {
        display: block;
        margin: 0;
        background: #ffcc00;
        font-size: 3.2rem;
        font-weight: bold;
        padding: 1rem 3rem;
        border-radius: 50vh;
        text-align: center;
        transform: translateY(-50%); }
    #sfitPlan .pricebox .pricetable ul {
      display: table;
      width: 100%;
      margin-bottom: 2rem; }
      #sfitPlan .pricebox .pricetable ul li {
        border: 1px solid #aad9bb;
        display: table-cell; }
        #sfitPlan .pricebox .pricetable ul li > dl > dt {
          background: #0daf6f;
          font-weight: bold;
          padding: 1rem;
          text-align: center;
          color: #fff;
          font-size: 1.8rem; }
        #sfitPlan .pricebox .pricetable ul li > dl > dd {
          padding: 2rem 1rem;
          vertical-align: top;
          text-align: center; }
          #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku {
            margin-bottom: 1rem; }
            #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku .price {
              font-size: 3.2rem; }
            #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku .price-unit {
              font-size: 2rem;
              font-weight: bold; }
            #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku .price-tax {
              font-size: 1.4rem; }
            #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku dd .price {
              font-size: 2rem; }
            #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku dd .price-unit {
              font-size: 1.6rem;
              font-weight: bold; }
            #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku dd .price-tax {
              font-size: 1.2rem; }
          #sfitPlan .pricebox .pricetable ul li > dl > dd dl.ticket .price {
            font-size: 3rem;
            margin: 0 0.5rem; }

@media screen and (max-width: 1024px) {
  #sfitPlan .planFlame .baseprice h2 {
    width: 28%; }
  #sfitPlan .planFlame .baseprice .detail {
    width: 72%; }
  #sfitPlan .panel {
    padding: 4rem 2rem; }
    #sfitPlan .panel .panel-gym {
      width: 100%;
      padding: 0 1rem 2rem 1rem;
      border-bottom: 1px dashed #5abb7d;
      border-left: none; }
      #sfitPlan .panel .panel-gym.personal {
        width: 100%;
        border-left: none; }
    #sfitPlan .panel dl {
      padding: 2rem 0rem; }
  #sfitPlan .pricebox .pricetable ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    #sfitPlan .pricebox .pricetable ul li {
      width: 50%; }
      #sfitPlan .pricebox .pricetable ul li > dl > dd dl.ticket dt br {
        display: none; } }
@media screen and (max-width: 767px) {
  #sfitPlan .planFlame .baseprice {
    display: block;
    width: 100%; }
    #sfitPlan .planFlame .baseprice h2 {
      width: 100%; }
    #sfitPlan .planFlame .baseprice .detail {
      width: 100%;
      font-size: 2.4rem;
      display: block; }
      #sfitPlan .planFlame .baseprice .detail .price {
        font-size: 3.6rem; }
      #sfitPlan .planFlame .baseprice .detail .price-unit {
        font-size: 2rem;
        font-weight: bold; }
      #sfitPlan .planFlame .baseprice .detail .price-tax {
        font-size: 1.4rem; }
      #sfitPlan .planFlame .baseprice .detail .price-term {
        font-size: 1.4rem;
        text-align: center; }
      #sfitPlan .planFlame .baseprice .detail dl.kakaku {
        margin-bottom: 0;
        line-height: 1;
        text-align: center;
        padding: 0; }
        #sfitPlan .planFlame .baseprice .detail dl.kakaku dt {
          margin-bottom: 0; }
        #sfitPlan .planFlame .baseprice .detail dl.kakaku dd {
          margin-bottom: 0; }
          #sfitPlan .planFlame .baseprice .detail dl.kakaku dd .price {
            font-size: 2rem; }
          #sfitPlan .planFlame .baseprice .detail dl.kakaku dd .price-unit {
            font-size: 1.6rem;
            font-weight: bold; }
          #sfitPlan .planFlame .baseprice .detail dl.kakaku dd .price-tax {
            font-size: 1.2rem; }
      #sfitPlan .planFlame .baseprice .detail dl.personalPrice {
        margin: 2rem 0 0;
        line-height: 1; }
        #sfitPlan .planFlame .baseprice .detail dl.personalPrice dt {
          float: none;
          margin-bottom: 1rem; }
        #sfitPlan .planFlame .baseprice .detail dl.personalPrice dd {
          padding: 0; }
      #sfitPlan .planFlame .baseprice .detail dl.optionalPrice {
        margin: 2rem 0 0;
        line-height: 1; }
        #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dt {
          float: none;
          margin-bottom: 1rem; }
        #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd {
          padding: 0 0 0 2em; }
          #sfitPlan .planFlame .baseprice .detail dl.optionalPrice dd ul.campaign {
            margin-left: -2em; }
      #sfitPlan .planFlame .baseprice .detail p {
        font-size: 1.8rem; }
      #sfitPlan .planFlame .baseprice .detail .campaign {
        display: block; }
        #sfitPlan .planFlame .baseprice .detail .campaign li {
          position: relative;
          padding: 1rem 0 0 0;
          margin: 0;
          text-align: center; }
          #sfitPlan .planFlame .baseprice .detail .campaign li:last-child {
            padding-top: 4rem; }
            #sfitPlan .planFlame .baseprice .detail .campaign li:last-child:before {
              content: "";
              background: url("/lib/img/icon_allow.png");
              background-size: contain;
              width: 30px;
              height: 30px;
              position: absolute;
              left: 50%;
              top: -0%;
              transform: rotate(0deg) translateX(-50%); }
      #sfitPlan .planFlame .baseprice .detail .lead {
        font-size: 2.0rem;
        margin: 1rem 0 0;
        padding: 1rem 0 0;
        border-top: 1px dashed #5abb7d; }
  #sfitPlan .panel {
    padding: 4rem 2rem;
    display: block; }
    #sfitPlan .panel .panelTitle h3 {
      font-size: 2.0rem; }
    #sfitPlan .panel .panelTitle p {
      font-size: 1.0rem;
      text-align: left; }
    #sfitPlan .panel .panel-gym {
      width: 100%;
      padding: 0 0 2rem 0;
      border-left: none;
      border-bottom: 1px dashed #5abb7d; }
      #sfitPlan .panel .panel-gym.personal {
        width: 100%; }
    #sfitPlan .panel dl {
      padding: 2rem 0rem;
      text-align: center; }
  #sfitPlan .pricebox {
    padding: 2rem 0rem; }
    #sfitPlan .pricebox .freebox {
      padding: 0 1rem; }
      #sfitPlan .pricebox .freebox .free {
        font-size: 2.2rem;
        padding: 1rem 1rem; }
    #sfitPlan .pricebox .pricetable ul {
      display: flex;
      flex-wrap: wrap;
      width: 100%; }
      #sfitPlan .pricebox .pricetable ul li {
        width: 100%; }
        #sfitPlan .pricebox .pricetable ul li:nth-child(1) {
          order: 4; }
        #sfitPlan .pricebox .pricetable ul li:nth-child(2) {
          order: 1; }
        #sfitPlan .pricebox .pricetable ul li:nth-child(3) {
          order: 2; }
        #sfitPlan .pricebox .pricetable ul li:nth-child(4) {
          order: 3;
          margin-bottom: 30px; }
        #sfitPlan .pricebox .pricetable ul li > dl > dd {
          padding: 0.6rem 1rem; }
          #sfitPlan .pricebox .pricetable ul li > dl > dd dl.kakaku dd {
            line-height: 1; }
          #sfitPlan .pricebox .pricetable ul li > dl > dd dl.ticket dt {
            font-size: 1.8rem; }
            #sfitPlan .pricebox .pricetable ul li > dl > dd dl.ticket dt br {
              display: block; }
          #sfitPlan .pricebox .pricetable ul li > dl > dd dl.ticket dd {
            font-size: 1.8rem; } }
/* about
------------------------------------ */
#about {
  padding: 5rem 0;
  background: #fff; }
  #about .logo {
    display: none; }
  #about .aboutTopic {
    position: relative;
    z-index: 0; }
    #about .aboutTopic:before {
      content: "";
      background: #fff;
      width: 50%;
      height: 100%;
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      z-index: 1; }
    #about .aboutTopic .box {
      max-width: 1000px;
      margin: 0 auto;
      display: flex;
      z-index: 3;
      position: relative; }
      #about .aboutTopic .box > div {
        width: 50%; }
      #about .aboutTopic .box .text {
        vertical-align: middle;
        padding: 3.5rem;
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        #about .aboutTopic .box .text dt {
          font-weight: bold;
          margin-bottom: 1.5rem;
          font-size: 2.4rem; }
        #about .aboutTopic .box .text dd {
          font-weight: normal;
          font-size: 1.8rem; }
      #about .aboutTopic .box .photo {
        background: #ddd; }
        #about .aboutTopic .box .photo img {
          object-fit: cover;
          height: 100%; }
    #about .aboutTopic#a_place {
      background: #f3f3f3; }
      #about .aboutTopic#a_place.is-animated {
        animation: SlideIn 1.6s; }
      #about .aboutTopic#a_place:after {
        content: "";
        background: url("/lib/img/topic_s.png") no-repeat;
        background-size: contain;
        width: calc(50% - 8rem);
        height: 100%;
        position: absolute;
        left: 4rem;
        top: 0;
        z-index: 2; }
    #about .aboutTopic#a_fit {
      background: #38434f;
      color: #fff; }
      #about .aboutTopic#a_fit.is-animated {
        animation: SlideIn 2.6s; }
      #about .aboutTopic#a_fit:after {
        content: "";
        background: url("/lib/img/topic_f.png") no-repeat;
        background-size: contain;
        width: calc(50% - 8rem);
        height: 100%;
        position: absolute;
        left: 4rem;
        top: 0;
        z-index: 2; }

/* CSSアニメーションの設定 */
@keyframes SlideIn {
  0% {
    opacity: 1;
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
@media screen and (max-width: 767px) {
  #about .aboutTitle {
    display: flex;
    justify-content: center;
    align-items: center; }
    #about .aboutTitle .logo {
      width: 20%;
      display: block; }
    #about .aboutTitle div {
      text-align: left; }
  #about .aboutTopic {
    position: relative;
    z-index: 0; }
    #about .aboutTopic:before {
      display: none; }
    #about .aboutTopic .box {
      display: block; }
      #about .aboutTopic .box > div {
        width: 100%; }
      #about .aboutTopic .box .text {
        vertical-align: middle;
        padding: 3.5rem; }
        #about .aboutTopic .box .text dt {
          text-align: center; }
      #about .aboutTopic .box .photo {
        padding: 3.5rem; }
        #about .aboutTopic .box .photo img {
          object-fit: cover;
          height: auto; }
        #about .aboutTopic .box .photo.gymlogo {
          display: none; }
    #about .aboutTopic#a_place.is-animated {
      animation: none; }
    #about .aboutTopic#a_place .box .text {
      position: relative; }
      #about .aboutTopic#a_place .box .text:after {
        content: "";
        background: url("/lib/img/topic_s.png") no-repeat center center;
        background-size: contain;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 1.5rem;
        z-index: 2; }
    #about .aboutTopic#a_place:after {
      display: none; }
    #about .aboutTopic#a_fit.is-animated {
      animation: none; }
    #about .aboutTopic#a_fit .box .text {
      position: relative; }
      #about .aboutTopic#a_fit .box .text:after {
        content: "";
        background: url("/lib/img/topic_f.png") no-repeat center center;
        background-size: contain;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 1.5rem;
        z-index: 2; }
    #about .aboutTopic#a_fit:after {
      display: none; } }
/* FEATURE
------------------------------------ */
#feature {
  padding: 5rem 0;
  background: #fff; }
  #feature .featurePanel {
    max-width: 1200px;
    margin: 0 auto 5rem; }
    #feature .featurePanel ul {
      padding: 0 4rem;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #feature .featurePanel ul li {
        width: 24%;
        position: relative;
        font-size: 1.6rem;
        margin-bottom: 2rem;
        line-height: 1.4; }
        #feature .featurePanel ul li dt {
          padding: 0 15px; }
        #feature .featurePanel ul li dd {
          text-align: center; }
        #feature .featurePanel ul li span.notice {
          display: block;
          background: #fff;
          background: rgba(255, 255, 255, 0.8);
          border: 3px solid #cc0000;
          color: #cc0000;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%) rotate(-15deg);
          z-index: 100;
          line-height: 1;
          padding: 6px 1rem 10px 1rem;
          white-space: nowrap; }
  #feature .featureSecurity {
    display: flex;
    justify-content: space-between;
    background: #747474;
    color: #fff; }
    #feature .featureSecurity > div {
      width: 50%; }
    #feature .featureSecurity .photo img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    #feature .featureSecurity .detail {
      text-align: center;
      padding: 4rem 2rem; }
      #feature .featureSecurity .detail h3 {
        font-size: 3.6rem;
        text-align: center;
        line-height: 1.3;
        position: relative;
        padding: 2rem 4rem;
        display: inline-block;
        margin-bottom: 4rem; }
        #feature .featureSecurity .detail h3 span {
          display: inline-block; }
          #feature .featureSecurity .detail h3 span:before {
            content: "";
            display: block;
            width: 4rem;
            height: 4rem;
            border-right: 4px solid #fff;
            border-top: 4px solid #fff;
            position: absolute;
            top: 0;
            right: 0; }
          #feature .featureSecurity .detail h3 span:after {
            content: "";
            display: block;
            width: 4rem;
            height: 4rem;
            border-right: 4px solid #fff;
            border-bottom: 4px solid #fff;
            position: absolute;
            bottom: 0;
            right: 0; }
        #feature .featureSecurity .detail h3:before {
          content: "";
          display: block;
          width: 4rem;
          height: 4rem;
          border-left: 4px solid #fff;
          border-top: 4px solid #fff;
          position: absolute;
          top: 0;
          left: 0; }
        #feature .featureSecurity .detail h3:after {
          content: "";
          display: block;
          width: 4rem;
          height: 4rem;
          border-left: 4px solid #fff;
          border-bottom: 4px solid #fff;
          position: absolute;
          bottom: 0;
          left: 0; }
      #feature .featureSecurity .detail dl {
        text-align: left;
        display: inline-block; }
        #feature .featureSecurity .detail dl dt {
          font-size: 2.4rem;
          margin-bottom: 1rem; }
        #feature .featureSecurity .detail dl dd {
          line-height: 1.5;
          font-size: 1.8rem; }

@media screen and (max-width: 1024px) {
  #feature .featureSecurity .detail h3 {
    font-size: 2.4rem; } }
@media screen and (max-width: 767px) {
  #feature .featurePanel ul {
    padding: 0 2rem; }
    #feature .featurePanel ul li {
      width: 49%;
      font-size: 1.4rem; }
  #feature .featureSecurity {
    display: block; }
    #feature .featureSecurity > div {
      width: 100%; }
    #feature .featureSecurity .detail h3 {
      font-size: 2.4rem;
      padding: 2rem 2rem; }
    #feature .featureSecurity .detail dl dt {
      font-size: 2rem; }
    #feature .featureSecurity .detail dl dd {
      font-size: 1.5rem; } }
/* special
------------------------------------ */
#special {
  border-top: 5px solid #0daf6f;
  border-bottom: 5px solid #0daf6f;
  margin-bottom: 5rem;
  padding: 5rem 0;
  background: url("/lib/img/topic/bg.png") repeat center center;
  background-size: 100% auto; }
  #special .topic {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-bottom: 5rem; }
    #special .topic:nth-child(2n + 1) {
      flex-direction: row; }
    #special .topic .detail {
      width: 50%;
      padding: 2rem 5%; }
      #special .topic .detail h3 {
        text-align: center; }
        #special .topic .detail h3 span {
          display: block; }
        #special .topic .detail h3 .en {
          font-family: "Hind", sans-serif;
          color: #c7e7d3;
          font-size: 5rem;
          font-weight: 600;
          line-height: 0.9; }
        #special .topic .detail h3 .jp {
          font-weight: bold;
          line-height: 1;
          font-size: 2.8rem;
          transform: translateY(-100%); }
      #special .topic .detail .lead {
        text-align: center;
        font-weight: bold;
        font-size: 1.8rem;
        line-height: 1.3;
        margin-bottom: 2rem; }
      #special .topic .detail p {
        font-size: 1.8rem; }
      #special .topic .detail .target {
        margin: 3rem 0;
        border: 1px solid #ccc;
        border-radius: 10px;
        padding: 1rem;
        display: flex;
        background: #fff;
        align-items: center; }
        #special .topic .detail .target .logo {
          width: 8em;
          text-align: center; }
          #special .topic .detail .target .logo img {
            width: 45%;
            margin: 0 auto; }
          #special .topic .detail .target .logo span {
            font-weight: bold;
            font-size: 1.4rem;
            text-align: center;
            display: inline-block; }
        #special .topic .detail .target .porpose {
          padding-left: 1rem; }
          #special .topic .detail .target .porpose p {
            font-size: 1.6rem; }
    #special .topic .photo {
      width: 50%;
      overflow: hidden;
      position: relative; }
      #special .topic .photo:before {
        content: "";
        display: block; }
      #special .topic .photo span {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0; }
        #special .topic .photo span img {
          object-fit: cover;
          width: 100%;
          height: 100%; }
          #special .topic .photo span img.active {
            animation: imageZoom-01 1s ease-in-out forwards; }

@keyframes imageZoom-01 {
  0% {
    transform: scale(0.8); }
  100% {
    transform: scale(1); } }
@media screen and (max-width: 1024px) {
  #special .topic {
    display: block; }
    #special .topic .detail {
      width: 100%;
      padding: 0 2rem; }
      #special .topic .detail p {
        font-size: 1.6rem; }
      #special .topic .detail .target {
        margin: 2rem 0;
        display: block; }
        #special .topic .detail .target .logo {
          width: 100%;
          text-align: center;
          display: flex;
          justify-content: flex-start;
          align-items: center;
          margin-bottom: 1rem; }
          #special .topic .detail .target .logo img {
            width: 30px;
            margin: 0 auto; }
          #special .topic .detail .target .logo span {
            width: calc(100% - 40px);
            font-size: 1.4rem;
            text-align: left; }
        #special .topic .detail .target .porpose {
          padding-left: 0rem; }
          #special .topic .detail .target .porpose p {
            font-size: 1.4rem; }
    #special .topic .photo {
      width: 100%;
      padding: 0 2rem;
      margin-bottom: 1rem; }
      #special .topic .photo span {
        position: relative;
        top: auto;
        left: auto;
        bottom: auto;
        right: auto; } }
/* staff
------------------------------------ */
#staff {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 5rem 4rem; }
  #staff p.lead {
    font-weight: 2rem;
    text-align: center;
    margin-bottom: 5rem; }
  #staff ul.stafflist {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
    flex-wrap: wrap; }
    #staff ul.stafflist:after {
      content: "";
      display: block;
      width: 31%; }
    #staff ul.stafflist > li {
      width: 31%;
      margin-bottom: 5rem; }
      #staff ul.stafflist > li .thumb {
        background: #eee;
        margin-bottom: 2rem;
        aspect-ratio: 1 / 1.1; }
        #staff ul.stafflist > li .thumb img {
          aspect-ratio: 1 / 1.1;
          object-fit: cover;
          width: 100%; }
      #staff ul.stafflist > li .name {
        text-align: center;
        margin-bottom: 1rem; }
        #staff ul.stafflist > li .name dt {
          font-weight: bold;
          font-size: 2.4rem;
          padding-bottom: 0px;
          line-height: 1; }
        #staff ul.stafflist > li .name dd {
          display: inline-block;
          border-top: 2px solid #222;
          padding: 5px 1rem;
          font-size: 1.6rem;
          font-family: "Hind", sans-serif; }
      #staff ul.stafflist > li .profile {
        text-align: center; }
        #staff ul.stafflist > li .profile dt {
          margin-bottom: 5px; }
          #staff ul.stafflist > li .profile dt span {
            display: inline-block;
            padding: 0.5rem 1.5rem 0.5rem 1.5rem;
            font-size: 1.4rem;
            line-height: 1;
            background: #0daf6f;
            border-radius: 6px;
            color: #fff; }
        #staff ul.stafflist > li .profile dd {
          margin-bottom: 1.75rem; }
          #staff ul.stafflist > li .profile dd.intro {
            text-align: justify; }

@media screen and (max-width: 767px) {
  #staff {
    padding: 0 2rem;
    margin-bottom: 3rem; }
    #staff p.lead {
      font-size: 1.8rem;
      text-align: left; }
      #staff p.lead br {
        display: none; }
    #staff ul.stafflist > li {
      width: 100%;
      margin-bottom: 2rem; }
      #staff ul.stafflist > li .name dt {
        font-size: 2rem; }
      #staff ul.stafflist > li .name dd {
        font-size: 1.6rem; }
      #staff ul.stafflist > li .profile dt {
        font-size: 1.2rem; }
      #staff ul.stafflist > li .profile dd {
        font-size: 1.4rem;
        margin-bottom: 1rem; } }
/* photos
------------------------------------ */
#photos {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 5rem 4rem; }
  #photos ul.photolist {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
    flex-wrap: wrap; }
    #photos ul.photolist:after {
      content: "";
      display: block;
      width: 31%; }
    #photos ul.photolist > li {
      width: 31%;
      margin-bottom: 3rem; }
      #photos ul.photolist > li .thumb {
        background: #eee;
        margin-bottom: 2rem;
        aspect-ratio: 3 / 2; }
        #photos ul.photolist > li .thumb img {
          aspect-ratio: 3 / 2;
          object-fit: cover;
          width: 100%; }
      #photos ul.photolist > li dl dt {
        margin: 0 0 1rem 0;
        font-size: 1.6rem; }
        #photos ul.photolist > li dl dt span {
          background: linear-gradient(transparent 80%, #5abb7d 80%); }
      #photos ul.photolist > li dl dd {
        font-size: 1.4rem; }

@media screen and (max-width: 767px) {
  #photos {
    padding: 0 2rem;
    margin-bottom: 3rem; }
    #photos ul.photolist > li {
      width: 100%;
      margin-bottom: 2rem; }
      #photos ul.photolist > li ul .date {
        font-size: 1.4rem; }
      #photos ul.photolist > li p {
        font-size: 1.4rem; }
    #photos .link {
      font-size: 1.6rem; } }
/* access
------------------------------------ */
#access {
  padding: 5rem 0;
  background: #fff; }
  #access .map {
    margin-top: 5rem; }
  #access p {
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.8; }
  #access .tel {
    text-align: center; }
    #access .tel a {
      display: inline-block;
      background: #5abb7d;
      color: #fff;
      font-size: 2.4rem;
      padding: 0 1rem;
      margin: 2rem 0; }
      #access .tel a:before {
        content: "";
        width: 30px;
        height: 30px;
        background: url("../img/icon_tel.png") no-repeat;
        background-size: 30px auto;
        display: inline-block;
        vertical-align: middle;
        margin: 0 5px 0 0; }
  #access .weeklyschedule {
    text-align: center; }
    #access .weeklyschedule dl {
      display: inline-block;
      margin: 0 auto; }
      #access .weeklyschedule dl dt {
        float: left;
        clear: both; }
      #access .weeklyschedule dl dd {
        padding-left: 4em; }

@media screen and (max-width: 767px) {
  #access {
    padding: 0 2rem 5rem; }
    #access .card {
      padding: 5rem 2rem; }
    #access h2 {
      padding-bottom: 2rem; }
    #access .tel a {
      font-size: 2.4rem;
      padding: 0 1rem;
      margin: 2rem 0; }
      #access .tel a:before {
        content: "";
        width: 30px;
        height: 30px;
        background: url("../img/icon_tel.png") no-repeat;
        background-size: 30px auto;
        display: inline-block;
        vertical-align: middle;
        margin: 0 5px 0 0; }
    #access .weeklyschedule {
      text-align: center; }
      #access .weeklyschedule dl {
        font-size: 1.8rem; } }
/* trial
------------------------------------ */
#trial {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 8rem 4rem; }
  #trial article {
    margin: 0 auto 5rem auto;
    max-width: 750px; }
    #trial article section {
      margin-top: 60px; }
  #trial .link {
    text-align: center;
    padding: 0 0;
    margin-bottom: 10px; }
    #trial .link a {
      font-weight: bold;
      display: inline-block;
      border-radius: 5px;
      padding: 1rem 5rem;
      border: #5abb7d;
      color: #fff;
      transition: all 150ms ease-in-out;
      box-shadow: 0 0 40px 40px #5abb7d inset, 0 0 0 0 #5abb7d; }
      #trial .link a::hover {
        box-shadow: 0 0 10px 0 #fff inset, 0 0 10px 4px #5abb7d;
        color: #5abb7d; }
  #trial .htype02 {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 30px; }
    #trial .htype02 span {
      display: inline-block;
      padding: 0 20px;
      border-bottom: 2px solid #000; }
  #trial .flow {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 15px 20px 0 0; }
    #trial .flow > li {
      width: 100%;
      background: #e1f5e8;
      margin-bottom: 15px; }
      #trial .flow > li.wide {
        width: 100%; }
      #trial .flow > li > dl.base > dt {
        background: #0daf6f;
        padding: 5px 5px 5px 15px;
        position: relative;
        color: #FFF;
        font-size: 1.8rem;
        text-align: center;
        line-height: 1.4; }
        #trial .flow > li > dl.base > dt:after {
          width: 20px;
          height: 100%;
          background: linear-gradient(to bottom left, transparent 50%, #0daf6f 50%) no-repeat top left/100% 50%;
          content: "";
          position: absolute;
          right: -19px;
          top: 0; }
        #trial .flow > li > dl.base > dt:before {
          width: 20px;
          height: 100%;
          background: linear-gradient(to top left, transparent 50%, #0daf6f 50%) no-repeat bottom left/100% 50%;
          content: "";
          position: absolute;
          right: -19px;
          top: 0; }
        #trial .flow > li > dl.base > dt span.num {
          position: absolute;
          top: 5px;
          left: 5px;
          padding: 0 10px;
          display: flex;
          align-items: center;
          color: #0daf6f;
          background: #FFF; }
        #trial .flow > li > dl.base > dt span.sub {
          font-size: 1.4rem; }
      #trial .flow > li > dl.base > dd {
        padding: 2rem;
        position: relative; }
        #trial .flow > li > dl.base > dd p {
          margin-bottom: 1rem; }
      #trial .flow > li > dl.base dl.sub dt {
        margin-bottom: 1rem;
        display: inline-block;
        background: #0daf6f;
        color: #FFF;
        padding: 0 2rem;
        border-radius: 50vh;
        font-size: 1.4rem; }
      #trial .flow > li > dl.base dl.sub dd {
        margin-bottom: 2rem;
        font-size: 1.2rem; }
      #trial .flow > li .clm2 {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #trial .flow > li .clm2 > * {
          width: 48%; }
        #trial .flow > li .clm2 span p {
          font-size: 1.4rem; }
      #trial .flow > li dl.system dt {
        font-weight: bold; }
      #trial .flow > li dl.system dd {
        margin-bottom: 1rem;
        padding: 0 1rem; }
      #trial .flow > li .notes {
        width: 100%; }
        #trial .flow > li .notes li {
          padding-left: 1em;
          text-indent: -1em; }
      #trial .flow > li .call {
        margin: .5rem 0 0 0;
        padding: .5rem;
        text-align: center;
        background: #FFF;
        border-radius: 50vh;
        display: block; }
        #trial .flow > li .call:before {
          content: "";
          width: 2.0rem;
          height: 2.0rem;
          display: inline-block;
          background: url("/lib/img/icon_call.png") no-repeat center center;
          background-size: contain;
          vertical-align: text-bottom;
          margin-right: .5rem; }
      #trial .flow > li .web {
        margin: .5rem 0 0 0;
        padding: .5rem;
        text-align: center;
        background: #FCFF97;
        border-radius: 50vh;
        display: block; }
  #trial .trial_web_screenshot {
    max-width: 500px;
    margin: 0 auto; }
    #trial .trial_web_screenshot li {
      margin-bottom: 30px;
      text-align: center; }
      #trial .trial_web_screenshot li p {
        margin-bottom: 15px; }
        #trial .trial_web_screenshot li p span {
          color: #FFF;
          background: #0daf6f;
          display: inline-block;
          padding: 5px 12px;
          margin-right: 10px;
          border-radius: 50vh;
          font-family: "BIZ UDGothic", sans-serif; }
      #trial .trial_web_screenshot li img {
        max-width: 50%; }
  @media screen and (max-width: 739px) {
    #trial {
      padding: 8rem 2rem; }
      #trial .flow {
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        margin: 15px 0 0 0; }
        #trial .flow li {
          width: 100%;
          margin-bottom: 35px; }
          #trial .flow li > dl.base dt:after {
            display: none; }
          #trial .flow li > dl.base dt:before {
            display: none; }
          #trial .flow li > dl.base dd {
            padding: 2rem 1.5rem; }
            #trial .flow li > dl.base dd:after {
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 19px 19px 0 19px;
              border-color: #0daf6f transparent transparent transparent;
              content: "";
              position: absolute;
              right: 50%;
              bottom: -19px;
              transform: translateX(50%); }
          #trial .flow li > dl.base dl.sub dd {
            margin-bottom: 2rem;
            font-size: 1.2rem;
            padding: 0; }
            #trial .flow li > dl.base dl.sub dd.clm2 {
              padding: 0; }
          #trial .flow li:last-child dl.base dd:after {
            display: none; } }

#trial_old {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 8rem 4rem; }
  #trial_old article {
    margin: 0 auto 5rem auto;
    max-width: 750px; }
    #trial_old article .lead {
      text-align: center; }
    #trial_old article h3 {
      font-weight: bold;
      margin-bottom: 3rem;
      font-size: 2.4rem;
      text-align: center; }
      #trial_old article h3 span {
        background: linear-gradient(transparent 80%, #5abb7d 80%);
        display: inline-block; }
    #trial_old article .screenshot {
      max-width: 375px;
      margin: 5rem auto; }
      #trial_old article .screenshot li {
        margin-bottom: 3rem; }
    #trial_old article .link {
      text-align: center; }
      #trial_old article .link a {
        display: inline-block;
        padding: 1rem 6rem;
        background: #54af9c;
        background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
        background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
        background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
        color: #FFF;
        border-radius: 50vh;
        font-weight: bold;
        font-size: 3.0rem; }

@media screen and (max-width: 767px) {
  #trial article .link a {
    padding: 1rem 3rem;
    font-size: 1.8rem; } }
/* join
------------------------------------ */
#join {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 8rem 4rem;
  text-align: center; }
  #join article {
    margin: 0 auto 5rem auto; }
    #join article .joinMessage p {
      font-size: 2.0rem;
      margin-bottom: 1rem; }
    #join article section {
      margin-bottom: 5rem; }
    #join article .lead {
      text-align: center; }
    #join article h3 {
      font-weight: bold;
      margin-bottom: 3rem;
      font-size: 2.4rem;
      text-align: center; }
      #join article h3 span {
        background: linear-gradient(transparent 80%, #5abb7d 80%);
        display: inline-block; }
    #join article .screenshot {
      max-width: 375px;
      margin: 5rem auto; }
      #join article .screenshot li {
        margin-bottom: 3rem; }
    #join article .link {
      text-align: center;
      margin: 3rem 0; }
      #join article .link a {
        display: inline-block;
        padding: 1rem 6rem;
        background: #54af9c;
        background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
        background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
        background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
        color: #FFF;
        border-radius: 50vh;
        font-weight: bold;
        font-size: 3.0rem; }
    #join article #sfitPlan {
      padding: 4rem 0; }

@media screen and (max-width: 767px) {
  #join article .joinMessage p a {
    display: block;
    padding: 1rem;
    border-radius: 50vh;
    background: #0daf6f;
    color: #FFF;
    position: relative;
    padding-left: 30px; }
    #join article .joinMessage p a:before {
      content: "";
      width: 20px;
      height: 20px;
      display: block;
      background: url("../img/icon_tel.png") no-repeat center center/contain;
      position: absolute;
      left: 15px;
      top: 50%;
      transform: translateY(-50%); }
  #join article .link a {
    font-size: 1.8rem; } }
/* footer
------------------------------------ */
footer {
  padding: 3rem 0;
  background: #54af9c;
  background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
  background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
  background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 ); }
  footer p.copyright {
    font-size: 1.4rem;
    text-align: center;
    font-family: "BIZ UDGothic", sans-serif;
    color: #fff; }

@media screen and (max-width: 767px) {
  footer {
    padding: 1rem 0;
    position: relative;
    z-index: 600; } }
#pagetop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 9999; }
  #pagetop a {
    font-family: "Hind", sans-serif;
    font-weight: bold;
    background: #0daf6f;
    color: #fff;
    font-size: 1.4rem;
    display: block;
    padding: 1rem;
    border-radius: 0.5rem;
    text-align: center;
    line-height: 1; }
    #pagetop a span {
      display: block;
      transform: rotate(90deg); }
    #pagetop a:hover {
      transform: translateY(-1rem); }

@media screen and (max-width: 767px) {
  #pagetop {
    bottom: 6rem;
    right: 1rem; }
    #pagetop.btm {
      bottom: 10rem;
      position: absolute; }
    #pagetop a {
      padding: 0.5rem;
      font-size: 1.2rem; }
      #pagetop a:hover {
        transform: translateY(0); }
      #pagetop a br {
        display: none; } }
/* footerFixed
------------------------------------ */
#footerFixed {
  display: none; }

#overlayMenu {
  display: none; }

@media screen and (max-width: 767px) {
  #footerFixed {
    display: flex;
    background: #54af9c;
    background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
    background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
    background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
    padding: 0 0;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999; }
    #footerFixed .logo {
      width: 15%;
      /* ハンバーガー掲載時*/
      width: 20%;
      background: #fff;
      display: flex;
      text-align: center;
      align-items: center;
      padding: 0; }
      #footerFixed .logo img {
        width: 80%; }
    #footerFixed ul {
      width: 85%;
      display: flex;
      padding: 0;
      align-items: center; }
      #footerFixed ul li {
        line-height: 1;
        width: 25%;
        text-align: center;
        padding: 0; }
        #footerFixed ul li:not(:last-child) {
          border-right: 1px solid #fff; }
        #footerFixed ul li a {
          padding: .5rem 0;
          display: block;
          color: #fff; }
          #footerFixed ul li a img {
            width: 60%;
            margin: 0 auto 5px; }
          #footerFixed ul li a span {
            display: block;
            font-size: 2.4vw; }
    #footerFixed #overlayMenuBtn {
      width: 15%;
      position: relative; }
      #footerFixed #overlayMenuBtn div.btn {
        position: absolute;
        width: 70%;
        top: 50%;
        left: 50%;
        height: 50%;
        transform: translate(-50%, -50%); }
        #footerFixed #overlayMenuBtn div.btn span {
          position: absolute;
          display: block;
          width: 100%;
          height: 6px;
          background: #fff;
          transition: 0.5s; }
          #footerFixed #overlayMenuBtn div.btn span:nth-child(1) {
            top: 0px; }
          #footerFixed #overlayMenuBtn div.btn span:nth-child(2) {
            top: 50%;
            transform: translateY(-50%); }
          #footerFixed #overlayMenuBtn div.btn span:nth-child(3) {
            bottom: 0; }
    #footerFixed.btm {
      position: relative; }

  #overlayMenu {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 501;
    background: #54af9c;
    background: -moz-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
    background: -webkit-linear-gradient(-45deg, #54af9c 0%, #5fc45f 100%);
    background: linear-gradient(135deg, #54af9c 0%, #5fc45f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54af9c', endColorstr='#5fc45f',GradientType=1 );
    width: 100%;
    padding: 1em 1em 65px 1em;
    overflow-y: auto;
    color: #fff;
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s; }
    #overlayMenu .icon {
      width: 25%;
      margin: 0 auto 1rem; }
    #overlayMenu p {
      text-align: center;
      margin-bottom: 1rem; }
    #overlayMenu ul.trafic {
      padding-bottom: 1rem;
      border-bottom: 2px solid #fff;
      margin-bottom: 2rem; }
      #overlayMenu ul.trafic li {
        text-align: center; }
    #overlayMenu ul.menu li a {
      display: block;
      padding: 0.25rem 0;
      font-size: 2rem;
      text-align: center; }

  #overlayMenu.open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible; }
    #footerFixed.btm + #overlayMenu.open {
      transform: translateY(-8%); } }
/* ------------------------------------
// wp class
------------------------------------ */
.articlebody p {
  margin-bottom: 2em; }

div.alignright,
img.alignright,
a.alignright {
  float: right;
  margin: 0 0 20px 20px; }

div.alignleft,
img.alignleft,
a.alignleft {
  float: left;
  margin: 0 20px 20px 0; }

div.aligncenter,
img.aligncenter,
a.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  padding: 20px 0 0; }

@media screen and (max-width: 767px) {
  .aligncenter,
  .alignright,
  .alignleft {
    float: none !important;
    padding: 0 0 20px 0 !important;
    display: block; } }
