@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@media screen and (min-width:450px) {
  body {
    font-family: "ten-mincho", serif;
    font-weight: 400;
    font-style: normal;
    color: #2D2D2D;
  }
  .ZenMaruGothicRegular {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    color: #2D2D2D;
  }
  .ZenMaruGothicBold {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #2D2D2D;
  }
  .box {
    position: relative;
    padding: 1rem;
    border-radius: 10px;
    border: 3px solid #333;
    background-color: #fff;
    color: #333;
    font-weight: bold;
    font-size: 18px;
  }
  .box:before {
    position: absolute;
    top: 100%;
    left: 50px;
    transform: skew(-25deg);
    height: 25px;
    width: 15px;
    border-right: 3px solid #333;
    background-color: #fff;
    content: "";
  }
  .box p {
    line-height: 1.5;
  }
  .p {
    font-family: "Noto Sans JP", sans-serif;
  }
  /* CSS Document */
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  nav {
    top: 0px;
    width: 100%;
    background-color: #FFFFFF;
    padding-bottom: 1.5vh;
    padding-top: 1.5vh;
  }
  nav span {
    color: #6A3F4C;
    background-size: 1vh auto;
    background-repeat: no-repeat;
    background-position: 0% 100vh;
    font-size: 2vw;
    margin-left: 2vw;
  }
  nav ul {
    display: flex;
    width: 100%;
  }
  nav ul li {
    display: block;
    width: 50%;
  }
  nav ul li p {
    color: #FFFFFF;
    font-size: 2vh;
    letter-spacing: 0.1vh;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    text-align: right;
  }
  nav span img {
    width: 11vw;
    margin-top: auto;
    margin-right: auto;
    margin-left: 0px;
    margin-bottom: auto;
    float: right;
    position: relative;
    top: 0.5vh;
    left: -25vw;
  }
  .fa-position-right {
    position: absolute;
    top: calc(50% - .5em);
    right: 1rem;
  }
  .map {
    height: 500px;
    margin-bottom: 3vw;
    width: 100vw;
  }
  .background_color_gradation {
    background-image: linear-gradient(43deg, rgba(247, 93, 139, 1), rgba(254, 192, 64, 1) 56%);
  }
  .background_color_pink {
    background-color: #FEF7F6;
  }
  .background_color_orange {
    background-color: #FDF3E4;
  }
  .btn_1 {
    display: inline-block;
    position: relative;
    padding-top: 0.2vw;
    padding-right: 1vw;
    padding-left: 1vw;
    padding-bottom: 0.2vw;
    text-decoration: none;
    background-image: linear-gradient(131deg, rgba(26, 159, 2, 1), rgba(37, 99, 27, 1) 16%, rgba(10, 77, 1, 1) 40%, rgba(10, 78, 3, 1) 76%, rgba(24, 131, 3, 1));
    border-radius: 20vw;
    color: #fff;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 4px 0 #3E3A39;
    -webkit-box-shadow: 0 4px 0 #3E3A39;
    border: 2px solid #3E3A39;
    width: 20vw;
    font-size: 1.2vw;
    right: 0px;
    text-align: center;
    margin-right: 2vw;
  }
  .btn_1:hover {
    top: 6px;
    box-shadow: none;
    color: #fff;
  }
  header img {
    margin-bottom: 2vw;
  }
  header h1 {
    font-size: 2.2vh;
    background: rgba(62, 58, 57, 0.4);
    position: relative;
    bottom: 40vw;
    color: #FFFFFF;
    line-height: 3.5vw;
    text-shadow: 0px 0px 10px #0F0F0F;
    padding-top: 2vw;
    padding-bottom: 2vw;
    font-family: "ten-mincho", serif;
    font-style: normal;
    font-weight: normal;
  }
  header .pc {
    display: block;
    width: 100%;
  }
  header .sp {
    display: none;
  }
  header h1 small {
    font-size: 2vw;
    letter-spacing: 0.5vw;
  }
  header h1 b {
    letter-spacing: 0.2vw;
    font-size: 4vw;
    font-weight: normal;
  }
  .campaign_banner {
    text-align: center;
    width: 80vw;
    margin-top: -25%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    background-color: #FFFFFF;
    border: 1px solid #df5a77;
    padding-bottom: 0px;
    height: 20vw;
    position: relative;
  }
  /*.campaign_banner span {
    color: #FFFFFF;
    background-color: #F75D8B;
    bottom: 1.8vh;
    padding-top: 0.3vh;
    padding-right: 3vh;
    padding-left: 3vh;
    padding-bottom: 0.3vh;
    font-size: 3vw;
    width: 10vw;
  }*/
  .campaign_banner small {
    font-size: 3vw;
  }
  .campaign_banner big {
    font-size: 8vw;
    line-height: 9vw;
  }
  .campaign_banner p {
    font-size: 3vw;
    padding-bottom: 1vh;
    padding-top: 2vh;
  }
  .campaign_banner .promotion {
    position: absolute;
    width: 16vw;
    right: 6vw;
    top: 57vw;
  }
  .campaign_text {
    font-size: 2vw;
    padding-top: 0.5vh;
    padding-bottom: 0.5vh;
    color: #FFFFFF;
    font-family: "ten-mincho", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: 0.5vw;
  }
  .campaign_banner_02 {
    text-align: center;
    width: 80vw;
    margin-top: 4vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    background-color: #FFFFFF;
    border: 1px solid #df5a77;
    padding-bottom: 0px;
    height: 20vw;
  }
  .campaign_banner_02 span {
    color: #FFFFFF;
    background-color: #F75D8B;
    position: relative;
    bottom: 1.8vh;
    padding-top: 0.3vh;
    padding-right: 2vh;
    padding-left: 2vh;
    padding-bottom: 0.3vh;
    font-size: 3vw;
    width: 10vw;
  }
  .campaign_banner_02 small {
    font-size: 3vw;
  }
  .campaign_banner_02 big {
    font-size: 8vw;
    line-height: 9vw;
  }
  .campaign_banner_02 p {
    font-size: 3vw;
    padding-bottom: 1vh;
    padding-top: 2vh;
  }
  .campaign_text_02 {
    font-size: 2vw;
    padding-top: 0.5vh;
    padding-bottom: 0.5vh;
    color: #3E3A39;
    font-family: "ten-mincho", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: 0.5vw;
  }
  .campaign_banner_02 .promotion {
    width: 15vw;
    position: relative;
    right: -68vw;
    top: -23vw;
    bottom: auto;
  }
  .approach {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 80vw;
    margin-top: 0px;
    padding-top: 2vw;
    padding-bottom: 10px;
  }
  .approach ul {
    display: flex;
    position: relative;
    margin-top: 0px;
  }
  .approach ul .approach_text {
    padding-top: 1.3vw;
    padding-right: 1.9vw;
    padding-left: 1.9vw;
    padding-bottom: 1.1vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    position: absolute;
    display: block;
    top: 50%;
    left: 49.7%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -51%);
    -ms-transform: translate(-50%, -50%);
    background-image: linear-gradient(43deg, rgba(247, 93, 139, 1) 14%, rgba(254, 192, 64, 1));
    line-height: 4.6vw;
    font-size: 2.5vw;
    color: #FFFFFF;
    border-radius: 0.5vh;
    width: 35vw;
    height: 10vw;
    text-align: center;
  }
  .approach_text p big {
    font-size: 4vw;
  }
  .approach ul li img {
    width: 99%;
    margin-bottom: 3px;
  }
  .question ul {
    display: flex;
    width: 100%;
  }
  .question ul li {
    width: 50%;
  }
  .question ul li img {
    margin-top: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 40vw;
  }
  .question ul li .question_title {
    margin-top: 4vw;
    margin-right: auto;
    margin-bottom: auto;
    font-size: 2.3vw;
    margin-left: 2vw;
    position: absolute;
    letter-spacing: 0.5vw;
  }
  .question_answer {}
  .question_answer ul {
    display: flex;
  }
  .question_answer ul li {
    width: 50%;
    margin: auto;
    height: 100%;
  }
  .question_answer ul li p {
    width: 80%;
    margin-top: 2.5vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    height: 80%;
    font-size: 1.8vw;
    text-align: justify;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 300;
    font-style: normal;
    color: #2D2D2D;
  }
  .question_answer ul li p .pink_line {
    display: block;
    font-size: 3vw;
    border-bottom: 1px solid #ED1E79;
    margin-top: 5px;
    margin-bottom: 5px;
    font-family: "ten-mincho", serif;
    font-weight: 400;
    font-style: normal;
    color: #2D2D2D;
  }
  .heart_img {
    text-align: center;
    position: relative;
  }
  .heart_img li img {
    position: absolute;
    width: 14vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .question_answer ul li p .orange_line {
    display: block;
    font-size: 3vw;
    border-bottom: 1px solid #f6ab3e;
    margin-top: 5px;
    margin-bottom: 5px;
    font-family: "ten-mincho", serif;
    font-weight: 400;
    font-style: normal;
    color: #2D2D2D;
  }
  .body_img {
    text-align: center;
    position: relative;
  }
  .body_img li img {
    position: absolute;
    width: 14vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .satisfaction {}
  .satisfaction ul {
    display: flex;
    margin-top: 8vw;
    width: 80vw;
    margin-left: auto;
    margin-right: auto;
  }
  .satisfaction ul li {
    margin: auto;
  }
  .satisfaction ul li img {
    margin: 2vh;
    width: 25vw;
  }
  .satisfaction ul li p {
    font-size: 3vw;
    font-weight: 500;
  }
  .satisfaction ul li p b {
    font-size: 4vw;
    color: #C30D23;
  }
  .satisfaction_2 {}
  .satisfaction_2 ul {
    display: flex;
    margin-top: 8vw;
    width: 80vw;
    margin-left: auto;
    margin-right: auto;
  }
  .satisfaction_2 ul li {
    margin: auto;
  }
  .satisfaction_2 ul li img {
    margin: 2vh;
    width: 25vw;
  }
  .satisfaction_2 ul li p {
    font-size: 3vw;
    font-weight: 500;
    color: #3E3A39;
  }
  .satisfaction_2 ul li p b {
    font-size: 4vw;
    color: #3E3A39;
  }
  .trapezoid_reverse {
    position: relative;
    width: 45vw;
    border-top: 10px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    height: 0;
    margin-top: 7vw;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    font-size: 2.5vw;
    display: block;
    font-weight: normal;
  }
  .trapezoid_reverse span {
    position: relative;
    top: -3.5vw;
    color: #fff;
    font-style: normal;
  }
  .trapezoid_reverse img {
    margin: auto;
    width: 80vw;
  }
  .difference_text {
    margin-top: 7vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 65vw;
    text-align: justify;
    font-size: 1.5vw;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: rgba(45, 45, 45, 1.00);
    line-height: 3vw;
  }
  .can_program_text {
    font-size: 5vw;
    margin-top: 10vw;
    letter-spacing: 0.2vw;
    color: #2D2D2D;
  }
  .can_program {}
  .can_program ul {
    margin-top: 0px;
    margin-right: 0px;
    margin-left: 0px;
    margin-bottom: 0px;
    display: flex;
  }
  .can_program ul li img {
    margin-top: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0px;
  }
  .can_program ul li {
    margin-bottom: 0px;
  }
  .can_program ul li p {
    line-height: 1.5vw;
    position: relative;
    top: 6vw;
  }
  .can_program ul li p i {
    font-size: 3vw;
  }
  .can_program ul li p small {
    line-height: 2.5vw;
    font-size: 2vw;
    text-shadow: 0px 0px 1px #FEF7F6, 0px 0px 1px #FEF7F6, 0px 0px 1px #FEF7F6, 0px 0px 1px #FEF7F6;
  }
  .trapezoid_reverse_02 {
    position: relative;
    width: 60vw;
    border-top: 10px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    height: 0;
    margin-top: 7vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 9vw;
    text-align: center;
    font-size: 2.5vw;
    font-weight: normal;
  }
  .trapezoid_reverse_02 span {
    position: relative;
    top: -4vw;
    color: #fff;
  }
  .trapezoid_reverse_02 img {
    margin: auto;
    width: 85vw;
  }
  .exclusive_text {
    margin-top: 2vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 60vw;
    text-align: justify;
    font-size: 1.4vw;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: rgba(62, 58, 57, 1.00);
    line-height: 3vw;
  }
  .exclusive_text img {
    float: right;
    width: 20vw;
    padding-top: 0px;
    padding-right: 2vw;
    padding-bottom: 2vw;
    padding-left: 4vw;
  }
  .worries {
    margin-top: 5vw;
    margin-bottom: 5vw;
    font-size: 3vw;
    text-align: center;
  }
  .box_right_01 {
    position: relative;
    padding: 1rem;
    border: 2px solid #333;
    color: #333;
    font-weight: bold;
    font-size: 18px;
    width: 30vw;
    margin-top: -5vw;
    margin-left: auto;
    margin-bottom: 0vw;
    height: 7vw;
    margin-right: 13vw;
  }
  .box_right_02 {
    position: relative;
    padding: 1rem;
    border: 2px solid #333;
    color: #333;
    font-weight: bold;
    font-size: 18px;
    width: 35vw;
    margin-top: 0vw;
    margin-left: auto;
    margin-bottom: 0vw;
    height: 4vw;
    margin-right: 3vw;
  }
  .box_right_01:before {
    position: absolute;
    top: 100%;
    left: 10vw;
    transform: skew(-45deg);
    height: 6vw;
    width: 6vw;
    border-right: 3px solid #333;
    content: "";
    background-color: #FEF7F6;
  }
  .box_right_02:before {
    position: absolute;
    top: 100%;
    left: 20vw;
    transform: skew(-45deg);
    height: 6vw;
    width: 6vw;
    border-right: 3px solid #333;
    content: "";
    background-color: #FEF7F6;
  }
  .box_right_01 p {
    line-height: 3.5vw;
    font-size: 2vw;
    vertical-align: middle;
    font-weight: bold;
    position: relative;
    top: 0.5px;
  }
  .box_right_02 p {
    line-height: 0vw;
    font-size: 2vw;
    vertical-align: middle;
    font-weight: bold;
    position: relative;
    top: -0.5vw;
  }
  .box_right_01 .ZenMaruGothicBold span {
    position: relative;
    top: 2.5vw;
  }
  .box_right_02 .ZenMaruGothicBold span {
    position: relative;
    top: 2.5vw;
  }
  .box_left_01 {
    position: relative;
    padding: 1rem;
    border: 2px solid #333;
    color: #333;
    font-weight: bold;
    font-size: 18px;
    width: 35vw;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: auto;
    height: 7vw;
    margin-left: 10vw;
  }
  .box_left_02 {
    position: relative;
    padding: 1rem;
    border: 2px solid #333;
    color: #333;
    font-weight: bold;
    font-size: 18px;
    width: 32vw;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: auto;
    height: 7vw;
    margin-left: 3vw;
    top: 5vw;
  }
  .box_left_01:before {
    position: absolute;
    top: 100%;
    left: 20vw;
    transform: skew(45deg);
    height: 6vw;
    width: 6vw;
    border-left: 3px solid #333;
    content: "";
    background-color: #FEF7F6;
  }
  .box_left_02:before {
    position: absolute;
    top: 100%;
    left: 15vw;
    transform: skew(45deg);
    height: 6vw;
    width: 6vw;
    border-left: 3px solid #333;
    content: "";
    background-color: #FEF7F6;
  }
  .box_left_01 p {
    line-height: 3vw;
    font-size: 2vw;
    font-weight: bold;
    position: relative;
    top: 0.5vw;
  }
  .box_left_02 p {
    line-height: 3vw;
    font-size: 2vw;
    font-weight: bold;
    position: relative;
    top: 0.5vw;
  }
  .worries_img {
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 18vw;
    position: relative;
    top: -10vw;
    left: -1vw;
  }
  .solution {
    font-weight: 500;
    font-size: 3vw;
    letter-spacing: 0.2vw;
    margin-top: -5vw;
    margin-bottom: 5vw;
    text-align: center;
  }
  .solution small {
    font-size: 2vw;
  }
  .scroll_img {
    width: 70%;
    padding-bottom: 5vw;
    height: 14vw;
    margin: 0 auto;
  }
  .merit {
    margin: auto;
  }
  .merit b {
    font-size: 2.2vw;
    position: relative;
    top: 5vw;
    z-index: 2;
    text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
    font-family: "ten-mincho", serif;
    font-weight: 500;
    font-style: normal;
  }
  .merit ul {
    display: flex;
    background-image: linear-gradient(115deg, rgba(252, 71, 125, 1), rgba(255, 115, 115, 1) 48%, rgba(250, 186, 95, 1));
    padding-top: 0vw;
    padding-bottom: 0vw;
    margin-top: 5vw;
    width: 100vw;
    margin-left: auto;
    margin-right: auto;
    height: 20vw;
  }
  .merit .gradation_reverse {
    background-image: linear-gradient(115deg, rgba(250, 186, 95, 1), rgba(255, 115, 115, 1) 48%, rgba(252, 71, 125, 1));
  }
  .merit ul li {
    margin: auto;
    width: 40vw;
  }
  .merit ul li img {
    position: relative;
    bottom: 6vw;
    width: 50vw;
  }
  .merit ul li p {
    padding-top: 2%;
    padding-right: 2%;
    padding-left: 2%;
    padding-bottom: 2%;
    font-size: 1.5vw;
    color: #FFFFFF;
    margin: auto;
    width: 35vw;
    line-height: 3vw;
    text-align: justify;
  }
  .trapezoid_reverse_03 {
    position: relative;
    width: 50vw;
    height: 10vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: -3vw;
    text-align: center;
    font-size: 4.5vw;
    padding-top: 7vw;
  }
  .trapezoid_reverse_03 span {
    position: relative;
    top: -4.5vw;
    color: #fff;
    font-weight: normal;
    font-size: 3vw;
  }
  .program {}
  .program ul {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 7vw;
    margin: auto;
    width: 60vw;
  }
  .program ul li {
    width: 25vw;
    margin-top: 3vw;
    margin-right: auto;
    margin-bottom: auto;
    margin-left: 0px;
  }
  .program ul li p {
    font-size: 2vw;
    position: relative;
    width: 40vw;
    left: -10vw;
    top: 2vw;
    color: #4D4D4D;
  }
  .program ul li img {
    width: 14vw;
    margin-left: 2vw;
  }
  .choice {
    margin-top: 10vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    padding-top: 0.5vw;
    padding-right: 2vw;
    padding-left: 2vw;
    padding-bottom: 0.5vw;
    background-image: linear-gradient(90deg, rgba(247, 93, 139, 1) 29%, rgba(254, 220, 64, 1));
    color: #FFFFFF;
    font-size: 1.5vw;
    letter-spacing: 0.3vw;
    display: block;
    width: 10vw;
    text-align: center;
  }
  .title_text {
    font-family: "ten-mincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3vw;
    margin-top: 3vw;
    text-align: center;
  }
  .studio_breadth ul {
    display: flex;
    margin-top: 3vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 85vw;
  }
  .studio_breadth ul li {
    margin-top: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0px;
    width: 40vw;
  }
  .studio_breadth ul li p {
    font-size: 2vw;
    line-height: 2.8vw;
    margin-bottom: 0.5vw;
    text-align: center;
  }
  .reformer_lowprice {
    font-size: 3vw;
    line-height: 4vw;
    letter-spacing: 0.3vw;
    font-weight: normal;
    color: rgba(62, 58, 57, 1.00);
  }
  .refomer_lowprice_text {
    margin-top: 2vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 5vw;
    width: 70vw;
    text-align: justify;
    font-size: 1.5vw;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: rgba(62, 58, 57, 1.00);
    line-height: 3vw;
  }
  .toyonaka_pilates {
    margin: auto;
    width: 70vw;
  }
  .toyonaka_pilates img {
    width: 100%;
  }
  .toyonaka_pilates ul {
    display: flex;
    margin-top: 3vw;
    margin-bottom: 5vw;
    flex-wrap: wrap;
  }
  .toyonaka_pilates ul li {
    margin: auto;
    width: 33vw;
  }
  .toyonaka_pilates ul li p {
    font-size: 1.5vw;
    line-height: 3.5vw;
    margin-bottom: 2vw;
    margin-top: 0px;
    text-align: center;
  }
  .program .trapezoid_reverse_03 span {}
  .bearsi_more {
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2vw;
    margin-top: -5vw;
  }
  .bearsi_more b {
    font-size: 3vw;
  }
  .facility {
    text-align: center;
    color: #FFFFFF;
  }
  .bearsi_more_clause {
    margin: auto;
    text-align: left;
  }
  .bearsi_more_clause li {
    text-align: center;
    color: #3E3A39;
    font-size: 1.5vw;
    font-family: "Noto Sans JP", sans-serif;
  }
  .lowprice {
    font-size: 2vw;
    margin-top: -4vw;
    text-align: center;
  }
  .synergy {
    font-family: "ten-mincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 5vw;
    text-align: center;
    margin-top: -35px;
  }
  .gradation {
    background-image: linear-gradient(32deg, rgba(247, 93, 139, 1) 40%, rgba(254, 220, 64, 1));
    background: -webkit-linear-gradient(32deg, rgba(247, 93, 139, 1) 40%, rgba(254, 220, 64, 1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .towel_option {
    text-align: center;
    font-size: 20px;
    line-height: 30px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .btn_2 {
    display: inline-block;
    position: relative;
    padding-top: 5px;
    padding-right: 40px;
    padding-left: 40px;
    padding-bottom: 5px;
    text-decoration: none;
    background-image: linear-gradient(131deg, rgba(26, 159, 2, 1), rgba(37, 99, 27, 1) 16%, rgba(10, 77, 1, 1) 40%, rgba(10, 78, 3, 1) 76%, rgba(24, 131, 3, 1));
    border-radius: 20vw;
    color: #fff;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 6px 0 #3E3A39;
    -webkit-box-shadow: 0 5px 0 #3E3A39;
    border: 2px solid #3E3A39;
    margin-top: 1vw;
    margin-bottom: 6vw;
    width: 30vw;
    font-size: 1.5vw;
  }
  .btn_2:hover {
    top: 6px;
    box-shadow: none;
    color: #fff;
  }
  .application {
    font-size: 3vw;
    margin-top: 3vw;
    font-weight: normal;
  }
  .application_img_01 {
    margin-top: 5vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 60vw;
    padding-bottom: 3vw;
  }
  .lesson_application {
    display: block;
    margin: auto;
    width: 100vw;
  }
  .lesson_application ul {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    width: 70vw;
  }
  .lesson_application ul li {
    margin-top: 3vw;
    margin-right: auto;
    margin-left: auto;
    width: 45vw;
  }
  .lesson_application ul .pc_monitor p {
    font-size: 2vw;
    line-height: 4vw;
    color: #4D4D4D;
  }
  .lesson_application ul .sp_monitor p {
    font-size: 2vw;
    line-height: 3vw;
    color: #4D4D4D;
  }
  .lesson_application ul .pc_monitor {
    width: 70%;
    text-align: center;
  }
  .lesson_application ul .sp_monitor {
    width: 30%;
    text-align: center;
  }
  .lesson_application_sp {
    display: none;
  }
  .lesson_application_sp ul {
    margin: auto;
    width: 90vw;
  }
  .lesson_application_sp ul li {
    width: 90vw;
    margin-top: 5vw;
    margin-bottom: 5vw;
    margin-left: auto;
    margin-right: auto;
  }
  .lesson_application_sp ul li p {
    font-size: 5vw;
    color: #4D4D4D;
    text-align: center;
  }
  .reservation {
    --x-gradient: linear-gradient(90deg, #323232 0 15px, transparent 0 calc(100% - 15px), #323232 calc(100% - 15px));
    --y-gradient: linear-gradient(#323232 0 15px, transparent 0 calc(100% - 15px), #323232 calc(100% - 15px));
    margin-top: 4rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 4rem;
    padding-top: 1rem;
    padding-right: 1rem;
    padding-left: 1rem;
    padding-bottom: 1rem;
    background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
    background-position: top, right, bottom, left;
    color: #323232;
    text-decoration: none;
    transition: 0.5s;
    text-align: center;
    font-size: 2vw;
    width: 40vw;
  }
  .address {
    margin: auto;
    width: 80vw;
    font-size: 2vw;
    line-height: 3.5vw;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: normal;
    font-style: normal;
    text-align: center;
  }
  .boder {
    border: 1px solid #4D4D4D;
    margin-top: 2vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 80%;
  }
  .boder p {
    padding-top: 1rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    padding-bottom: 1.5rem;
    line-height: 3vw;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #4D4D4D;
    font-size: 2vw;
    text-align: center;
  }
  .boder p b {
    font-size: 5vw;
    line-height: 8vw;
  }
  .boder p b a {
    color: rgb(243, 87, 134);
    text-decoration: none;
  }
  .boder .detail small {
    font-size: 2.8vw;
  }
  .application_img_02 {
    margin-top: 5vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 20vw;
  }
  .preparation {
    margin-bottom: 5vw;
    margin-top: 2vw;
  }
  .preparation ul {
    display: flex;
    margin: auto;
    width: 65vw;
  }
  .preparation ul li {
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 30vw;
  }
  .preparation ul li p {
    font-size: 1.5vw;
    text-align: justify;
    line-height: 3vw;
    font-weight: normal;
  }
  .preparation ul .towel {
    width: 15vw;
    position: absolute;
    right: 0px;
  }
  .application_img_03 {
    margin-top: 3vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 20vw;
  }
  .lesson_start {
    margin-bottom: 5vw;
    margin-top: 2vw;
  }
  .lesson_start ul {
    display: flex;
    margin: auto;
    width: 65vw;
  }
  .lesson_start ul li {
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 30vw;
  }
  .lesson_start ul li p {
    font-size: 1.5vw;
    text-align: justify;
    line-height: 3vw;
  }
  .shower ul li p {
    font-size: 1.5vw;
    text-align: justify;
    line-height: 3vw;
  }
  .shower ul li {
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 30vw;
  }
  .shower ul {
    display: flex;
    margin: auto;
    width: 65vw;
  }
  .shower {
    margin-bottom: 5vw;
    margin-top: 2vw;
  }
  .application_img_04 {
    margin-top: 2vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 30vw;
  }
  .inside-line {
    width: 50vw;
    display: block; /* aタグの場合は必要 */
    text-decoration: none; /* aタグでリンクテキストの下線を消したい場合は必要 */
    outline: 1px solid #FFFFFF; /* 線の太さ・線状・色 */
    outline-offset: -5px; /* どれだけ内側に線を表示したいかを負の値で指定 */
    margin-top: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 5vw;
    padding: 1vw 2vw;
    background-image: linear-gradient(131deg, rgba(26, 159, 2, 1), rgba(37, 99, 27, 1) 16%, rgba(10, 77, 1, 1) 40%, rgba(10, 78, 3, 1) 76%, rgba(24, 131, 3, 1));
    text-align: center;
    color: #FFFFFF;
    font-size: 2vw;
    -webkit-box-shadow: 2px 2px 5px -1px #4D4D4D;
    box-shadow: 2px 2px 5px -1px #4D4D4D;
  }
  .instructor p {
    margin: auto;
    width: 60vw;
    display: block;
    font-size: 1.7vw;
    line-height: 3vw;
    text-align: justify;
    font-weight: bold;
    color: #2D2D2D;
  }
  .instructor .ZenMaruGothicRegular img {
    float: right;
    padding-top: 0px;
    padding-left: 3vw;
    padding-bottom: 2.5vw;
    width: 20vw;
  }
  .instructor .ZenMaruGothicRegular b {
    font-size: 2.5vw;
    font-family: "ten-mincho", serif;
    font-weight: 600;
    font-style: normal;
    padding-bottom: 2vw;
    display: block;
    color: #2D2D2D;
  }
  .instructor .ZenMaruGothicRegular {
    font-weight: normal;
  }
  .plan {
    font-size: 3.5vw;
    margin-top: 5vw;
    margin-bottom: 3vw;
    letter-spacing: 0.5vw;
  }
  /* external css: flickity.css */
  .gallery {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .gallery.js-flickity div img {
    margin: auto;
    width: 80vw;
    -webkit-box-shadow: 0px 0px;
    box-shadow: 0px 0px;
  }
  body footer {
    margin: auto;
    width: 100vw;
    padding-bottom: 3vw;
  }
  .btn_3 {
    display: inline-block;
    position: relative;
    padding-top: 5px;
    padding-right: 30px;
    padding-left: 30px;
    padding-bottom: 5px;
    text-decoration: none;
    background-image: linear-gradient(131deg, rgba(26, 159, 2, 1), rgba(37, 99, 27, 1) 16%, rgba(10, 77, 1, 1) 40%, rgba(10, 78, 3, 1) 76%, rgba(24, 131, 3, 1));
    border-radius: 20vw;
    color: #fff;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 6px 0 #3E3A39;
    -webkit-box-shadow: 0 5px 0 #3E3A39;
    border: 2px solid #3E3A39;
    margin-top: 3vw;
    margin-bottom: 3vw;
    width: 25vw;
    font-size: 1.5vw;
    letter-spacing: 0.1vw;
  }
  .btn_3:hover {
    top: 6px;
    box-shadow: none;
    color: #fff;
  }
  .personal {
    margin-top: 3vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 60vw;
  }
  .personal img {
    margin-top: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    width: 60vw;
    transition: all .3s;
  }
  .personal img:hover {
    opacity: 0.6;
    filter: brightness(110%);
    -webkit-transition: all .3s;
    transition: all .3s;
  }
  .toyonaka_detail {
    margin: auto;
    width: 50vw;
    text-align: center;
    padding-top: 3vw;
  }
  .toyonaka_detail p span {
    background-image: linear-gradient(90deg, rgba(247, 93, 139, 1) 32%, rgba(254, 183, 64, 1));
    padding: 0vw 2vw;
    color: #FFFFFF;
    font-size: 1vw;
  }
  .toyonaka_detail .ZenMaruGothicBold {
    font-size: 1.5vw;
    color: #4D4D4D;
    line-height: 2.5vw;
    letter-spacing: 0.5vw;
    text-align: left;
  }
  .toyonaka_detail .ZenMaruGothicBold b {
    font-size: 3vw;
  }
  .ZenMaruGothicBold b a {
    color: #4D4D4D;
    text-decoration: none;
  }
  .company {
    color: #4D4D4D;
    text-decoration: none;
    margin-top: 5vw;
    margin-bottom: 3vw;
    padding-bottom: 10vw;
  }
  .schedule {
    width: 50vw;
    background-image: linear-gradient(131deg, rgba(26, 159, 2, 1), rgba(37, 99, 27, 1) 16%, rgba(10, 77, 1, 1) 40%, rgba(10, 78, 3, 1) 76%, rgba(24, 131, 3, 1));
    font-size: 2vw;
    color: #FFFFFF;
    letter-spacing: 0.2vw;
    text-decoration: none;
    display: block;
    padding-top: 0.5vw;
    padding-bottom: 0.5vw;
    margin-top: 1vw;
    margin-bottom: 1vw;
  }
  .reservation_banner {
    display: inline-block;
    position: fixed;
    bottom: -1px;
    padding-top: 1vw;
    padding-right: 1vw;
    padding-bottom: 1vw;
    background-image: linear-gradient(131deg, rgba(26, 159, 2, 1), rgba(37, 99, 27, 1) 16%, rgba(10, 77, 1, 1) 40%, rgba(10, 78, 3, 1) 76%, rgba(24, 131, 3, 1));
    color: #FFFFFF;
    text-decoration: none;
    font-size: 1.5vw;
    right: 0px;
    padding-left: 1vw;
  }
  .banner {
    width: 100%;
    text-align: center;
    z-index: 3;
    position: relative;
  }
  .banner ul {
    position: fixed;
    bottom: 0vw;
    display: flex;
    width: 40vw;
    margin-top: auto;
    margin-left: auto;
    margin-bottom: 1vw;
    right: 30%;
    left: 30%;
  }
  .banner ul li {
    border-radius: 10vw;
    margin: auto;
    width: 20vw;
  }
  .banner ul .pink {
    background-color: #F75D8B;
    margin-right: 1vw;
    box-shadow: 2px 2px 3px #3E3A39;
    transition: .3s;
    position: relative;
  }
  .banner ul .pink:hover {
    box-shadow: none;
  }
  .banner ul .orange {
    background-color: #F6AB3E;
    margin-left: 1vw;
    box-shadow: 2px 2px 3px #3E3A39;
    transition: .3s;
    position: relative;
  }
  .banner ul .orange:hover {
    box-shadow: none;
  }
  .reservation_banner_01 {
    display: block;
    width: 20vw;
    padding-top: 1vw;
    color: #FFFFFF;
    text-decoration: none;
    padding-bottom: 1vw;
    margin: auto;
    font-size: 1.3vw;
    font-weight: bold;
    border-radius: 10vw;
    position: relative;
  }
  .reservation_banner_02 {
    display: block;
    width: 20vw;
    padding-top: 1vw;
    color: #FFFFFF;
    text-decoration: none;
    padding-bottom: 1vw;
    margin: auto;
    font-size: 1.3vw;
    border-radius: 10vw;
    font-weight: bold;
    position: relative;
  }
  .elm {
    text-decoration: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
    padding: 20px;
    color: #fff;
    transition: 0.2s;
    opacity: 0;
    z-index: -1;
  }
/*-----------------
    2026.0314 追加
-----------------*/
.logo_small_span {
    font-size: 1.2vw;
    text-align: left;
}
 .campaign_banner {
     position: relative;   
    }
.campaign_banner .back_pink_p {
color: #FFFFFF;
background-color: #F75D8B;
padding:0.1em 0.3em;
text-align: center;
display: inline-block;
top: -10%;
position: absolute;
left: 30%;
right: 30%;
 }
.campaign_banner .catch_p {
 font-size: 3.4vw;
 margin: 3% auto 0 auto;      
 }
.campaign_banner .catch_p .hanare_l {
    background-color: none;
    font-size: 5vw;
  }
.studio_breadth ul li .note_p {
 font-size: 1vw;
 }
}