/* Scss Document */
main {
  padding-bottom: 80px; }
  @media print, screen and (max-width: 767px) {
    main {
      padding-bottom: 50px; } }

.studioInfo01 {
  width: 66.66%;
  float: left; }
  @media print, screen and (max-width: 767px) {
    .studioInfo01 {
      float: none;
      width: 100%;
      margin-bottom: 40px; } }

.toReserve01 {
  background: #fff;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  padding: 20px;
  border-radius: 5px;
  margin-bottom: 40px; }
  .toReserve01 h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
    position: relative; }
    .toReserve01 h3:after {
      content: "";
      width: 40px;
      height: 1px;
      background: #ff4e63;
      position: absolute;
      left: 50%;
      margin-left: -20px;
      bottom: -15px; }
  .toReserve01 .tel01 {
    font-size: 30px;
    font-weight: bold;
    text-align: center; }
    .toReserve01 .tel01 span {
      font-size: 18px;
      margin-right: 10px; }
  .toReserve01 .telText01 {
    font-size: 13px;
    margin: 5px auto 15px; }
  .toReserve01 .reserveBtn01 a {
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 10px;
    background: #ff4e63;
    border-radius: 5px; }

.planIntro01 .planList01 {
  margin-top: 30px; }
  .planIntro01 .planList01 li {
    background: #fff;
    position: relative;
    margin-bottom: 30px;
    cursor: pointer;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s; }
    .planIntro01 .planList01 li:hover {
      opacity: 0.8; }
    .planIntro01 .planList01 li .photo01 {
      min-width: 180px;
      width: 27.5%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
      @media print, screen and (max-width: 767px) {
        .planIntro01 .planList01 li .photo01 {
          position: static;
          width: 100%;
          height: 150px; } }
    .planIntro01 .planList01 li .planInfo01 {
      float: right;
      max-width: 70%;
      width: calc(100% - 200px);
      padding: 15px 20px 15px 0; }
      @media print, screen and (max-width: 767px) {
        .planIntro01 .planList01 li .planInfo01 {
          float: none;
          width: 100%;
          max-width: 100%;
          padding: 15px; } }
      .planIntro01 .planList01 li .planInfo01 h4 {
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 5px; }
        @media print, screen and (max-width: 767px) {
          .planIntro01 .planList01 li .planInfo01 h4 {
            font-size: 16px; } }
      .planIntro01 .planList01 li .planInfo01 .target01 {
        font-weight: bold;
        margin-bottom: 5px; }
        .planIntro01 .planList01 li .planInfo01 .target01 .black01 {
          background: #000;
          color: #fff;
          text-align: center;
          display: inline-block;
          padding: 2px 10px;
          margin-right: 20px;
          font-size: 13px;
          border-radius: 2px;
          width: 60px; }
      .planIntro01 .planList01 li .planInfo01 .price01 {
        font-size: 18px;
        font-weight: bold;
        color: #ff4e63; }
        @media print, screen and (max-width: 767px) {
          .planIntro01 .planList01 li .planInfo01 .price01 {
            font-size: 16px; } }
      .planIntro01 .planList01 li .planInfo01 .planText01 span {
        color: #ff4e63; }

.planContent01 {
  padding: 30px;
  border-radius: 10px;
  border: 3px solid #ffb4bd;
  background: #fffcfc;
  max-width: 800px; }
  .planContent01 h3 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center; }
  .planContent01 .target01 {
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center; }
    .planContent01 .target01 .black01 {
      background: #000;
      color: #fff;
      text-align: center;
      display: inline-block;
      padding: 2px 10px;
      margin-right: 20px;
      font-size: 13px;
      border-radius: 2px;
      width: 60px; }
  .planContent01 .price01 {
    font-size: 22px;
    font-weight: bold;
    color: #ff4e63;
    text-align: center;
    margin-bottom: 15px; }
  .planContent01 .planText01 span {
    color: #ff4e63; }

.studioSub01 {
  width: 29.2%;
  float: right; }
  @media print, screen and (max-width: 767px) {
    .studioSub01 {
      float: none;
      width: 100%; } }
  .studioSub01 .subBox01 {
    margin-bottom: 50px; }
    .studioSub01 .subBox01 h3 {
      font-size: 16px;
      font-weight: bold;
      margin-bottom: 10px; }
      .studioSub01 .subBox01 h3 i {
        color: #ff4e63;
        margin-right: 10px; }
    .studioSub01 .subBox01 li {
      margin-bottom: 15px; }
      .studioSub01 .subBox01 li .thumb01 {
        float: left;
        width: 34%; }
        .studioSub01 .subBox01 li .thumb01:before {
          content: "";
          display: block;
          padding-top: 70%; }
      .studioSub01 .subBox01 li .subInfo01 {
        float: right;
        width: 62%; }
        .studioSub01 .subBox01 li .subInfo01 h4 {
          font-weight: bold;
          margin-bottom: 5px; }
          @media print, screen and (max-width: 767px) {
            .studioSub01 .subBox01 li .subInfo01 h4 {
              font-size: 13px; } }
        .studioSub01 .subBox01 li .subInfo01 p {
          font-size: 12px; }

.studioName01 {
  position: relative;
  margin-bottom: 25px; }
  .studioName01 h2 {
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 2px solid #dddddd;
    position: relative; }
    .studioName01 h2:before {
      content: "";
      width: 100px;
      height: 2px;
      background: #ff4e63;
      position: absolute;
      left: 0;
      bottom: -2px; }
  .studioName01 .favoriteBtn01 a {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 20px;
    color: #ff4e63; }

.studioAddress01 {
  margin: 15px 0;
  position: relative;
  padding-left: 20px; }
  .studioAddress01:before {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 14px;
    font-family: "Font Awesome 5 Free";
    content: "\f3c5";
    font-weight: 900; }
  .studioAddress01 a {
    text-decoration: underline; }

.studioText01 {
  background: #fff;
  border-top: 1px solid #ff4e63;
  padding: 20px;
  margin-bottom: 30px; }
  @media print, screen and (max-width: 767px) {
    .studioText01 {
      font-size: 13px; } }

.infoBox01 {
  margin-bottom: 50px; }
  @media print, screen and (max-width: 767px) {
    .infoBox01 {
      margin-bottom: 30px; } }
  .infoBox01 h3 {
    font-size: 18px;
    font-weight: bold;
    border-left: 4px solid #ff4e63;
    padding-left: 15px;
    float: left;
    width: calc(100% - 220px); }
    @media print, screen and (max-width: 767px) {
      .infoBox01 h3 {
        font-size: 16px;
        float: none;
        width: 100%; } }
  .infoBox01 .toSubmit01 {
    float: right; }
    @media print, screen and (max-width: 767px) {
      .infoBox01 .toSubmit01 {
        margin-top: 10px;
        float: none; } }
    .infoBox01 .toSubmit01 a {
      display: block;
      text-align: center;
      color: #fff;
      width: 190px;
      background: #ff4e63;
      padding: 5px;
      border-radius: 18px; }
      @media print, screen and (max-width: 767px) {
        .infoBox01 .toSubmit01 a {
          font-size: 12px;
          width: 140px; } }

.reviewList01 {
  margin: 25px auto 0; }
  @media print, screen and (max-width: 767px) {
    .reviewList01 {
      margin: 15px auto 0; } }
  .reviewList01 li {
    background: #fff;
    padding: 20px 20px 15px;
    margin-bottom: 20px; }
    .reviewList01 li h4 {
      font-size: 15px;
      font-weight: bold;
      position: relative;
      margin-bottom: 35px; }
      @media print, screen and (max-width: 767px) {
        .reviewList01 li h4 {
          font-size: 14px;
          margin-bottom: 25px; } }
      .reviewList01 li h4:before {
        content: "";
        width: 40px;
        height: 1px;
        background: #000;
        position: absolute;
        bottom: -17px;
        left: 0; }
        @media print, screen and (max-width: 767px) {
          .reviewList01 li h4:before {
            bottom: -12px; } }
    .reviewList01 li a {
      color: #ff4e63; }
    .reviewList01 li p {
      margin-bottom: 10px; }
      @media print, screen and (max-width: 767px) {
        .reviewList01 li p {
          font-size: 13px; } }
    .reviewList01 li .reviewer01 {
      float: left;
      font-size: 13px;
      font-weight: bold; }
      .reviewList01 li .reviewer01 img {
        margin-right: 10px;
        vertical-align: -8px; }
    .reviewList01 li .reviewDate01 {
      float: right;
      font-size: 13px; }
      .reviewList01 li .reviewDate01 i {
        margin-right: 5px;
        font-size: 15px; }

.toList01 a {
  display: block;
  text-align: center;
  color: #fff;
  width: 250px;
  background: #ff4e63;
  padding: 10px;
  border-radius: 22px;
  margin: 30px auto; }

.studioInfo02 {
  margin-bottom: 50px; }
  .studioInfo02 h3 {
    margin-bottom: 25px; }
  .studioInfo02 table {
    width: 100%; }
    .studioInfo02 table tr {
      border-bottom: 1px solid #e6e6e6; }
    .studioInfo02 table th {
      background: #dddddd;
      padding: 15px;
      text-align: left;
      width: 180px; }
      @media print, screen and (max-width: 767px) {
        .studioInfo02 table th {
          display: block;
          width: 100%; } }
    .studioInfo02 table td {
      padding: 15px;
      background: #fff; }
      @media print, screen and (max-width: 767px) {
        .studioInfo02 table td {
          display: block;
          width: 100%; } }
      .studioInfo02 table td iframe {
        margin-top: 10px; }
      .studioInfo02 table td .url {
        margin-right: 20px; }
      .studioInfo02 table td .btn01 {
        display: inline-block;
        text-align: center;
        color: #fff;
        max-width: 300px;
        background: #ff4e63;
        padding: 5px 20px;
        border-radius: 22px; }

.recommendArea02 {
  background: #fff;
  padding: 25px 20px; }
  .recommendArea02 h3 {
    font-size: 24px;
    color: #ff4e63;
    border-bottom: 1px solid #ff4e63;
    border-top: 1px solid #ff4e63;
    padding: 3px 0;
    position: relative;
    margin-bottom: 30px; }
    @media print, screen and (max-width: 767px) {
      .recommendArea02 h3 {
        font-size: 20px;
        text-align: center;
        padding-bottom: 5px; } }
    .recommendArea02 h3 span {
      font-size: 14px;
      margin-left: 20px;
      vertical-align: 3px; }
      @media print, screen and (max-width: 767px) {
        .recommendArea02 h3 span {
          font-size: 12px;
          display: block;
          text-align: center;
          margin-left: 0;
          margin-top: -5px; } }
    .recommendArea02 h3:before {
      content: "";
      width: 100%;
      height: 1px;
      background: #ff4e63;
      position: absolute;
      left: 0;
      top: -3px; }
    .recommendArea02 h3:after {
      content: "";
      width: 100%;
      height: 1px;
      background: #ff4e63;
      position: absolute;
      left: 0;
      bottom: -3px; }
  .recommendArea02 .shopList01 li {
    float: left;
    width: 32%;
    margin-right: 2%; }
    .recommendArea02 .shopList01 li:nth-child(3n) {
      margin-right: 0; }
    .recommendArea02 .shopList01 li:nth-child(4) {
      display: none; }
      @media print, screen and (max-width: 767px) {
        .recommendArea02 .shopList01 li:nth-child(4) {
          display: block; } }
    .recommendArea02 .shopList01 li .thumb01 {
      width: 100%;
      margin-bottom: 10px; }
      .recommendArea02 .shopList01 li .thumb01:before {
        content: "";
        display: block;
        padding-top: 60%; }
    .recommendArea02 .shopList01 li .shopName01 {
      font-weight: bold; }
      @media print, screen and (max-width: 767px) {
        .recommendArea02 .shopList01 li .shopName01 {
          font-size: 13px; } }
    .recommendArea02 .shopList01 li .shopAddress {
      font-size: 13px;
      position: relative;
      padding-left: 18px;
      margin: 5px 0; }
      @media print, screen and (max-width: 767px) {
        .recommendArea02 .shopList01 li .shopAddress {
          font-size: 12px; } }
      .recommendArea02 .shopList01 li .shopAddress:before {
        position: absolute;
        left: 0;
        top: 0;
        font-size: 14px;
        font-family: "Font Awesome 5 Free";
        content: "\f3c5";
        font-weight: 900; }
    .recommendArea02 .shopList01 li .shopText01 {
      font-size: 13px; }
      @media print, screen and (max-width: 767px) {
        .recommendArea02 .shopList01 li .shopText01 {
          font-size: 12px; } }
    @media print, screen and (max-width: 767px) {
      .recommendArea02 .shopList01 li {
        width: 48%;
        margin-bottom: 20px; }
        .recommendArea02 .shopList01 li:nth-child(2n) {
          float: right;
          margin-right: 0; }
        .recommendArea02 .shopList01 li:nth-child(2n+1) {
          clear: both; } }

#cboxPrevious {
  background: url("../images/ico_detail04.png") no-repeat center/contain; }

#cboxNext {
  background: url("../images/ico_detail03.png") no-repeat center/contain; }

.gallery01 .photoList01 {
  margin-top: 30px; }
  @media print, screen and (max-width: 767px) {
    .gallery01 .photoList01 {
      margin-top: 20px; } }
  .gallery01 .photoList01 li {
    float: left;
    width: 23%;
    margin-bottom: 10px;
    margin-right: 2.666%; }
    .gallery01 .photoList01 li:nth-child(4n) {
      margin-right: 0; }
    @media print, screen and (max-width: 767px) {
      .gallery01 .photoList01 li {
        width: 48%; }
        .gallery01 .photoList01 li:nth-child(2n) {
          margin-right: 0; } }

.spReserve01 {
  display: none; }
  @media print, screen and (max-width: 767px) {
    .spReserve01 {
      display: block;
      background: #ff4e63;
      padding: 10px 3%;
      border-radius: 3px 3px 0 0;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0; }
      .spReserve01 .telBtn01 {
        float: left;
        width: 48%; }
        .spReserve01 .telBtn01 a {
          display: block;
          padding: 10px;
          text-align: center;
          background: #fff;
          font-weight: bold;
          border-radius: 3px;
          color: #ff355d;
          border-bottom: 2px solid #a2132f; }
      .spReserve01 .reserveBtn01 {
        float: right;
        width: 48%; }
        .spReserve01 .reserveBtn01 a {
          display: block;
          padding: 10px;
          text-align: center;
          background: #fff;
          font-weight: bold;
          border-radius: 3px;
          color: #ff355d;
          border-bottom: 2px solid #a2132f; } }

.reserveArea01 {
  border-bottom: 1px solid #000;
  padding-bottom: 30px;
  position: relative;
  margin-bottom: 40px; }
  .reserveArea01:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -4px;
    left: 0; }
  .reserveArea01 h2 {
    position: relative;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 25px; }
    @media print, screen and (max-width: 767px) {
      .reserveArea01 h2 {
        font-size: 16px;
        margin-bottom: 10px; } }
    .reserveArea01 h2:before {
      content: "";
      width: 100%;
      height: 1px;
      background: #000;
      position: absolute;
      top: 30px;
      left: 0; }
      @media print, screen and (max-width: 767px) {
        .reserveArea01 h2:before {
          top: 25px; } }
    .reserveArea01 h2:after {
      content: "";
      width: 100%;
      height: 1px;
      background: #000;
      position: absolute;
      top: 33px;
      left: 0; }
      @media print, screen and (max-width: 767px) {
        .reserveArea01 h2:after {
          top: 28px; } }
    .reserveArea01 h2 span {
      display: inline-block;
      border: 1px solid #000;
      background: #f4f4f4;
      position: relative;
      padding: 15px 40px;
      z-index: 10; }
      @media print, screen and (max-width: 767px) {
        .reserveArea01 h2 span {
          padding: 10px; } }
  .reserveArea01 .tel02 {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 15px; }
    @media print, screen and (max-width: 767px) {
      .reserveArea01 .tel02 {
        font-size: 26px; } }
    .reserveArea01 .tel02 span {
      font-size: 20px;
      margin-right: 20px; }
      @media print, screen and (max-width: 767px) {
        .reserveArea01 .tel02 span {
          font-size: 16px; } }
  .reserveArea01 .reserveBtn02 {
    text-align: center; }
    .reserveArea01 .reserveBtn02 a {
      display: block;
      padding: 15px 10px;
      max-width: 350px;
      background: #ff4e63;
      color: #fff;
      text-align: center;
      font-size: 18px;
      font-weight: bold;
      border-radius: 5px;
      margin: 0 auto 20px; }
      @media print, screen and (max-width: 767px) {
        .reserveArea01 .reserveBtn02 a {
          padding: 10px;
          font-size: 16px; } }
  .reserveArea01 .reserveText01 {
    text-align: center; }
