
@media screen and (max-width: 640px) {

p {
   font-size: 1.4rem;
}
.note {
   font-size: 1.2rem;
}

.main_flex {
   width: 100%;
   min-width: 100%;
   max-width: 100%;
   box-shadow: none;
   border-radius: 0;
   margin: 0;
   position: relative;
}
main {
   width: 100%;
   border-radius: 0;
   padding: 0;
   padding-top: 0;
}
.fixed {
   position: unset;
}

.sub_read {
   font-size: 1.6rem;
}


/**common**/

.contents_area {
   padding: 50px 30px;
}

.g_navi-head_menu{
  display: none!important;
}

.card-radius {
   border-radius: 0 20px 0 20px;
   padding: 25px;
}
.card-white {
   padding:50px 30px 30px;
}

.card-instructor p {
   font-size: 1.4rem;
}
.card-instructor .right {
   font-size: 1rem;
   padding-top: 5px;
}
.pic-card-instructor {
   width: 47%;
   margin-top: -20vw;
   margin-bottom: 20px;
}
.section-title {
   font-size: 2.4rem;
   margin-bottom: 30px;
   font-weight: 600;
}
.section-title  .text-s {
   font-size: 1.4rem;
}
.entry {
   padding-top: 45vw;
   padding-bottom: 15vw;

}
.pb50.entry {
   padding-bottom: 50px!important;
}
.entry .entry-title {
   font-size: 1.9rem;
   margin-bottom: 20px;
}
.entry .phone {
   margin: -50vw auto 30px;
}

.entry .phone .icon-imanara {
   position: absolute;
   top: -5vw;
   left: -10vw;
   width: 20vw;
   height: 20vw;
   font-size: 2rem;
}
.card-entry {
   margin-bottom: 25px;
}

/**nav**/

.g_header1 {
   width: 60px;
   position: absolute;
   padding: 0;
   top: 30px;
   left: 20px;
   z-index: 3;
   transform: none;
   -webkit-transform: none;
   -ms-transform: none;
}
.main_flex .g_header1{
   display: block;
}

.g_header1 .g_navi-head_logo a {
   margin: 0 auto;
}

.g_header1 .g_navi-head_logo .header__logo {
   width: 100%;
}

.g_header.retractable.scrolled .g_navi-head {
   top: 0;
}
.g_header .g_navi-head {
   width: 100%;
   height: 50px;
   z-index: 9999;
   position: fixed;
   top: 0px;
   background: #fff;
}

.g_header .g_navi-head_logo{
  text-align: center;
  margin: 4px auto 0;
  display: inline-block;
  width: 100%;
}
.g_header .g_navi-head_logo img{
  padding-top: 10px;
  text-align: center;
  height: 30px;
}
.g_header.retractable.scrolled .g_navi-head {
   top: 0;
}

.g_header .g_navi-head-sub, .g_header .g_navi-head {
   transition: all .4s;
}

.g_navi-head_btns {
   position: absolute;
   top: 5px;
   right: 10px;
}

.g_header .g_navi-head .btn{
   width: 40px;
   height: 40px;
   letter-spacing: 0;
   color: #1DA1F2;
   font-size: 2rem;
   display: flex;
   justify-content: center;
   padding: 10px;
   margin-top: 0;
   background: #fff;
   border: solid 1px #c1c1c1;
}


/**right**/

.contents_right {
   position: fixed;
   top:84vw;
   bottom:auto;
   right:15px;
   width:90px;
   height:90px;
   padding: 0;
   z-index: 10;
}
.contents_right a {
   width:90px;
   height:90px;
   margin: 0;
}
.btn-trial .text-l .yen{
   font-size: 1.2rem;
}

.btn-trial .text-l {
   font-size: 2.6rem;
   margin-bottom: 3px;
   font-family: futsura;
}
.btn-trial p {
   line-height: 0.6em;
}
.btn-trial .text-bg {
 font-size: 1rem;
 padding: 3px 15px;
 margin-bottom: 8px;
}
.btn-trial .text-pre {
   font-size: 1rem;
   line-height: 1.2em;
   letter-spacing: -0.04em;
}

/**keyvisual**/

.lp_main-visual .inner {
   width: 100%;
}

.lp_main-visual .logo img{
  width: 50%;
}
.lp_main-visual .text{
   position: relative;
   width: 100%;
}

.lp_main-visual .top_cv{
  position: absolute;
  bottom: -15%;
  right: 60px;
}

.lp_main-visual .top_cv img{
  width: 200px;
}

.hero__group {
   text-align: left;
   position: relative;
   height: 116vw;
}
.join_campaign .balloon {
   max-width: 80%;
   font-size: 1.6rem;
   margin: 0 auto 20px;
}
.hero_sub_text {
   gap: 5px;
}
.hero_sub_text .bg-line {
   font-size: 1.9rem;
   padding: 10px 4px;
   letter-spacing: 0.1em;
   line-height: 1.1em;
}

.hero_sub_text {
   bottom: 0;
   left: -10px;
}
.hero_sub_text .bg-line:nth-child(2) {
   margin-top: 50px;
}
.hero__group__title {
   font-size: 2.2rem;
   left: 20px;
}
.hero__group__title .line {
   font-size:2.6rem;
   margin-bottom: 5px;
   letter-spacing: 0.08em;
   line-height: 1em;
   padding: 8px 12px;
}
.hero__group__title .line:first-child {
   font-size: 2rem;
}
.hero__group__title__sub {
   padding-bottom: 13px;

}
.user2500k img {
   width: 85%;
}
.user2500k .note {
   font-size: 0.8rem;
}

.about {
   padding-bottom: 40px;
   padding-top: 140px;
}
.about::after {
   height: 20vw;
   bottom:-20vw;
}
.about_ttl {
   font-size: 1.8rem;
   margin-top: 40px;
}
.nayami::after {
   width: 25px;
    height: 25px;
    bottom: -25px;
}
.nayami_ttl {
   margin-bottom: 20px;
}
.title-check {
   margin-bottom: 10px;
}
.nayami_list {
   padding: 20px 15px 30px 15px;
}
.nayami_li {
   font-size: 1.4rem;
   padding: 10px 0 10px 25px;
}
.nayami_li::before {
   width: 16px;
   height: 16px;
}
.nayami_list .nayami_card {
   width: 45%;
   height: 37vw;
}
.nayami_list .nayami_card p {
   font-size: 1.4rem;
}
.illust-nayami {
   margin: -18% auto 30px;
}
.solution_ttl_big {
   font-size: 2rem;
}
.solution_ttl_small {
   font-size: 1.5rem;
   padding:5px 10px;
}
.solution_text {
   padding: 20px 25px;
}

.inner-approach {
   padding-top: 0;
}
#approach {
   padding-bottom: 10px;
   margin-bottom: 100px;
}
#approach::before {
   height: 40vw;
}
.chart-approach {
   padding-top: 100px;
   padding-bottom:36vw;

}
.voice {
   padding:20px;
}
.voice .text_voice {
   padding-left: 10px;
}
.hr-approach {
   height: 30vw;
}
.approach_list {
   margin-top: 5vw;
}
.approach_list::before {
   height: 20vw;
   top:-18vw;
}
.approach_list_text {
   margin-bottom: 50px;
}
.approach_item {
   padding-top: 11%;
}
.approach-num {
   width: 50px;
   margin-bottom: 10px;
}
.approach-subtitle {
   font-size: 1.75rem;
}
.approach-subtitle span {
   padding: 4px 6px;
   margin-bottom: 4px;
}
.approach-text {
   font-size: 1.2rem;
}
.list-logo {
   margin-bottom: 20px;
}

.icon-rank {
   width: 30px;
}

.event-title-sub {
   font-size: 1.5rem;
   padding: 5px 10px;
}


.class-title {
   margin-bottom: 0;
}

.event {
   padding-top: 100px;
   margin-bottom: 150px;
}
.list-event {
   margin-top: 120px;
}
.item-event {
   margin-bottom: 130px;
}
.item-event .event_image_box {
   margin-top: -50%;
}
.item-event .event-name {
   font-size: 1.7rem;
   margin-bottom: 10px;
}

.event-fukidashi {
   padding: 10px;
}
.event-tutor {
   font-size: 1.2rem;
}

.event-fukidashi::before {
   left: -10px;
    width: 13px;
    height: 13px;
}
.event-fukidashi p {
   font-size: 1.2rem;
   line-height: 1.5em;

}

.event-author {
   font-size: 1.3rem;
   margin-bottom: 20px;
}
.tutor-shoko {
   margin-top: 20px;
   padding: 30px 15px 30px;
}
.tutor-shoko-title {
   font-size: 1.5rem;
   margin-bottom: 10px;
}

.event-date-group {
   padding: 10px;
   margin-top: 20px;
}
.event-date-title {
   font-size: 1.7rem;
   margin-bottom: 10px;
   padding: 5px;
}

.mukumi {
   padding-top: 130px;
}
.mukumi-illust {
   margin-bottom: 130px;
}

.item-class .icon-rank-class {
   margin-bottom:25vw;
   width: 35px;
}
.item-class {
   margin-bottom: 10vw;
}
.item-class .fukidashi-class {
   font-size: 1.5rem;
   padding: 10px;
   margin-bottom: 33vw;
}
.item-class .fukidashi-class::after{
   width: 9px;
   height: 8px;
   bottom:-8px;
}

#class {
   padding-top: 25vw;
   padding-bottom: 38vw;
}

.rank4-5 .item-class .icon-rank-class {
   margin-bottom: 10vw;
   width: 30px;
}
.rank4-5 .item-class .card-white {
   padding: 20px 10px;
}
.rank4-5 .item-class .class-name {
   font-size: 1.2rem;
}
.rank4-5 .item-class p {
    font-size: 1.1rem;
}
.rank4-5 .item-class .class_image {
   margin-top: -10vw;
   margin-bottom: 20px;
}

.class-other {
    border: solid 1px #fff;
    padding-top: 40px;
}



.title-osusume-jikan {
   font-size: 1.6rem;
   padding-bottom: 10px;
   padding-top: 20px;
   border-bottom: solid 1px #748fb4;
}
.item-class .class_image {
   width: 70%;
   margin: -33vw auto 15px;
}
.item-class .class-name {
   font-size: 1.5rem;
   margin-bottom: 12px;
}
.item-class .voice {
   margin-top: 15px;
   padding:10px 17px 15px;
}
.item-class .voice .text_voice {
   font-size: 1.1rem;
}

.list-class-other {
   margin-bottom: 10px;
   margin-top: 20px;
   gap:25px 2%;
   width: 95%;

}
.title-class-other {
   font-size: 1.6rem;
   margin-bottom: 20px;
}
.list-class-other li {
   width: 46%;
   margin: 0;
}
.class-other-image {
   margin-bottom: 10px;
}
.student-voice {
   padding-bottom: 0;
}
.student-voice-item {
   margin-bottom: 20px;
}
.student-voice::before {
   height: 20vw;
   top:-18vw;
}
.student-voice-image {
   margin-right: 15px;
}
.student-voice-item .card {
   padding-top: 30px;
}
.student-voice-flex {
   margin-bottom: 10px;
}
.student-voice-title p {
   font-size: 1.6rem;
}
.student-voice-title p.student-voice-name {
   font-size: 1.2rem;
}
.feature {
   padding-top: 10vw;
   padding-bottom: 0;
}
.feature .section-title {
   font-size: 1.9rem;
}

.feature .section-title.mb60 {
   font-size: 1.8rem;
   margin-bottom: 8rem!important;
}
.feature::before {
   height: 35vw;
   top: 0;
}

.feature-item_image::after {
   width: 30px;
   height: 23px;
}
.feature-item_image {
   margin-bottom: 15px;
}
.feature-item_ttl {
   font-size: 1.3rem;
   margin-bottom: 12px;
}
.feature-item_text {
   font-size: 0.9rem;
   font-size: 1.1rem;
   padding: 0 0 0 2px;
}
.feature-list {
   margin-bottom: 35px;
}
.feature-item {
   margin-bottom: 30px;
}
.feature::after {
   height: 37vw;
   bottom:-37vw;
}
.rate {
   padding-top: 32vw;
   padding-bottom: 10vw;
}
.rate-title {
   font-size: 1.5rem;
   margin-bottom: 15px;
}
.note-rate {
   font-size: 0.8rem;
   margin-bottom: 10px;
}
.catch-rate {
   font-size: 1.5rem;
}
.rate::after {
   height: 40vw;
   bottom:-40vw;
}
.instructor {
   padding-top: 30vw;
   padding-bottom: 0;
   margin-bottom: 37vw;
}

.tutor-shoko-image {
   margin-bottom: 20px;
}
.title-conditioning {
   font-size: 2.2rem;
   margin-bottom: 10px;
}
.tutor-shoko-name .text-s {
   font-size: 1.4rem;
}
.tutor-shoko-name {
   font-size: 2rem;
   margin-bottom: 10px;
}

.title-conditioning-s {
   font-size: 1.4rem;
   padding: 8px 20px;
}
.instructor-title {
   font-size: 1.9rem;
   margin-bottom: 20px;
}
.instructor-list {
   padding: 20px 0 0 ;
}

.instructor-list .instructor-item {
   padding: 20px 15px;
   margin-bottom: 3.5vw;
}
.instructor-list img {
   margin-bottom: 20px;
}
.instructor-list .instructor-item p {
   font-size: 1.1rem;
}
.instructor-name {
   font-size: 1.5rem;
   margin-bottom: 10px;
}

#plan {
   padding-top: 25vw;
}

.asayoga .faq-section .accordion-s {
   margin-top: 0;
}

/**footer**/

.g_footer {
   border-radius: 0;
}


.g_footer-nav li{
  margin: 10px;
}

.g_footer .logo {
   margin-top: 0;
}

.g_footer .logo img {
   height: 30px;
}

.g_footer-nav {
   padding: 10px 20px 0;
}

.g_footer .copyright {
   padding: 10px 0 70px;
}

.br-sp{
  display: block;
}
.pc, .tab {
  display: none;
}
.sp {
  display: inline;
}

.pc-tab{
  display: none!important;
}

}

@media screen and (max-width: 375px) {

   .section_ttl {
      font-size: 2rem;
      line-height: 3.3rem;
   }

   #voice .voice_list li .voice_img {
      width: 150px;
   }




}