@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato&display=swap');

@media screen and (min-width: 768px), print {
  [href*='tel:'] {
    pointer-events: none;
  }
  .bread_nav {
    padding-top: 153px;
    background-color: #f4f4f4;
  }
  .bread_nav__wrapper {
    width: 1100px;
    margin: 0 auto;
  }
  .bread_nav__wrapper ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .bread_nav__wrapper ul a {
    color: #218e43;
  }
  .bread_nav__wrapper ul li {
    margin: 15px 25px;
    position: relative;
  }
  .bread_nav__wrapper ul li:first-of-type {
    margin-left: 0;
  }
  .bread_nav__wrapper ul li:last-of-type::after {
    display: none;
  }
  .bread_nav__wrapper ul li::after {
    content: "＞";
    position: absolute;
    right: -34px;
    top: 0;
  }

  .sec_inner {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }

  .sec_ttl {
    position: relative;
    text-align: center;
    background: url(../images/ttl_bg.jpg) center center;
    background-size: cover;
    color: #fff;
    font-size: 3.6rem;
    padding: 4rem 0 6rem;
    line-height: 1.2;
  }

  .sec_ttl::after {
    content: "";
    position: absolute;
    width: 5rem;
    height: 2rem;
    background: url(../images/ttl_deco.svg) no-repeat center center;
    background-size: contain;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2.5rem;
  }

  .mv {
    background: url(../images/mv_img.jpg) center center;
    background-size: cover;
    padding: 10rem 0 18rem;
    text-align: center;
  }

  .mv_ttl {
    margin-top: 2rem;
    font-size: 5.4rem;
    color: #fff;
    text-shadow: 0.3rem 0.5rem 0.5rem rgba(5, 5, 5, .2);
  }

  .cvArea {
    margin-top: -12rem;
    text-align: center;
    background: url(../images/cv_bg.jpg) no-repeat center center;
    background-size: cover;
    width: 72rem;
    margin-left: auto;
    margin-right: auto;
    border-radius: .5rem;
    padding: 3rem 0;
  }

  .cvArea_ttl {
    font-size: 3.2rem;
    color: #fff;
  }

  .cvArea_txt {
    margin-top: 1rem;
    line-height: 2;
    color: #fff;
  }

  .cvArea_btnWrap {
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
  }

  .cvArea_btnWrap a {
    position: relative;
    width: 22rem;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: .3rem;
    padding: 1.5rem 0;
    font-size: 2rem;
    font-weight: bold;
    color: #0E8E46;
  }

  .cvArea_btnWrap a::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    height: 0.6rem;
    width: 0.6rem;
    border-right: .2rem solid #0E8E46;
    border-bottom: .2rem solid #0E8E46;
  }

  .cvArea_btnWrap a figure {
    display: grid;
    margin-right: 1rem;
    width: 2.2rem;
  }

  .cvArea_btnWrap a:last-of-type {
    margin-left: 1.5rem;
  }

  .c_banner {
    margin-top: 6rem;
  }

  .c_banner__ttl {
    text-align: center;
    font-size: 3rem;
    color: #0E8E46;
    margin-bottom: 4rem;
  }

  .c_banner__ttl span {
    position: relative;
  }

  .c_banner__ttl span::after, .c_banner__ttl span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 3.5rem;
    width: 0.2rem;
    background: #0E8E46;
  }

  .c_banner__ttl span::after {
    left: -2rem;
    transform: translateY(-50%) rotate(-45deg);
  }

  .c_banner__ttl span::before {
    right: -2rem;
    transform: translateY(-50%) rotate(45deg);
  }

  .c_banner figure {
    width: 355px;
    height: 180px;
  }

  .c_banner img{
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .c_banner-center {
    width: 600px;
    margin: 0 auto;
    margin-top: 30px;
  }


  .c_banner__wrap {
    display: flex;
    justify-content: center;
  }
  .c_banner__wrap figure {
    margin: 0 5px;
  }
  /* .c_banner__wrap {
    display: flex;
    justify-content: space-between;
  } */

  .green_bg {
    background: #F5FFF4;
    padding-bottom: 7rem;
  }

  .approach__txt {
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 3rem;
  }

  .approachEle {
    text-align: center;
    background: url(../images/approach_bg01.jpg) no-repeat center center;
    background-size: cover;
    padding: 8rem 0;
  }

  .approachEle:last-of-type {
    text-align: center;
    background: url(../images/approach_bg02.jpg) no-repeat center center;
    background-size: cover;
    padding: 8rem 0;
  }

  .approachEle__wrap {
    display: flex;
  }

  .approachEle:nth-of-type(even) .approachEle__wrap {
    flex-direction: row-reverse;
  }

  .approachEle__left {
    width: 45rem;
  }

  .approachEle__right {
    width: calc(100% - 45rem);
    padding-left: 5rem;
  }

  .approachEle:nth-of-type(even) .approachEle__right {
    padding-left: 0;
    padding-right: 5rem;
  }

  .approachEle span {
    display: inline-block;
    background: #0B897B;
    color: #fff;
    font-size: 1.8rem;
    border-radius: 999rem;
    padding: .3rem 2.5rem;
  }

  .approachEle h3 {
    text-align: left;
    font-size: 3.2rem;
    color: #0B897B;
    margin-top: 2.5rem;
    margin-bottom: 4rem;
  }

  .approachEle strong {
    display: block;
    text-align: left;
    font-size: 2.4rem;
  }

  .approachEle p {
    text-align: left;
    margin-top: 1.5rem;
    line-height: 1.8;
  }

  .point {
    padding-bottom: 8rem;
  }

  .point_txt {
    text-align: center;
    margin-top: 5rem;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  .point_list {
    margin-top: 5rem;
  }

  .point_ele {
    counter-increment: li;
    padding: 4rem 0;
  }

  .point_ele figure {
    display: flex;
    justify-content: space-between;
  }

  .point_ele:nth-of-type(even) {
    background: #F5FFF4;
  }

  .point_ele:nth-of-type(even) figure {
    flex-direction: row-reverse;
  }

  .point_ele figure div {
    position: relative;
    width: 44rem;
  }

  .point_ele figure div span {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 5rem;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    color: #fff;
    line-height: .9;
  }

  .point_ele figure div span::after {
    content: counter(li);
    font-size: 11rem;
  }

  .point_ele figure figcaption {
    width: calc(100% - 44rem);
    padding: 5rem 9rem 0;
  }

  .point_ele figure figcaption h3 {
    font-size: 2.8rem;
    color: #0E8E46;
    font-weight: 500;
    white-space: nowrap;
  }

  .point_ele figure figcaption p {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 1.5rem;
  }

  .coach_txt {
    margin-top: 5rem;
    text-align: center;
    line-height: 2;
    font-size: 1.6rem;
  }

  .coach_list {
    display: flex;
    justify-content: space-between;
    margin: 3rem 5rem;
    padding: 0 2rem;
  }

  .coach_ele {
    padding: 0 1rem;
  }

  .coach_ele h3 {
    text-align: center;
    font-size: 2rem;
  }

  .coach_ele h3 small {
    position: relative;
    display: block;
    font-size: 1.3rem;
    color: #0B897B;
    padding-top: 0.9rem;
    margin-top: 0.8rem;
  }

  .coach_ele h3 small::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: .2rem;
    width: 2rem;
    background: #0B897B;
  }

  .coach_ele figure {
    margin-top: 1.5rem;
  }

  .coach_ele figure div {
    width: 18rem;
    margin-left: auto;
    margin-right: auto;
  }

  .coach_ele figure figcaption {
    position: relative;
    margin-top: 1.5rem;
    background: #F7F7F7;
    font-size: 1.3rem;
    padding: 1.5rem;
    line-height: 1.8;
    border-radius: 1rem;
  }

  .coach_ele figure figcaption::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-99%);
    border: .8rem solid transparent;
    border-bottom: 1rem solid #F7F7F7;
  }

  .slick-prev, .slick-next {
    background: #0B897B;
    border-radius: 999rem;
    width: 3.5rem;
    height: 3.5rem;
    transition: .3s;
  }

  .slick-prev::before, .slick-next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) translateX(12.5%) rotate(-45deg);
    height: .8rem;
    width: .8rem;
    border-top: .2rem solid #fff;
    border-left: .2rem solid #fff;
    opacity: 1 !important;
  }

  .slick-next::before {
    transform: translate(-50%, -50%) translateX(-12.5%) rotate(-45deg) rotate(180deg);
  }

  .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    background: #0B897B;
    opacity: 0.7;
  }

  .slick-dots {
    width: auto !important;
    left: 50%;
    transform: translateX(-50%);
    bottom: -45px !important;
  }

  .slick-dots li {
    background: #B5DBD7 !important;
    border-radius: 999rem;
    width: 10px !important;
    height: 10px !important;
    transition: .3s;
  }

  .slick-dots li.slick-active {
    background: #0B897B !important;
  }

  .slick-dots li button {
    width: 100% !important;
    height: 100% !important;
  }

  .slick-dots li button:before {
    display: none !important;
  }

  .voice {
    margin-top: 12rem;
    padding-bottom: 10rem;
    background: #F7F7F7;
  }

  .voice_txt {
    margin-top: 5rem;
    text-align: center;
    line-height: 2;
    font-size: 1.6rem;
  }

  .voice_list {
    margin-top: 4rem;
    display: flex;
    justify-content: space-between;
  }

  .voice_list .slick-dots {
    display: none !important;
  }

  .voice_ele {
    width: 35rem;
    background: #fff;
    padding: 3rem 4rem;
    border-radius: 1rem;
    margin: 0 1rem 1rem;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
  }

  .voice_ele_ttl {
    font-size: 2rem;
    color: #0B897B;
  }

  .voice_ele_txt {
    margin-top: 1.5rem;
    line-height: 2;
  }

  .voice_ele_img {
    margin-top: 2rem;
    display: flex;
    align-items: center;
  }

  .voice_ele_img div {
    width: 6.5rem;
  }

  .voice_ele_img figcaption {
    width: calc(100% - 6.5rem);
    padding-left: 1.5rem;
  }

  .voice_ele_img figcaption h4 {
    font-weight: normal;
  }

  .voice_ele_img figcaption p {
    margin-top: 1rem;
    font-weight: bold;
    color: #0B897B;
  }

  .voice_ele_img figcaption p span {
    display: inline-block;
    margin-right: 1rem;
    background: #0B897B;
    color: #fff;
    font-weight: bold;
    padding: 0 .5rem;
  }

  .introduction {
    background: #F7F7F7;
  }

  .introduction .sec_inner {
    padding: 8rem 7rem;
  }

  .introduction_tab {
    display: flex;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
    border-bottom: 3px solid #0b887a;
    border-radius: 10px 10px 0 0;
  }

  .introduction_tab li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.3rem 0;
    width: calc(100% / 2);
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    background: rgb(11 137 123 / 40%);
    color: #fff;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
  }

  .introduction_tab li .arrow {
    position: relative;
    right: -15px;
    background-color: #fff;
    width: 25px;
    height: 25px;
    border-radius: 50%;
  }
  .introduction_tab li .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid rgb(11 137 123 / 40%);
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }
  .introduction_tab li.active .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid #0B887A;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }

  .introduction_tab li.active::after {
    position: absolute;
    content: "";
    bottom: -45px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 20px solid #0B887A;
    border-right: 10px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 10px solid transparent;
  }

  .introduction_tab span {
    display: inline-block;
    border: 1px solid #fff;
  }

  .introduction_tab li span {
    display: inline-block;
    font-size: 1.4rem;
    padding: 0 .5rem;
    margin-right: 1rem;
  }

  .introduction_tab li.active span {
    /* border-color: #0B897B; */
  }

  .introduction_tab li.active {
    border-top: .3rem solid #0B897B;
    background: #0B887A;
    color: #fff;
  }

  .introduction_list {
    padding: 4.5rem 7.5rem;
    background: #fff;
    border-radius: 0 0 1rem 1rem;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
  }

  .introduction_list > li {
    display: none;
  }

  .introduction_list > li.active {
    display: block;
  }

  .introduction .shop {
    display: flex;
  }

  .introduction .shop_left {
    width: 35rem;
    padding-right: 4rem;
  }

  .introduction .shop_left h4 {
    border-bottom: 1px solid #DEDEDE;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
  }

  .introduction .shop_left dl {
    display: flex;
    font-size: 1.4rem;
  }

  .introduction .shop_left dl:nth-of-type(n + 2) {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #DEDEDE;
  }

  .introduction .shop_left dt {
    width: 8rem;
    font-weight: bold;
  }

  .introduction .shop_right {
    width: calc(100% - 35rem);
  }

  .introduction .shop_right iframe {
    width: 100%;
    height: 26rem;
  }

  .introduction .shop_right_btn {
    display: flex;
    justify-content: flex-end;
    margin-top: 2rem;
  }

  .introduction .shop_right_btn a {
    position: relative;
    background: #0E8E46;
    color: #fff;
    min-width: 17rem;
    border-radius: .4rem;
    text-align: center;
    padding: .8rem;
  }

  .introduction .shop_right_btn a::after {
    position: absolute;
    content: "";
    right: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: 0.5rem;
    width: 0.5rem;
    border-top: .2rem solid #fff;
    border-right: .2rem solid #fff;
  }

  .introduction .shop_right_btn a:nth-of-type(n + 2) {
    margin-left: 2rem;
  }

  .introduction .shop_inner {
    margin-top: 4rem;
  }

  .introduction .shop_inner_ttl {
    position: relative;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    padding-left: 2.5rem;
  }

  .introduction .shop_inner_ttl::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    height: 1.5rem;
    width: 1.5rem;
    background: #0E8E46;
  }

  .introduction .shop_inner_txt {
    display: flex;
    justify-content: space-between;
  }

  .introduction .shop_inner_txt div {
    width: 32rem;
  }

  .introduction .shop_inner_txt:nth-of-type(n + 2) {
    margin-top: 3rem;
  }

  .introduction .shop_inner_txt figcaption {
    width: calc(100% - 32rem);
    padding-left: 5rem;
    line-height: 2;
  }

  .introduction .shop_inner_txt figcaption h4 {
    font-size: 2rem;
    color: #0E8E46;
    margin-bottom: 1.5rem;
  }

  .introduction .shop_cEle {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    border: .1rem solid #DEDEDE;
    border-left: none;
    border-right: none;
  }

  .introduction .shop_cEle:nth-of-type(n + 2) {
    margin-top: -.1rem;
  }

  .introduction .shop_cLeft {
    width: 6rem;
  }

  .introduction .shop_cRight {
    width: calc(100% - 6rem);
    padding-left: 3rem;
  }

  .introduction .shop_cRight h4 {
    font-size: 1.8rem;
    color: #0E8E46;
    margin-bottom: .5rem;
  }

  .introduction .shop_cRight p {
    line-height: 2;
  }

  .introduction .shop__btn {
    position: relative;
    text-align: center;
    margin-top: 4.5rem;
  }

  .introduction .shop__btn a {
    position: relative;
    display: inline-block;
    border: 1px solid #0E8E46;
    font-size: 1.6rem;
    border-radius: .3rem;
    color: #0E8E46;
    font-weight: bold;
    padding: 1.8rem 6.8rem;
  }

  .introduction .shop__btn a:nth-of-type(n + 2) {
    margin-left: 1.5rem;
  }

  .introduction .shop__btn a:hover {
    background: #0E8E46;
    color: #fff;
  }

  .introduction .shop__btn a::after {
    content: "";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: .6rem;
    width: .6rem;
    border-top: .2rem solid #0E8E46;
    border-right: .2rem solid #0E8E46;
    transition: .3s;
  }

  .introduction .shop__btn a:hover::after {
    border-color: #fff;
  }

  .price {
    background: #F3FCF6;
    padding-bottom: 14rem;
  }

  .price_txt {
    margin-top: 5rem;
    text-align: center;
    line-height: 2;
    font-size: 1.6rem;
  }

  .price_search {
    display:none;
    margin: 6rem 7rem 0;
    background: #fff;
    border-radius: .5rem;
    box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .2);
  }

  .price_search_ttl {
    background: #0B897B;
    border-radius: .5rem .5rem 0 0;
    text-align: center;
    color: #fff;
    padding: 1.5rem 0;
    font-size: 3.2rem;
  }

  .price_search_bottom {
    padding: 5.5rem 6rem 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .price_search_kakeru {
    position: relative;
    width: 3rem;
    height: 3rem;
  }

  .price_search_kakeru::after, .price_search_kakeru::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    height: 100%;
    width: 1px;
    background: #0B897B;
  }

  .price_search_kakeru::before {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .price_search_select {
    position: relative;
    width: 30rem;
  }

  .price_search_select h4 {
    position: absolute;
    transform: translateY(-100%) translateY(-.5rem);
    white-space: nowrap;
    font-size: 1.8rem;
    font-weight: normal;
    color: #0B897B;
    padding-left: 3rem;
  }

  .price_search_year h4 {
    padding-left: 2.5rem;
  }

  .price_search_select h4::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 2rem;
    height: 2.5rem;
    background: url(../images/yaer_icon.svg) no-repeat center center;
    background-size: contain;
  }

  .price_search_level h4::after {
    width: 2.5rem;
    background: url(../images/level_icon.svg) no-repeat center center;
    background-size: contain;
  }

  .price_search_select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: .1rem solid #0B897B;
    padding: 0.8rem 1.6rem;
    font-size: 1.6rem;
    width: 100%;
    outline: none;
    cursor: pointer;
  }

  .price_search_select label {
    position: relative;
  }

  .price_search_select label::after {
    content: "";
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%) translateY(-25%) rotate(-45deg);
    height: .5rem;
    width: .5rem;
    border-bottom: 1px solid #0B897B;
    border-left: 1px solid #0B897B;
  }

  .price_search_btn {
    cursor: pointer;
    display: flex;
    align-items: center;
    background: #d2d2d2;
    height: 4.2rem;
    padding: 0 2.2rem;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff !important;
    border-radius: .3rem;
    margin-left: 3rem;
    transition: .3s;
    pointer-events: none;
    transition: .3s;
  }

  .price_search_btn.active {
    background: #F1A32A;
    pointer-events: inherit;
  }

  .price_search_btn figure {
    width: 2rem;
    display: grid;
    margin-right: 1rem;
  }

  .price_search_kakeru {
    margin: 0 1.5rem;
  }

  .price_subTtl {
    font-size: 3.2rem;
    text-align: center;
    color: #0B897B;
    margin-top: 3rem;
    padding-top: 3rem;
  }

  .price_wrap {
    margin: 3rem 7rem 0;
  }

  .price_tab {
    display: flex;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
    border-bottom: 3px solid #0b887a;
    border-radius: 10px 10px 0 0;
  }

  .price_tab li {
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    width: calc(100% / 2);
    font-size: 2rem;
    font-weight: bold;
    padding: 1.5rem 0;
    cursor: pointer;
    background: rgb(11 137 123 / 40%);
    border-radius: 10px 10px 0 0;
    color: #fff;
    z-index: 1;
  }
  .price_tab li .arrow {
    position: relative;
    display: block;
    top: 50%;
    right: -15px;
    transform: translateY(-50%);
    background-color: #fff;
    width: 25px;
    height: 25px;
    border-radius: 50%;
  }
  .price_tab li .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid rgb(11 137 123 / 40%);
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }
  .price_tab li.active .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid #0B887A;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }
  .price_tab li.active::after {
    position: absolute;
    content: "";
    bottom: -45px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 20px solid #0B887A;
    border-right: 10px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 10px solid transparent;
  }

  .price_tab li.active {
    background: #0B887A;
  }

  .price_class {
    position: relative;
    background: #fff;
    padding: 3rem 0;
    display: none;
    border-radius: 0 0 1rem 1rem;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
  }

  .price_class.active {
    display: block;
  }

  .price_class::after {
    content: "";
    position: absolute;
    height: 5rem;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
  }

  .price_class .notfound {
    position: relative;
    text-align: center;
    z-index: 1;
    font-size: 2rem;
    font-weight: bold;
    display: none;
  }

  .price_class .notfound.active {
    display: block;
  }

  .price_class_btn_wrap {
    text-align: center;
  }

  .price_class_btn_wrap a {
    position: relative;
    display: inline-block;
    border: 1px solid #0E8E46;
    font-size: 1.6rem;
    border-radius: 0.3rem;
    color: #0E8E46;
    font-weight: bold;
    padding: 1.8rem 6.8rem;
  }

  .price_class_btn_wrap a::after {
    content: "";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: 0.6rem;
    width: 0.6rem;
    border-top: 0.2rem solid #0E8E46;
    border-right: 0.2rem solid #0E8E46;
    transition: .3s;
  }

  .price_class_btn_wrap a:hover {
    background: #0E8E46;
    color: #fff;
  }

  .price_class_btn_wrap a:hover::after {
    border-color: #fff;
  }

  .price_class_ele {
    opacity: 0;
    height: 0;
    position: relative;
    padding: 0;
    transition: .3s;
    padding: 0 6rem;
  }

  .price_class_ele.active {
    padding: 3rem 6rem;
    height: auto;
    opacity: 1;
    display: flex;
    flex-wrap: wrap;
  }

  .price_class_ele::after {
    position: absolute;
    top: 0;
    content: "";
    width: calc(100% - 12rem);
    height: .1rem;
    left: 50%;
    transform: translateX(-50%);
    background: #E6E6E6;
  }

  .price_class_ele_img {
    width: 34rem;
  }

  .price_class_ele_img + .price_class_ele_img {
    margin-top: 15px;
  }

  .price_class_ele_right {
    width: calc(100% - 34rem);
    padding-left: 4rem;
  }

  .price_class_ele_right_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .price_class_ele_time {
    display: flex;
    align-items: start;
    margin-top: 1rem;
    font-size: 1.4rem;
    font-weight: bold;
  }

  .price_class_ele_time span:first-of-type {
    display: inline-block;
    background: #0E8E46;
    padding: .2rem 0;
    color: #fff;
    font-size: 1.2rem;
    font-weight: normal;
    width: 6rem;
    text-align: center;
  }

  .price_class_ele_time span:last-of-type {
    width: calc(100% - 6rem);
    padding-left: 1.5rem;
  }

  .price_class_ele_ttl {
    font-size: 2.8rem;
  }

  .price_class_ele_tag {
    color: #7C7C7C;
    font-size: 1.2rem;
    font-weight: bold;
  }

  .price_class_ele_plan {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    padding-top: 2rem;
    border-top: 2px solid #0E8E46;
    border-bottom: 2px solid #0E8E46;
    padding-bottom: 1.5rem;
    row-gap: 1.5rem;
  }

  .price_class_ele_plan_txt {
    position: relative;
    width: 100%;
    font-weight: bold;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
  }


  .price_class_ele_plan_txt.annotation {
    font-weight: normal;
    margin-top: .5rem;
    margin-bottom: 0;
  }

  .price_class_ele_plan_txt::before {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background: #0E8E46;
    margin-right: .5rem;
  }

  .price_class_ele_plan_txt.annotation::before {
    display: none;
  }

  .price_class_ele_plan_txt:nth-of-type(n + 2) {
    margin-top: 2rem;
  }

  .price_class_ele_plan_course {
    border: 1px solid #0E8E46;
    color: #0E8E46;
    padding: .2rem 1rem;
    font-size: 1.2rem;
    display: inline-block;
    border-radius: 999rem;
  }

  .price_class_ele_plan_num {
    font-size: 3.3rem;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    color: #0E8E46;
    line-height: 1.3;
  }

  .price_class_ele_plan_wrap:nth-of-type(even) {
    margin-left: 1.2rem;
  }

  .price_class_ele_plan_wrap.m_none {
    margin-left: 0;
  }

  .price_class_ele_plan_wrap.mb_ele{
    margin-bottom: 2rem;
  }

  .price_class_ele_plan_num small:first-of-type {
    display: inline-block;
    font-family: 'lato', sans-serif;
    font-size: 2.4rem;
    margin-right: .5rem;
  }

  .price_class_ele_plan_num small:last-of-type {
    display: inline-block;
    font-size: 1.2rem;
    font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
    margin-left: .5rem;
  }

  .price_class_ele_txt {
    margin-top: .5rem;
    line-height: 2;
  }

  .price_class_ele_lesson {
    margin-top: 18px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .price_class_ele_lesson__ttl {
    position: relative;
    padding-left: 17px;
    font-size: 14px;
    width: 100%;
  }

  .price_class_ele_lesson__ttl::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 14px;
    width: 14px;
    background: #0E8E46;
  }

  .price_class_ele_lesson_wrap {
    margin-top: 16px;
    width: 49.2%;
  }

  .price_class_ele_lesson_wrap__ttl {
    position: relative;
    margin-bottom: 14px;
    font-size: 14px;
  }

  .price_class_ele_lesson_wrap__ttl::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 1px;
    width: 100%;
    background: #DEDEDE;
    z-index: 0;
  }

  .price_class_ele_lesson_wrap__ttl span {
    position: relative;
    display: inline-block;
    padding-right: 20px;
    background: #fff;
    z-index: 1;
  }

  .price_class_ele_lesson_wrap, .price_class_ele_lesson_wrap {
    margin-top: 24px;
  }

  .price_class_ele_lesson_wrap_list {
    display: flex;
    justify-content: space-between;
  }

  .price_class_ele_lesson_wrap_list li {
    width: 200px;
  }

  .price_class_ele_lesson_wrap_list li h6 {
    font-size: 14px;
    color: #fff;
    background: #28A9E2;
    text-align: center;
    padding: 10px 0;
  }

  .price_class_ele_lesson_wrap_list li div {
    border: 1px solid #28A9E2;
  }

  .price_class_ele_lesson_wrap_list li div p {
    font-size: 12px;
    padding: 10px 16px;
    min-height: 93px;
    display: flex;
    align-items: center;
  }

  .price_class_ele_lesson_wrap_list__day {
    margin-top: 12px;
    font-size: 12px;
  }

  .price_class_ele_lesson_wrap_list__day span {
    color: #28A9E2;
    font-weight: bold;
  }

  .price_class_ele_lesson_wrap_list__day span:first-of-type {
    display: inline-block;
    margin-right: 5px;
    border: 1px solid #28A9E2;
    border-radius: 9999px;
    font-weight: bold;
    font-size: 10px;
    padding: 2px 10px;
  }

  .price_class_ele_lesson_wrap_list .bg_purple {
    background: #7E28E2 !important;
  }

  .price_class_ele_lesson_wrap_list .bc_purple {
    border-color: #7E28E2 !important;
  }

  .price_class_ele_lesson_wrap_list .fc_purple {
    color: #7E28E2 !important;
  }

  .price_class_ele_lesson_wrap_list .bg_red {
    background: #E2285A !important;
  }

  .price_class_ele_lesson_wrap_list .bc_red {
    border-color: #E2285A !important;
  }

  .price_class_ele_lesson_wrap_list .fc_red {
    color: #E2285A !important;
  }

  .price_class_ele_lesson_wrap_list .bg_yellow {
    background: #E29928 !important;
  }

  .price_class_ele_lesson_wrap_list .bc_yellow {
    border-color: #E29928 !important;
  }

  .price_class_ele_lesson_wrap_list .fc_yellow {
    color: #E29928 !important;
  }

  .price_class_ele_btn {
    display: flex;
    justify-content: flex-end;
    text-align: right;
    margin-top: 2rem;
    width: 100%;
  }

  .price_class_ele_btn a {
    position: relative;
    display: inline-block;
    background: #0E8E46;
    color: #fff;
    padding: .8rem 2.5rem;
    border-radius: .4rem;
    min-width: 17rem;
    text-align: center;
  }

  .price_class_ele_btn a::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: 0.4rem;
    width: 0.4rem;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
  }

  .price_class_ele_btn a:nth-of-type(n + 2) {
    margin-left: 2rem;
  }

  .b_area {
    padding: 3rem 0 0;
  }

  .guid_link {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 350px;
    height: 50px;
    background-color: #1d8d3c;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin: 60px auto 0px;
    color: #fff;
    font-size: 2rem;
    position: relative;
    color: #fff !important;
  }

  .guid_link::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    width: 11px;
    height: 17px;
    background: url(/common/images/arrow_white.png) no-repeat center;
    -moz-background-size: contain;
    background-size: contain;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }

  .credit_card .card {
    display: flex;
    margin-bottom: 2rem;
  }

  .credit_card .card li:last-of-type {
    margin-left: 10rem;
    margin-top: -2rem;
  }

  .seijin {
    background: #F7F7F7;
    padding-bottom: 6rem;
  }

  .seijin .sec_inner {
    padding-top: 8rem;
  }

  .seijin__wrap {
    padding: 0 6rem;
  }

  .seijin__wrap:nth-of-type(n + 2) {
    margin-top: 5rem;
  }

  .seijin__ttl {
    font-size: 2.6rem;
    font-weight: bold;
    border-bottom: .2rem solid #0E8E46;
    padding-bottom: .5rem;
    margin-bottom: 3rem;
  }

  .seijin_ele_wrap__ttl {
    position: relative;
    padding-left: 1.8rem;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }

  .seijin_ele_wrap__ttl::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 1rem;
    width: 1rem;
    background: #0E8E46;
  }

  .seijin_ele_wrap__table {
    width: 100%;
    background: #fff;
    border: .1rem solid #C9C9C9;
    border-collapse: collapse;
  }

  .seijin_ele_wrap__table > *, .seijin_ele_wrap__table > * > *, .seijin_ele_wrap__table > * > * > * {
    border: .1rem solid #C9C9C9;
  }

  .seijin_ele_wrap__table tr th {
    background: #EDEDED;
    color: #2178BB;
    font-weight: normal;
    padding: .4rem 0;
  }

  .seijin_ele_wrap__table tr td {
    padding: 1.5rem;
    text-align: center;
  }

  .seijin_ele_wrap__table tr td.left {
    text-align: left;
  }

  .seijin_ele_wrap__table tr td.blue {
    background: #DAF6FF;
    color: #2178BB;
  }

  .seijin_ele_wrap__table tr th:first-of-type {
    width: 16rem;
  }

  .seijin_ele_wrap__table tr th:nth-of-type(2) {
    width: 40.5rem;
  }

  .seijin_ele_wrap__table tr th:nth-of-type(3) {
    width: 24rem;
  }



  .seijin_ele_wrap__txt {
    display: flex;
    align-items: center;
    margin-top: 1.5rem;
    font-size: 1.2rem;
    font-weight: bold;
  }

  .seijin_ele_wrap__txt span {
    background: #0E8E46;
    color: #fff;
    padding: .2rem 1rem;
    margin-right: 1rem;
  }

  .seijin_ele_wrap:nth-of-type(n + 2) {
    margin-top: 3rem;
  }
}

@media screen and (max-width: 767px), print {
  #contents {
    padding-top: 0 !important;
    width: 100%;
    overflow: hidden;
  }
  .bread_nav {
    background-color: #f4f4f4;
  }
  .bread_nav__wrapper {
    padding: 90px 8px 15px;
  }
  .bread_nav ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .bread_nav ul li {
    margin-right: 30px;
    font-size: 1.4rem;
    position: relative;
  }
  .bread_nav ul li a {
    color: #218e43;
  }
  .bread_nav ul li:last-of-type::after {
    display: none;
  }
  .bread_nav ul li::after {
    content: "＞";
    position: absolute;
    right: -24px;
    top: 0;
  }

  .sec_inner {
    margin: 0 1rem;
  }

  .sec_ttl {
    position: relative;
    text-align: center;
    background: url(../images/sp/ttl_bg.jpg) center center;
    background-size: cover;
    color: #fff;
    font-size: 2rem;
    padding: 1.5rem 2rem 3rem;
    line-height: 1.5;
  }

  .sec_ttl::after {
    content: "";
    position: absolute;
    width: 3.4rem;
    height: 1.2rem;
    background: url(../images/ttl_deco.svg) no-repeat center center;
    background-size: contain;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1rem;
  }

  .mv {
    background: url(../images/sp/mv_img.jpg) center center;
    background-size: cover;
    padding: 4rem 0 10rem;
    text-align: center;
  }

  .mv_ttl {
    margin-top: 2rem;
    font-size: 2.4rem;
    color: #fff;
    text-shadow: 0.3rem 0.5rem 0.5rem rgba(5, 5, 5, .2);
  }

  .mv_img {
    width: 15rem;
    margin-left: auto;
    margin-right: auto;
  }

  .cvArea {
    margin-top: -7rem;
    text-align: center;
    background: url(../images/sp/cv_bg.jpg) no-repeat center center;
    background-size: cover;
    width: calc(100% - 2rem);
    margin-left: auto;
    margin-right: auto;
    border-radius: .5rem;
    padding: 2rem;
  }

  .cvArea_ttl {
    font-size: 2.2rem;
    color: #fff;
  }

  .cvArea_txt {
    margin-top: 1rem;
    line-height: 2;
    color: #fff;
    font-size: 1.6rem;
  }

  .cvArea_btnWrap {
    margin-top: 1.5rem;
  }

  .cvArea_btnWrap a {
    position: relative;
    width: 22rem;
    background: #fff;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.3rem;
    padding: 1rem 0;
    font-size: 1.6rem;
    font-weight: bold;
    color: #0E8E46;
  }

  .cvArea_btnWrap a::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    height: 0.6rem;
    width: 0.6rem;
    border-right: .2rem solid #0E8E46;
    border-bottom: .2rem solid #0E8E46;
  }

  .cvArea_btnWrap a figure {
    display: grid;
    margin-right: 1rem;
    width: 2.2rem;
  }

  .cvArea_btnWrap a:last-of-type {
    margin-top: 1.5rem;
  }

  .c_banner {
    margin-top: 3rem;
  }

  .c_banner__ttl {
    text-align: center;
    font-size: 1.8rem;
    color: #0E8E46;
    margin-bottom: 2rem;
  }

  .c_banner__ttl span {
    position: relative;
  }

  .c_banner__ttl span::after, .c_banner__ttl span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 2rem;
    width: 0.2rem;
    background: #0E8E46;
  }

  .c_banner__ttl span::after {
    left: -2rem;
    transform: translateY(-50%) rotate(-45deg);
  }

  .c_banner__ttl span::before {
    right: -2rem;
    transform: translateY(-50%) rotate(45deg);
  }

  .c_banner figure {
    width: 100%;
    text-align: center;
  }

  .c_banner figure + figure {
    margin-top: 20px;
  }


  .c_banner-center {
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
    margin-top: 30px;
  }

  .green_bg {
    background: #F5FFF4;
    padding-bottom: 4rem;
  }

  .approach__txt {
    text-align: center;
    margin: 0 1rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .approachEle {
    text-align: center;
    background: url(../images/approach_bg01.jpg) no-repeat center center;
    background-size: cover;
    padding: 3rem 0;
  }

  .approachEle:last-of-type {
    background: url(../images/approach_bg01.jpg) no-repeat center center;
    background-size: cover;
  }

  .approachEle__wrap {
    display: flex;
  }

  .approachEle:nth-of-type(even) .approachEle__wrap {
    flex-direction: row-reverse;
  }

  .approachEle__right {
    padding-left: 5rem;
  }

  .approachEle:nth-of-type(even) .approachEle__right {
    padding-left: 0;
    padding-right: 5rem;
  }

  .approachEle span {
    display: inline-block;
    background: #0B897B;
    color: #fff;
    font-size: 1.4rem;
    border-radius: 999rem;
    padding: .3rem 2.5rem;
  }

  .approachEle h3 {
    text-align: center;
    font-size: 2rem;
    color: #0B897B;
    margin-top: 1rem;
    margin-bottom: 2rem;
  }

  .approachEle figure {
    margin-bottom: 3rem;
  }

  .approachEle strong {
    display: block;
    text-align: center;
    font-size: 2rem;
  }

  .approachEle p {
    text-align: left;
    margin-top: 1.5rem;
    line-height: 1.8;
    font-size: 1.4rem;
  }

  .point {
    padding-bottom: 5rem;
  }

  .point_txt {
    text-align: center;
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  .point_list {
    margin-top: 2rem;
  }

  .point_ele {
    counter-increment: li;
  }

  .point_ele:nth-of-type(even) {
    background: #F5FFF4;
  }

  .point_ele:nth-of-type(even) figure {
    flex-direction: row-reverse;
  }

  .point_ele figure {
    padding: 2rem 1rem;
  }

  .point_ele figure div {
    position: relative;
  }

  .point_ele figure div span {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 5rem;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    color: #fff;
    line-height: .9;
  }

  .point_ele figure div span::after {
    content: counter(li);
    font-size: 11rem;
  }

  .point_ele figure figcaption {
    padding: 2rem 0 0;
  }

  .point_ele figure figcaption h3 {
    font-size: 2rem;
    color: #0E8E46;
    font-weight: 500;
  }

  .point_ele figure figcaption p {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 1.5rem;
  }

  .coach {
    padding-bottom: 3rem;
  }

  .coach_txt {
    text-align: center;
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  .coach_list {
    margin: 3rem 0;
    display: flex;
    flex-wrap: wrap;
    padding: 0 2rem;
  }

  .coach_ele {
    width: 48%;
  }

  .coach_ele h3 {
    text-align: center;
    font-size: 1.6rem;
  }

  .coach_ele h3 small {
    position: relative;
    display: block;
    font-size: 1rem;
    color: #0B897B;
    padding-top: 0.6rem;
    margin-top: 0.5rem;
    white-space: nowrap;
  }

  .coach_ele h3 small::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: .2rem;
    width: 2rem;
    background: #0B897B;
  }

  .coach_ele figure {
    margin-top: 1.5rem;
  }

  .coach_ele figure div {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .coach_ele figure figcaption {
    display: none;
    margin-top: 1.5rem;
    background: #F7F7F7;
    font-size: 1.3rem;
    padding: 1.5rem;
    line-height: 1.8;
  }

  .slick-prev, .slick-next {
    background: #0B897B;
    border-radius: 999rem;
    width: 2rem;
    height: 2rem;
    transition: .3s;
    transform: translate(0, -50%) translateY(2.9rem);
    z-index: 99;
  }

  .slick-prev {
    left: -.7rem !important;
  }

  .slick-next {
    right: -.7rem !important;
  }

  .slick-prev::before, .slick-next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) translateX(12.5%) rotate(-45deg);
    height: .5rem;
    width: .5rem;
    border-top: .2rem solid #fff;
    border-left: .2rem solid #fff;
    opacity: 1 !important;
  }

  .slick-next::before {
    transform: translate(-50%, -50%) translateX(-12.5%) rotate(-45deg) rotate(180deg);
  }

  .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    background: #0B897B;
    opacity: 0.7;
  }

  .slick-dots {
    width: auto !important;
    left: 50%;
    transform: translateX(-50%);
    bottom: -3.3rem !important;
  }

  .slick-dots li {
    background: #B5DBD7 !important;
    border-radius: 999rem;
    width: .8rem !important;
    height: .8rem !important;
    transition: .3s;
  }

  .slick-dots li.slick-active {
    background: #0B897B !important;
  }

  .slick-dots li button {
    width: 100% !important;
    height: 100% !important;
  }

  .slick-dots li button:before {
    display: none !important;
  }

  .voice {
    margin-top: 8rem;
    padding-bottom: 5rem;
    background: #F7F7F7;
  }

  .voice_txt {
    text-align: center;
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  .voice_list {
    margin-top: 3rem;
    display: flex;
    justify-content: space-between;
  }

  .voice_ele {
    width: 35rem;
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    margin: 0 2rem 2rem;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
  }

  .voice_ele_ttl {
    font-size: 1.6rem;
    color: #0B897B;
  }

  .voice_ele_txt {
    margin-top: 1rem;
    font-size: 1.2rem;
  }

  .voice_ele_img {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .voice_ele_img div {
    width: 6.5rem;
  }

  .voice_ele_img figcaption {
    padding-left: 1.5rem;
  }

  .voice_ele_img figcaption h4 {
    font-weight: normal;
    font-size: 1.4rem;
  }

  .voice_ele_img figcaption p {
    margin-top: 0.5rem;
    font-weight: bold;
    color: #0B897B;
    font-size: 1.4rem;
  }

  .voice_ele_img figcaption p span {
    display: inline-block;
    margin-right: 1rem;
    background: #0B897B;
    color: #fff;
    font-weight: bold;
    padding: 0 .5rem;
    font-size: 1.2rem;
  }

  .introduction {
    background: #F7F7F7;
  }

  .introduction .sec_inner {
    padding: 2rem 0;
  }

  .introduction_tab {
    display: flex;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
    border-bottom: 3px solid #0b887a;
    border-radius: 10px 10px 0 0;
  }

  .introduction_tab span {
    display: inline-block;
    border: 1px solid #fff;
  }

  .introduction_tab li {
    position: relative;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    color: #0B897B;
    background: #EBEBEB;
    padding: 1rem 0;
    cursor: pointer;
    width: 50%;
    background: rgb(11 137 123 / 40%);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px 10px 0 0;
    padding-left: 8px;
  }

  .introduction_tab li.active::after {
    position: absolute;
    content: "";
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 15px solid #0B887A;
    border-right: 10px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 10px solid transparent;
  }

  .introduction_tab li .arrow {
    position: relative;
    right: -7px;
    background-color: #fff;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    margin-bottom: 0;
    border-color: transparent;
  }
  .introduction_tab li .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid rgb(11 137 123 / 40%);
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }
  .introduction_tab li.active .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid #0B887A;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }

  .introduction_tab li span {
    display: inline-block;
    font-size: 1.2rem;
    padding: 0 .5rem;
    margin-bottom: .5rem;
  }

  .introduction_tab li.active span {
    border-color: #fff;
  }

  .introduction_tab li.active {
    background: #0B887A;
    color: #fff;
  }

  .introduction_list {
    padding: 2rem;
    background: #fff;
    border-radius: 0 0 1rem 1rem;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
  }

  .introduction_list > li {
    display: none;
  }

  .introduction_list > li.active {
    display: block;
  }

  .introduction .shop_left h4 {
    border-bottom: 1px solid #DEDEDE;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }

  .introduction .shop_left dl {
    display: flex;
    font-size: 1.4rem;
  }

  .introduction .shop_left dl:nth-of-type(n + 2) {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #DEDEDE;
  }

  .introduction .shop_left dt {
    width: 8rem;
    font-weight: bold;
  }

  .introduction .shop_right iframe {
    width: 100%;
    height: 25rem;
    margin-top: 2rem;
  }

  .introduction .shop_right_btn {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
  }

  .introduction .shop_right_btn a {
    position: relative;
    background: #0E8E46;
    color: #fff;
    border-radius: .4rem;
    text-align: center;
    padding: .8rem;
    width: 48%;
  }

  .introduction .shop_right_btn a::after {
    position: absolute;
    content: "";
    right: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: 0.5rem;
    width: 0.5rem;
    border-top: .2rem solid #fff;
    border-right: .2rem solid #fff;
  }

  .introduction .shop_inner {
    margin-top: 3rem;
  }

  .introduction .shop_inner_ttl {
    position: relative;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    padding-left: 2.5rem;
  }

  .introduction .shop_inner_ttl::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    height: 1.5rem;
    width: 1.5rem;
    background: #0E8E46;
  }

  .introduction .shop_inner_txt div {
    margin-bottom: 1.5rem;
  }

  .introduction .shop_inner_txt:nth-of-type(n + 2) {
    margin-top: 3rem;
  }

  .introduction .shop_inner_txt figcaption {
    line-height: 1.7;
    font-size: 1.4rem;
  }

  .introduction .shop_inner_txt figcaption h4 {
    font-size: 1.8rem;
    color: #0E8E46;
    margin-bottom: 1.5rem;
  }

  .introduction .shop_cEle {
    padding: 1.5rem 0;
    border: .1rem solid #DEDEDE;
    border-left: none;
    border-right: none;
  }

  .introduction .shop_cEle:nth-of-type(n + 2) {
    margin-top: -.1rem;
  }

  .introduction .shop_cLeft {
    width: 6rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
  }


  .introduction .shop_cRight h4 {
    text-align: center;
    font-size: 1.8rem;
    color: #0E8E46;
    margin-bottom: 1rem;
  }

  .introduction .shop_cRight p {
    line-height: 1.5;
    font-size: 1.4rem;
  }

  .introduction .shop__btn {
    position: relative;
    text-align: center;
    margin-top: 4.5rem;
  }

  .introduction .shop__btn a {
    position: relative;
    display: inline-block;
    border: 1px solid #0E8E46;
    font-size: 1.6rem;
    border-radius: .3rem;
    color: #0E8E46;
    font-weight: bold;
    padding: 1.8rem 0;
    width: 100%;
  }

  .introduction .shop__btn a:nth-of-type(n + 2) {
    margin-top: 1.5rem;
  }

  .introduction .shop__btn a:hover {
    background: #0E8E46;
    color: #fff;
  }

  .introduction .shop__btn a::after {
    content: "";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: .6rem;
    width: .6rem;
    border-top: .2rem solid #0E8E46;
    border-right: .2rem solid #0E8E46;
    transition: .3s;
  }

  .introduction .shop__btn a:hover::after {
    border-color: #fff;
  }

  .price {
    background: #F3FCF6;
    padding-bottom: 4rem;
  }

  .price_txt {
    text-align: center;
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  .price_search {
    display:none;
    margin: 3rem 0 0;
    background: #fff;
    border-radius: .5rem;
    box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .2);
  }

  .price_search_ttl {
    background: #0B897B;
    border-radius: .5rem .5rem 0 0;
    text-align: center;
    color: #fff;
    padding: 1rem 0;
    font-size: 1.8rem;
  }

  .price_search_bottom {
    padding: 2rem;
  }

  .price_search_kakeru {
    display: inline-block;
    position: relative;
    width: 2rem;
    height: 2rem;
    display: block;
    margin: auto;
  }

  .price_search_kakeru::after, .price_search_kakeru::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    height: 100%;
    width: 1px;
    background: #0B897B;
  }

  .price_search_kakeru::before {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .price_search_select {
    position: relative;
  }

  .price_search_select h4 {
    font-size: 1.6rem;
    font-weight: normal;
    color: #0B897B;
    padding-left: 3rem;
    position: relative;
    margin-bottom: 0.5rem;
    padding-left: 3.5rem;
  }

  .price_search_select h4::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 1.3rem;
    height: 1.9rem;
    background: url(../images/yaer_icon.svg) no-repeat center center;
    background-size: contain;
  }

  .price_search_level h4::after {
    width: 2.5rem;
    background: url(../images/level_icon.svg) no-repeat center center;
    background-size: contain;
  }

  .price_search_select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: .1rem solid #0B897B;
    padding: 1rem;
    font-size: 1.6rem;
    width: 100%;
    outline: none;
    cursor: pointer;
  }

  .price_search_select label {
    position: relative;
  }

  .price_search_select label::after {
    content: "";
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%) translateY(25%) rotate(-45deg);
    height: .5rem;
    width: .5rem;
    border-bottom: 1px solid #0B897B;
    border-left: 1px solid #0B897B;
    pointer-events: none;
  }

  .price_search_level,.price_search_kakeru {
    margin-top: 1rem;
  }

  .price_search_btn {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d2d2d2;
    height: 4.2rem;
    width: 15rem;
    padding: 0 2.2rem;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff !important;
    border-radius: .3rem;
    margin-top: 2rem;
    margin-left: auto;
    margin-right: auto;
    pointer-events: none;
  }

  .price_search_btn.active {
    background: #F1A32A;
    pointer-events: inherit;
  }

  .price_search_btn figure {
    width: 1.6rem;
    display: grid;
    margin-right: 1rem;
  }

  .price_subTtl {
    font-size: 1.8rem;
    text-align: center;
    color: #0B897B;
    margin-top: 2rem;
    padding-top: 2rem;
  }

  .price_wrap {
    margin: 3rem 0 0;
    box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .2);
    border-radius: 10px 10px 0 0;
    background: #fff;
  }

  .price_tab {
    display: flex;
  }

  .price_tab li {
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    width: calc(100% / 2);
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
    background: rgb(11 137 123 / 40%);
    padding: 1rem 0;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    padding-left: 10px;
  }
  .price_tab li .arrow {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    right: -8px;
    background-color: #fff;
    width: 25px;
    height: 25px;
    border-radius: 50%;
  }
  .price_tab li .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid rgb(11 137 123 / 40%);
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }
  .price_tab li.active .arrow::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) translateX(1px) rotate(-90deg);
    border-top: 11px solid #0B887A;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
  }

  .price_tab li.active {
    /* border-top: .3rem solid #0B897B; */
    background: #0B887A !important;
    color: #fff;
  }

  .price_tab li.active::after {
    position: absolute;
    content: "";
    bottom: -38px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 15px solid #0B887A;
    border-right: 10px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 10px solid transparent;
    z-index: 1;
  }

  .price_class {
    position: relative;
    display: none;
    border-radius: 0 0 1rem 1rem;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .2);
  }

  .price_class.active {
    display: block;
  }

  .price_class::after {
    content: "";
    position: absolute;
    height: 2rem;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
  }

  .price_class .notfound {
    position: relative;
    text-align: center;
    z-index: 1;
    font-size: 1.4rem;
    font-weight: bold;
    display: none;
    padding: 2rem 0;
  }

  .price_class .notfound.active {
    display: block;
  }

  .price_class_btn_wrap {
    text-align: center;
    padding: 2rem;
  }

  .price_class_btn_wrap a {
    position: relative;
    display: inline-block;
    border: 1px solid #0E8E46;
    font-size: 1.6rem;
    border-radius: 0.3rem;
    color: #0E8E46;
    font-weight: bold;
    padding: 1.8rem 0;
    width: 100%;
  }

  .price_class_btn_wrap a::after {
    content: "";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: 0.6rem;
    width: 0.6rem;
    border-top: 0.2rem solid #0E8E46;
    border-right: 0.2rem solid #0E8E46;
    transition: .3s;
  }

  .price_class_btn_wrap a:hover {
    background: #0E8E46;
    color: #fff;
  }

  .price_class_btn_wrap a:hover::after {
    border-color: #fff;
  }

  .price_class_ele {
    opacity: 0;
    height: 0;
    position: relative;
    padding: 0;
    transition: .3s;
    padding: 0 1.5rem;
  }

  .price_class_ele.active {
    padding: 2rem 1.5rem;
    height: auto;
    opacity: 1;
  }

  .price_class_ele::after {
    position: absolute;
    top: 0;
    content: "";
    width: calc(100% - 3rem);
    height: .1rem;
    left: 50%;
    transform: translateX(-50%);
    background: #E6E6E6;
  }

  .price_class_ele_img {
    position: relative;
    height: 45vw;
    overflow: hidden;
  }

  .price_class_ele_img + .price_class_ele_img {
    margin-top: 15px;
  }

  .price_class_ele_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }

  .price_class_ele_right {
    margin-top: 1.5rem;
  }

  .price_class_ele_right_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
  }

  .price_class_ele_time {
    display: flex;
    align-items: start;
    margin-top: 0.5rem;
    font-size: 1.4rem;
    font-weight: bold;
  }

  .price_class_ele_time span:first-of-type {
    display: inline-block;
    background: #0E8E46;
    padding: .2rem 0;
    color: #fff;
    font-size: 1.2rem;
    font-weight: normal;
    width: 6rem;
    text-align: center;
  }

  .price_class_ele_time span:last-of-type {
    width: calc(100% - 6rem);
    padding-left: 1.5rem;
  }

  .price_class_ele_ttl {
    font-size: 1.6rem;
  }

  .price_class_ele_tag {
    color: #7C7C7C;
    font-size: 1rem;
    font-weight: bold;
  }

  .price_class_ele_plan {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 2px solid #0E8E46;
    border-bottom: 2px solid #0E8E46;
    padding-bottom: 1.5rem;
  }

  .price_class_ele_plan_txt {
    position: relative;
    width: 100%;
    font-weight: bold;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
  }


  .price_class_ele_plan_txt.annotation {
    font-weight: normal;
    margin-top: .5rem;
    margin-bottom: 0;
    font-size: 1.4rem;
  }

  .price_class_ele_plan_txt::before {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background: #0E8E46;
    margin-right: .5rem;
  }

  .price_class_ele_plan_txt.annotation::before {
    display: none;
  }

  .price_class_ele_plan_txt:nth-of-type(n + 2) {
    margin-top: 2rem;
  }

  .price_class_ele_plan_course {
    border: 1px solid #0E8E46;
    color: #0E8E46;
    padding: .2rem 1rem;
    font-size: 1.2rem;
    display: inline-block;
    border-radius: 999rem;
  }

  .price_class_ele_plan_wrap.sp_mt {
    margin-top: 1rem;
  }

  .price_class_ele_plan_num {
    font-size: 9vw;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    color: #0E8E46;
    line-height: 1.3;
  }

  .price_class_ele_plan_num small:first-of-type {
    display: inline-block;
    font-family: 'lato', sans-serif;
    font-size: 6vw;
    margin-right: 1vw;
  }

  .price_class_ele_plan_num small:last-of-type {
    display: inline-block;
    font-size: 4.5vw;
    font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
    margin-left: 1.5vw;
  }

  .price_class_ele_txt {
    margin-top: 1rem;
    line-height: 1.7;
    font-size: 1.4rem;
  }

  .price_class_ele_lesson {
    margin-top: 18px;
  }

  .price_class_ele_lesson__ttl {
    position: relative;
    padding-left: 17px;
    font-size: 14px;
  }

  .price_class_ele_lesson__ttl::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 14px;
    width: 14px;
    background: #0E8E46;
  }

  .price_class_ele_lesson_wrap {
    margin-top: 16px;
  }

  .price_class_ele_lesson_wrap__ttl {
    position: relative;
    margin-bottom: 14px;
    font-size: 14px;
  }

  .price_class_ele_lesson_wrap__ttl::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 1px;
    width: 100%;
    background: #DEDEDE;
    z-index: 0;
  }

  .price_class_ele_lesson_wrap__ttl span {
    position: relative;
    display: inline-block;
    padding-right: 20px;
    background: #fff;
    z-index: 1;
  }

  .price_class_ele_lesson_wrap, .price_class_ele_lesson_wrap {
    margin-top: 24px;
  }

  .price_class_ele_lesson_wrap_list {
    display: flex;
    justify-content: space-between;
  }

  .price_class_ele_lesson_wrap_list li {
    width: 48%;
  }

  .price_class_ele_lesson_wrap_list li h6 {
    font-size: 14px;
    color: #fff;
    background: #28A9E2;
    text-align: center;
    padding: 10px 0;
  }

  .price_class_ele_lesson_wrap_list li div {
    border: 1px solid #28A9E2;
  }

  .price_class_ele_lesson_wrap_list li div p {
    font-size: 12px;
    padding: 10px;
    min-height: 93px;
    display: flex;
    align-items: center;
  }

  .price_class_ele_lesson_wrap_list__day {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 12px;
    font-size: 12px;
  }

  .price_class_ele_lesson_wrap_list__day span {
    color: #28A9E2;
    font-weight: bold;
  }

  .price_class_ele_lesson_wrap_list__day span:first-of-type {
    display: inline-block;
    margin-right: 5px;
    border: 1px solid #28A9E2;
    border-radius: 9999px;
    font-weight: bold;
    font-size: 10px;
    padding: 2px 10px;
  }

  .price_class_ele_lesson_wrap_list .bg_purple {
    background: #7E28E2 !important;
  }

  .price_class_ele_lesson_wrap_list .bc_purple {
    border-color: #7E28E2 !important;
  }

  .price_class_ele_lesson_wrap_list .fc_purple {
    color: #7E28E2 !important;
  }

  .price_class_ele_lesson_wrap_list .bg_red {
    background: #E2285A !important;
  }

  .price_class_ele_lesson_wrap_list .bc_red {
    border-color: #E2285A !important;
  }

  .price_class_ele_lesson_wrap_list .fc_red {
    color: #E2285A !important;
  }

  .price_class_ele_lesson_wrap_list .bg_yellow {
    background: #E29928 !important;
  }

  .price_class_ele_lesson_wrap_list .bc_yellow {
    border-color: #E29928 !important;
  }

  .price_class_ele_lesson_wrap_list .fc_yellow {
    color: #E29928 !important;
  }

  .price_class_ele_btn {
    display: flex;
    justify-content: center;
    text-align: center;
    margin-top: 2rem;
  }

  .price_class_ele_btn a {
    position: relative;
    background: #0E8E46;
    color: #fff;
    padding: .8rem 2.5rem;
    border-radius: .4rem;
  }

  .price_class_ele_btn.b_forest a {
    width: 48%;
  }

  .price_class_ele_btn.b_forest a:nth-of-type(n + 2) {
    margin-left: 4%;
  }

  .price_class_ele_btn a::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    height: 0.4rem;
    width: 0.4rem;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
  }

  .b_area {
    padding: 2rem 0 0;
  }

  .guid_link {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 50px;
    background-color: #1d8d3c;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin: 60px auto 0px;
    color: #fff;
    font-size: 1.6rem;
    position: relative;
    color: #fff !important;
  }

  .guid_link::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    width: 11px;
    height: 17px;
    background: url(/common/images/arrow_white.png) no-repeat center;
    -moz-background-size: contain;
    background-size: contain;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }

  .dl_plan > dt.circle {
    font-size: 1.8rem;
  }

  .dl_plan dd > div dl dt {
    font-size: 1.4rem !important;
    padding: 5px 0;
    color: #fff;
    text-align: center;
    background: #1d8d3c;
    border-radius: 3px;
    width: 100%;
    margin: 0;
  }

  .dl_plan dd > div dl dd {
    padding: 10px;
    font-size: 1.4rem;
  }

  .dl_plan dd > div dl {
    border-bottom: none;
  }

  .dl_plan dd > div .dot {
    font-size: 1.8rem !important;
  }

  .dl_plan dd > div dl dd {
    margin: 0 0 1rem !important;
    line-height: 2 !important;
  }

  .dl_plan dd > div dl dd, .dl_plan dd > div dl dd * {
    line-height: 1.7 !important;
  }

  .guid_link {
    height: 40px !important;
  }

  .guid_link::after {
    width: 8px !important;
    height: 12px !important;
  }

  .credit_card {
    line-height: 1.7;
  }

  .credit_card, .credit_card * {
    font-size: 1.4rem !important;
  }

  .pre_lst .cl_red {
    margin-top: .5rem;
    font-size: 1.2rem !important;
  }

  .pre_lst dt {
    margin-bottom: .5rem !important;
  }

}

@media screen and (min-width: 769px), print {
  /* ===================================================================
use Luxze
=================================================================== */
  .top_area {
    background: url("../images/main_img.jpg") center center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .program_list_contents {
    background: #eafffe;
  }
  .program_list_contents:nth-of-type(odd) {
    background: #eaf5ff;
  }
  .pink_txt {
    color: #1d8d3c;
  }
  .all .top_area {
    margin-bottom: 0;
    background: url(../images/main_img-swim.jpg) no-repeat left top;
    -moz-background-size: cover;
         background-size: cover;
    background-position: center;
  }
  .all .inner {
    width: 1100px;
    position: relative;
  }
  .kids .top_area {
    margin-bottom: 0;
    background: url(../images/main_img-kids.jpg) no-repeat left top;
    -moz-background-size: cover;
         background-size: cover;
  }
  .kids .inner {
    width: 1100px;
    position: relative;
  }
  .tennis .top_area {
    margin-bottom: 0;
    background: url(../images/main_img-tennis.jpg) no-repeat left top;
    -moz-background-size: cover;
         background-size: cover;
  }
  .tennis .inner {
    width: 1100px;
    position: relative;
  }
  .more_btn {
    width: 320px;
  }
  .more_btn a {
    padding: 16px 0;
    color: #fff;
    font-size: 1.8rem;
    background: #1d8d3c;
    -moz-border-radius: 3px;
         border-radius: 3px;
  }
  .more_btn a::before {
    right: 20px;
    width: 11px;
    height: 17px;
    background: url(/common/images/arrow_white.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .flex_btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
    -webkit-justify-content: space-evenly;
       -moz-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
  .flex_btn .more_btn {
    margin: 0;
  }
  .sec_ttl {
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
  }
  .section_box {
    margin-bottom: 45px;
  }
  .all_content {
    color: #000;
  }
  .all_content_lead {
    margin-bottom: 50px;
    padding: 50px 0;
    color: #464646;
    font-size: 2rem;
    font-weight: bold;
    line-height: 36px;
    text-align: center;
    background: #eafffe;
  }
  .all_content_catch {
    margin-bottom: 100px;
    background: #f7f7f7;
  }
  .all_content_catch .inner {
    min-height: 360px;
  }
  .all_content_catch figure {
    position: absolute;
    top: 0;
    left: -150px;
    width: 700px;
  }
  .all_content_catch .right_area {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 450px;
    -webkit-transform: translate(0, -50%);
       -moz-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .all_content_catch .right_area_ttl {
    padding: 0 6px;
    color: #1d8d3c;
    font-size: 3rem;
  }
  .all_content_catch .right_area_sub {
    margin: 30px auto 20px;
    color: #1d8d3c;
    font-size: 2.4rem;
    font-weight: bold;
  }
  .all_content_catch .right_area_sub span {
    display: block;
    font-size: 1.8rem;
    font-weight: normal;
  }
  .all_content_catch .right_area_sub + p {
    font-size: 1.4rem;
    line-height: 28px;
  }
  .all_content_catch .btn_area:first-of-type {
    padding-bottom: 50px;
  }
  .all_content_catch .btn_area:last-of-type {
    padding-top: 70px;
  }
  .charm {
    margin-bottom: 67px;
  }
  .charm .sec_ttl {
    margin-bottom: 56px;
  }
  .charm_list {
    padding: 30px 28px;
    background: #eee;
    overflow: hidden;
  }
  .charm_list.pickup {
    padding: 0;
    background: #fff;
  }
  .charm_list.pickup figure {
    float: left;
    width: 278px;
    height: 185px;
    text-align: center;
    overflow: hidden;
  }
  .charm_list.pickup figure img {
    height: 100%;
  }
  .charm_list.pickup .charm_list_txt {
    float: left;
    margin-left: 33px;
    width: 70%;
  }
  .charm_list.pickup p {
    font-size: 1.4rem;
  }
  .charm_list.pickup .qr_wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .charm_list.pickup .qr {
    width: 70px;
    margin-top: 40px;
  }
  .charm_list.pickup .qr_link {
    margin-top: 70px;
    margin-left: 30px;
    display: inline-block;
    width: 270px;
    height: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #1d8d3c;
    color: #fff;
    font-size: 1.6rem;
    position: relative;
  }
  .charm_list.pickup .qr_link::before {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
       -moz-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    right: 10px;
    width: 11px;
    height: 10px;
    background: url(/common/images/arrow_white.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .charm_list .charm_list_txt small {
    font-size: 65%;
    margin-left: 20px;
  }
  .charm_list.pickup + .pickup {
    margin-top: 50px;
    padding-top: 50px;
    border-top: solid 1px #cdcdcd;
  }
  .charm_list_sub {
    margin-bottom: 10px;
    color: #1d8d3c;
    font-size: 2.4rem;
    font-weight: normal;
  }
  .charm_list p {
    font-size: 1.6rem;
    line-height: 28px;
    letter-spacing: 0.5px;
  }
  .charm_list + .charm_list {
    margin-top: 30px;
  }
  .plan {
    margin-bottom: 70px;
    padding: 70px 0;
    color: #353535;
    background: #f7f7f7;
  }
  .plan .sec_ttl {
    color: #000;
    margin-bottom: 50px;
  }
  .plan_content_ttl {
    position: relative;
    padding-left: 27px;
    font-size: 2rem;
    font-weight: normal;
  }
  .plan_content_ttl::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 22px;
    height: 22px;
    background: url(../../images/icon_curcle.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .plan_content_ttl small {
    font-size: 1.6rem;
  }
  .plan_content_sub {
    margin-bottom: 5px;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .plan_content_sub span {
    display: inline-block;
    color: #1d8d3c;
    margin-right: .5rem;
  }
  .plan_content .tbl_shop {
    position: relative;
    margin: 20px auto 50px;
  }
  .plan_content .tbl_shop .tbl_row > :nth-of-type(2) {
    width: 14.5%;
  }
  .plan_content .tbl_shop .tbl_row > :nth-of-type(3) {
    width: 7%;
  }
  .plan_content .tbl_shop .tbl_row > :nth-of-type(4) {
    width: 13.5%;
  }
  .plan_content .tbl_shop .tbl_row > :nth-of-type(5) {
    width: 10.5%;
  }
  .plan_content .tbl_shop .tbl_row .tbl_sp_row:nth-of-type(2) .tbl_content {
    padding: 0 29px;
    text-align: left;
  }
  .plan_content .tbl_shop .tbl_row .tbl_sp_row:last-child .tbl_content {
    text-align: center;
  }
  .plan_content .tbl_shop .tbl_row_full {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 531px;
    z-index: 3;
  }
  .plan_content .tbl_shop .tbl_row_full .cell {
    position: absolute;
    bottom: 0;
    height: 100%;
    padding: 13px 5px;
    text-align: center;
    background: #fff;
    border-bottom: solid 1px #c9c9c9;
    border-left: solid 1px #c9c9c9;
  }
  .plan_content .tbl_shop .tbl_row_full .cell:nth-of-type(1) {
    right: 19.9%;
    width: 174px;
    height: 100%;
  }
  .plan_content .tbl_shop .tbl_row_full .cell:nth-of-type(2) {
    right: 0;
    width: 219px;
    height: 100%;
    top: 0;
  }
  .plan_content .tbl_shop .tbl_row_full .cell:nth-of-type(3) {
    right: 381px;
    width: 110px;
    height: 284px;
    top: 198px;
  }
  .plan_content .tbl_shop .tbl_row_full p {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: 0 auto;
    -webkit-transform: translate(0, -50%);
       -moz-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .plan_content .tbl_shop .tbl_row_full.child {
    height: 781px;
  }
  .plan_content .tbl_shop.var_02 .cell {
    position: absolute;
    bottom: 0;
    height: 100%;
    padding: 13px 5px;
    text-align: center;
    background: #fff;
    border-bottom: solid 1px #c9c9c9;
    border-left: solid 1px #c9c9c9;
  }
  .plan_content .tbl_shop.var_02 .cell:nth-of-type(1) {
    right: 19.9%;
    width: 174px;
    height: 120.2%;
  }
  .plan_content .tbl_shop.var_02 .cell:nth-of-type(2) {
    right: 0;
    width: 219px;
    height: 411px;
    top: 25px;
  }
  .plan_content .tbl_shop.var_02 .cell:nth-of-type(3) {
    right: 0;
    width: 219px;
    height: 230px;
    top: auto;
    bottom: 0;
  }
  .plan_content .tbl_shop.var_04 {
    margin: 20px auto;
  }
  .plan_content .tbl_shop.var_04 .tbl_row_full {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 448px;
    z-index: 3;
  }
  .plan_content .tbl_shop.var_04 .cell {
    position: absolute;
    bottom: 0;
    height: 100%;
    padding: 13px 5px;
    text-align: center;
    background: #fff;
    border-bottom: solid 1px #c9c9c9;
    border-left: solid 1px #c9c9c9;
  }
  .plan_content .tbl_shop.var_04 .cell:nth-of-type(1) {
    right: 15.1%;
    width: 215px;
    height: 876px;
  }
  .plan_content .tbl_shop.var_04 .cell:nth-of-type(2) {
    right: 0;
    width: 167px;
    height: 404px;
    top: auto;
    bottom: 0;
  }
  .plan_content .tbl_shop.var_04 .cell:nth-of-type(3) {
    right: 381px;
    width: 110px;
    height: 689px;
    top: -312px;
  }
  .plan_content .tbl_shop.var_04.tennis .cell:nth-of-type(1) {
    right: 167px;
    width: 214px;
  }
  .plan_content .tbl_shop.var_04.tennis .cell:nth-of-type(2) {
    height: 805px;
    top: -428px;
  }
  .plan_content .tbl_shop + p {
    margin-bottom: 20px;
  }
  .plan_content .tbl_shop.var_05 {
    margin: 20px auto;
  }
  .plan_content .tbl_shop.var_05 .tbl_row_full {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 448px;
    z-index: 3;
  }
  .plan_content .tbl_shop.var_05 .cell {
    position: absolute;
    bottom: 0;
    height: 100%;
    padding: 13px 5px;
    text-align: center;
    background: #fff;
    border-bottom: solid 1px #c9c9c9;
    border-left: solid 1px #c9c9c9;
  }
  .plan_content .tbl_shop.var_05 .cell:nth-of-type(1) {
    right: 167px;
    width: 214px;
    height: 355px;
  }
  .plan_content .tbl_shop.var_05 .cell:nth-of-type(2) {
    right: 381px;
    width: 110px;
    height: 355px;
    top: auto;
    bottom: 0;
  }
  .plan_content .tbl_shop.var_05 > div:nth-of-type(4) .tbl_sp_row:last-of-type {
    position: relative;
  }
  .plan_content .tbl_shop.var_05 > div:nth-of-type(4) .tbl_sp_row:last-of-type .tbl_content {
    position: absolute;
    background: #fff;
    height: 212px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
  }
  .plan_content .tbl_shop.var_06 {
    margin: 20px auto;
  }
  .plan_content .tbl_shop.var_06 .tbl_row > :nth-of-type(1) {
    width: 15%;
  }
  .plan_content .tbl_shop.var_06 .tbl_row > :nth-of-type(2) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_06 .tbl_row > :nth-of-type(3) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_06 .tbl_row > :nth-of-type(4) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_06 .tbl_row > :nth-of-type(5) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_06 .tbl_row > :nth-of-type(6) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_06 .tbl_row_full {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 448px;
    z-index: 3;
  }
  .plan_content .tbl_shop.var_06 .cell {
    position: absolute;
    bottom: 0;
    height: 100%;
    padding: 13px 5px;
    text-align: center;
    background: #fff;
    border-bottom: solid 1px #c9c9c9;
    border-left: solid 1px #c9c9c9;
  }
  .plan_content .tbl_shop.var_06 .cell:nth-of-type(1) {
    right: 15.2%;
    width: 213px;
    height: 404px;
  }
  .plan_content .tbl_shop.var_06 .cell:nth-of-type(2) {
    right: 381px;
    width: 110px;
    height: 355px;
    top: auto;
    bottom: 0;
  }
  .plan_content .tbl_shop.var_07 {
    margin: 20px auto;
  }
  .plan_content .tbl_shop.var_07 .tbl_row > :nth-of-type(1) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_07 .tbl_row > :nth-of-type(2) {
    width: 15%;
  }
  .plan_content .tbl_shop.var_07 .tbl_row > :nth-of-type(3) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_07 .tbl_row > :nth-of-type(4) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_07 .tbl_row > :nth-of-type(5) {
    width: 10%;
  }
  .plan_content .tbl_shop.var_07 .tbl_row_full {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 448px;
    z-index: 3;
  }
  .plan_content .tbl_shop.var_07 .cell {
    position: absolute;
    bottom: 0;
    height: 100%;
    padding: 13px 5px;
    text-align: center;
    background: #fff;
    border-bottom: solid 1px #c9c9c9;
    border-left: solid 1px #c9c9c9;
  }
  .plan_content .tbl_shop.var_07 .cell:nth-of-type(1) {
    right: 15.2%;
    width: 213px;
    height: 404px;
  }
  .plan_content .tbl_shop.var_07 .cell:nth-of-type(2) {
    right: 381px;
    width: 110px;
    height: 355px;
    top: auto;
    bottom: 0;
  }
  .plan_content .tbl_shop.var_07 .tbl_sp_row:first-child .tbl_content {
    background: #fff;
    color: #000 !important;
  }
  .plan_content .attention_list {
    margin: 0 auto 25px;
  }
  .plan_content .attention_list li {
    position: relative;
    padding-left: 1em;
    font-size: 1.4rem;
    margin-top: .5rem;
  }
  .plan_content .attention_list li::before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.4rem;
  }
  .plan_content .info_ttl {
    margin-bottom: 15px;
  }
  .plan_content .guide_dl {
    padding-bottom: 30px;
    border-bottom: solid 1px #c9c9c9;
    overflow: hidden;
  }
  .plan_content .guide_dl dt,
  .plan_content .guide_dl dd {
    float: left;
    font-size: 1.6rem;
  }
  .plan_content .guide_dl dt {
    width: 160px;
    padding: 7px 0;
    color: #fff;
    text-align: center;
    background: #1d8d3c;
    -moz-border-radius: 3px;
         border-radius: 3px;
  }
  .plan_content .guide_dl dd {
    margin-left: 20px;
  }
  .plan_content .guide_dl dd small {
    font-size: 1.4rem;
  }
  .plan_content .guide_dl dd.one_row {
    padding-top: 10px;
  }
  .plan_content .guide_dl.border_none {
    padding-bottom: 20px;
    border-bottom: none;
  }
  .plan_content .guide_dl + .guide_dl {
    margin-top: 25px;
  }
  .plan_content .credit_ttl {
    margin: 30px auto 10px;
  }
  .plan_content .credit_img_wrap {
    position: relative;
  }
  .plan_content .credit_img_wrap .credit_img {
    position: absolute;
    top: -30px;
    left: 540px;
  }
  .plan_content .caution {
    margin-bottom: 70px;
    color: #ff0000;
    font-size: 1.4rem;
    line-height: 24px;
  }
  .plan_content .more_btn {
    width: 348px;
  }
  .plan_content .more_btn a {
    font-size: 2rem;
  }
  .plan_content a {
    color: #058C44;
  }
  .tennis .caution {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: solid 1px #c9c9c9;
  }
  .tennis .border_none {
    border-bottom: none;
    margin-bottom: 40px;
  }
  .faq_content {
    margin-bottom: 100px;
  }
  .faq_content .more_btn {
    width: 100%;
    margin-top: 45px;
  }
  .faq_content .more_btn a {
    color: #353535;
    font-size: 2rem;
    background: #f5f5f5;
  }
  .faq_content .more_btn a::before {
    right: 20px;
    width: 11px;
    height: 17px;
    background: url("/sakura/common/images/arrow_green.svg") no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .kids .tbl_content {
    padding: 13px 21px 13px 29px !important;
  }
  .swim .tbl_shop .tbl_row > *:nth-of-type(1) {
    width: 14%;
  }
  .swim .tbl_shop .tbl_row > :nth-of-type(2) {
    width: 18%;
  }
  .swim .tbl_shop .tbl_row > :nth-of-type(2) .tbl_content {
    padding: 13px 5px !important;
    text-align: center !important;
  }
  .swim .tbl_shop .tbl_row > :nth-of-type(3) {
    width: 23%;
  }
  .swim .tbl_shop .tbl_row > *:nth-of-type(5) {
    width: 17%;
  }
  .swim .underline {
    border-bottom: solid 1px #c9c9c9;
  }
  .tennis .stage {
    margin-bottom: 67px;
  }
  .tennis .stage .nopc { display: none;}
  .tennis .stage_list {
    margin-bottom: 15px;
  }
  .tennis .stage_list .contents {
    background: #fffbd8;
    box-sizing: border-box;
    padding: 1em;
    text-align: center;
  }
  .tennis .stage_list .contents p {
    font-size: 16px;
    margin-bottom: 1em;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  /* ===================================================================
use Luxze
=================================================================== */
  .top_area {
    background: url("../images/main_img.jpg") center center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .program_list_contents {
    background: #eafffe;
  }
  .program_list_contents:nth-of-type(odd) {
    background: #eaf5ff;
  }
  .pink_txt {
    color: #1d8d3c;
  }
  #contents {
    padding-bottom: 20px;
  }
  .all {
    padding-bottom: 60px;
  }
  .all .top_area {
    margin-bottom: 0;
    background: url(../images/main_img-swim.jpg) no-repeat center;
    -moz-background-size: cover;
         background-size: cover;
  }
  .all .inner {
    position: relative;
  }
  .kids .top_area {
    margin-bottom: 0;
    background: url(../images/main_img-kids.jpg) no-repeat left top;
    -moz-background-size: cover;
         background-size: cover;
  }
  .kids .inner {
    position: relative;
  }
  .tennis .top_area {
    margin-bottom: 0;
    background: url(../images/main_img-tennis.jpg) no-repeat left top;
    -moz-background-size: cover;
         background-size: cover;
  }
  .tennis .inner {
    position: relative;
  }
  .more_btn a {
    padding: 8px 0;
    color: #fff;
    font-size: 1.6rem;
    background: #1d8d3c;
    -moz-border-radius: 3px;
         border-radius: 3px;
  }
  .more_btn a::before {
    right: 10px;
    width: 7px;
    height: 13px;
    background: url(/common/images/arrow_white.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .flex_btn .more_btn {
    margin-bottom: 20px;
  }
  .sec_ttl {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
  }
  .section_box {
    margin-bottom: 40px;
  }
  .all_content {
    color: #000;
  }
  .all_content_lead {
    padding: 20px 0;
    color: #464646;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
    background: #eafffe;
    padding: 15px;
  }
  .all_content_catch {
    margin-bottom: 20px;
    background: #f7f7f7;
  }
  .all_content_catch .inner {
    padding: 0 15px 15px;
  }
  .all_content_catch figure {
    margin-bottom: 20px;
  }
  .all_content_catch .right_area_ttl {
    color: #1d8d3c;
    font-size: 1.8rem;
  }
  .all_content_catch .right_area_sub {
    margin: 10px auto;
    color: #1d8d3c;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .all_content_catch .right_area_sub span {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
  }
  .all_content_catch .right_area p {
    font-size: 1.4rem;
  }
  .all_content_catch .btn_area {
    margin: auto;
    padding: 15px;
    background: #fff;
  }
  .charm {
    margin-bottom: 30px;
  }
  .charm .sec_ttl {
    margin-bottom: 30px;
  }
  .charm_list {
    padding: 10px 10px 20px;
    background: #eee;
  }
  .charm_list.pickup {
    padding: 0;
    background: #fff;
  }
  .charm_list.pickup figure {
    margin-bottom: 10px;
    text-align: center;
  }
  .charm_list.pickup + .pickup {
    margin-top: 30px;
    padding-top: 30px;
    border-top: solid 1px #cdcdcd;
  }
  .charm_list_sub {
    margin-bottom: 5px;
    color: #1d8d3c;
    font-size: 1.8rem;
    font-weight: normal;
  }
  .charm_list p {
    font-size: 1.4rem;
  }
  .charm_list + .charm_list {
    margin-top: 20px;
  }
  .qr_wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 20px;
  }
  .qr_wrapper .qr {
    width: 60px;
  }
  .qr_wrapper .qr_link {
    background-color: #1d8d3c;
    padding: 5px 25px;
    margin-left: 15px;
    color: #fff;
    font-size: 1.4rem;
    position: relative;
  }
  .qr_wrapper .qr_link::before {
    content: "";
    position: absolute;
    right: 10px;
    width: 7px;
    height: 10px;
    background: url(/common/images/arrow_white.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .plan {
    margin-bottom: 30px;
    padding: 20px 0 35px;
    color: #353535;
    background: #f7f7f7;
  }
  .plan .sec_ttl {
    color: #000;
    margin-bottom: 15px;
  }
  .plan_content_ttl {
    position: relative;
    padding-left: 22px;
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1.2;
  }
  .plan_content_ttl::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 16px;
    height: 16px;
    background: url(../../images/icon_curcle.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .plan_content_ttl small {
    font-size: 1.4rem;
  }
  .plan_content_sub {
    margin-bottom: 5px;
    color: #1d8d3c;
    font-size: 1.4rem;
    font-weight: normal;
  }
  .plan_content .tbl_shop {
    margin: 10px auto 30px;
  }
  .plan_content .attention_list {
    margin: 5px auto 20px;
  }
  .plan_content .attention_list li {
    position: relative;
    padding-left: 1em;
    font-size: 1.2rem;
    margin-top: .5rem;
  }
  .plan_content .attention_list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.4rem;
  }
  .plan_content .info_ttl {
    margin-bottom: 10px;
  }
  .plan_content .guide_dl dt,
  .plan_content .guide_dl dd {
    font-size: 1.4rem;
  }
  .plan_content .guide_dl dt {
    padding: 5px 0;
    color: #fff;
    text-align: center;
    background: #1d8d3c;
    -moz-border-radius: 3px;
         border-radius: 3px;
  }
  .plan_content .guide_dl dd {
    padding: 10px;
  }
  .plan_content .guide_dl dd small {
    font-size: 1.2rem;
  }
  .plan_content .guide_dl.border_none {
    padding-bottom: 20px;
  }
  .plan_content .guide_dl + .guide_dl {
    margin-top: 15px;
  }
  .plan_content .credit_ttl {
    margin: 15px auto 5px;
    font-weight: normal;
  }
  .plan_content .credit_img {
    margin-top: 5px;
  }
  .plan_content .caution {
    margin-bottom: 30px;
    color: #ff0000;
    font-size: 1.2rem;
  }
  .plan_content .caution p + p {
    margin-top: 5px;
  }
  .plan_content a {
    color: #058C44;
  }
  .faq_content {
    margin-bottom: 30px;
  }
  .faq_content .more_btn {
    width: 100%;
    margin-top: 20px;
  }
  .faq_content .more_btn a {
    color: #353535;
    background: #f5f5f5;
  }
  .faq_content .more_btn a::before {
    right: 10px;
    width: 7px;
    height: 13px;
    background: url(/sakura/common/images/arrow_green.svg) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .faq_content.border_b {
    border-bottom: 1px solid #cdcdcd;
    padding-bottom: 30px;
  }
  .swim .tbl_shop .tbl_content {
    display: block !important;
  }
  .swim .underline {
    border-bottom: 1px solid #c9c9c9;
  }
  .tennis .stage {
    margin-bottom: 30px;
  }
  .tennis .stage .nosp { display: none;}
  .tennis .stage_list {
    margin-bottom: 15px;
  }
  .tennis .stage_list .contents {
    background: #fffbd8;
    box-sizing: border-box;
    padding: 1em .5em;
    text-align: center;
  }
  .tennis .stage_list h3 img {
    width: 100%;
  }
  .tennis .stage_list .contents p {
    font-size: 1.4rem;
    margin-bottom: 1em;
  }

  .seijin {
    background: #F7F7F7;
    padding-bottom: 3rem;
  }

  .seijin .sec_inner {
    padding-top: 3rem;
  }

  .seijin__wrap:nth-of-type(n + 2) {
    margin-top: 5rem;
  }

  .seijin__ttl {
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: .2rem solid #0E8E46;
    padding-bottom: .5rem;
    margin-bottom: 1.5rem;
  }

  .seijin_ele_wrap__ttl {
    position: relative;
    padding-left: 1.8rem;
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }

  .seijin_ele_wrap__ttl::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 1rem;
    width: 1rem;
    background: #0E8E46;
  }

  .seijin_ele_wrap__table {
    width: 57rem;
    background: #fff;
    border: .1rem solid #C9C9C9;
    border-collapse: collapse;
  }

  .seijin_ele_wrap__table > *, .seijin_ele_wrap__table > * > *, .seijin_ele_wrap__table > * > * > * {
    border: .1rem solid #C9C9C9;
    font-size: 1.2rem;
  }

  .seijin_ele_wrap__table_wrap {
    overflow-x: scroll;
  }

  .seijin_ele_wrap__table tr th {
    background: #EDEDED;
    color: #2178BB;
    font-weight: normal;
    padding: .4rem 0;
  }

  .seijin_ele_wrap__table tr td {
    padding: 1rem;
    text-align: center;
  }

  .seijin_ele_wrap__table tr td.left {
    text-align: left;
  }

  .seijin_ele_wrap__table tr td.blue {
    background: #DAF6FF;
    color: #2178BB;
    color: #2178BB;
  }

  .seijin_ele_wrap__table tr th:first-of-type {
    width: 16rem;
  }

  .seijin_ele_wrap__table tr th:nth-of-type(2) {
    width: 40.5rem;
  }

  .seijin_ele_wrap__table tr th:nth-of-type(3) {
    width: 24rem;
  }

  .seijin_ele_wrap__table tr th:nth-of-type(4) {
    width: 18rem;
  }

  .seijin_ele_wrap__table_txt {
    text-align: right;
    font-size: 1.2rem;
    margin-top: .5rem;
  }

  .seijin_ele_wrap__txt {
    display: flex;
    align-items: center;
    margin-top: 1.5rem;
    font-size: 1.2rem;
    font-weight: bold;
  }

  .seijin_ele_wrap__txt span {
    background: #0E8E46;
    color: #fff;
    padding: .2rem 1rem;
    margin-right: 1rem;
  }

  .seijin_ele_wrap:nth-of-type(n + 2) {
    margin-top: 3rem;
  }
}
.faq_content {
  text-align: center;
  margin-top: 40px;
}

.faq_content__ttl {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
}

.faq_content .more_btn a {
  position: relative;
  display: inline-block;
  width: 100%;
}

.faq_content .more_btn a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 11px;
  height: 17px;
  background: url(/sakura/common/images/arrow_green.svg) no-repeat center;
  -moz-background-size: contain;
  background-size: contain;
}

@media screen and (max-width: 767px), print {
  .faq_content__ttl {
    font-size: 3rem;
  }
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: calc(100vh + 100px);
  width: 100vw;
  z-index: 9998;
  background: rgba(60, 60, 60, .8);
  opacity: 0;
  pointer-events: none;
  transition: .3s opacity;
}

.modal__overlay.is_active {
  opacity: 1;
  pointer-events: initial;
}

.modal {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 868px;
  max-width: 85%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  border-radius: 4px;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: .3s opacity;
}

.modal.is_active {
  opacity: 1;
  pointer-events: initial;
}

.modal__ttl {
  background: #058C44;
  color: #fff;
  font-size: 24px;
  text-align: center;
  padding: 18px 0;
  border-radius: 4px;
}

.modal-bottom {
  padding: 40px 60px;
}

.modal-bottom h3 {
  position: relative;
  padding-left: 23px;
  margin-top: 15px;
  margin-bottom: 10px;
}

.modal-bottom h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  height: 14px;
  width: 14px;
  background: #0E8E46;
}

.modal-bottom dl {
  display: flex;
  align-items: flex-start;
}

.modal-bottom dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #008C44;
  font-size: 16px;
  width: 160px;
  text-align: center;
  padding: 7px 0;
  border-radius: 3px;
  color: #fff;
}

.modal-bottom dl dd {
  width: calc(100% - 160px);
  padding-left: 15px;
  padding-top: 8px;
}

.modal-bottom dl + dl {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #E6E6E6;
}

.modal-bottom__caution {
  margin-top: 25px;
  color: #FF0000;
}

.modal-b__btn {
  display: flex;
  justify-content: center;
  margin-top: 25px;
}

.modal-b__btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  width: 280px;
  height: 60px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  background: #058C44;
  border-radius: 3px;
}

.modal-b__btn a::after {
  content: "";
  position: absolute;
  height: 6px;
  width: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
}

.modal__close {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background: #fff;
  transform: translate(50%, -50%);
  cursor: pointer;
  transition: .3s;
}

.modal__close:hover {
  opacity: .7;
}

.modal__close::after,.modal__close::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  height: 15px;
  width: 2px;
  background: #343434;
}

.modal__close::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 767px), print {
  .modal-bottom {
    padding: 20px 10px;
  }

  .modal-bottom dl dt {
    font-size: 12px;
    width: 105px;
  }

  .modal-bottom dl dd {
    width: calc(100% - 105px);
    padding-top: 4px;
  }

  .modal-bottom dl dd {
    font-size: 12px;
  }

  .modal__ttl {
    font-size: 18px;
    padding: 12px 0;
  }

  .modal__close {
    width: 35px;
    height: 35px;
  }

  .modal-bottom p {
    font-size: 12px;
  }
}

.faq_content {
  display: none;
}

.faq_content.active {
  display: block;
}


.modal-b__tel {
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-b__tel a {
  text-align: center;
  padding: 1rem 4rem 1.2rem;
  border: .2rem solid #058C44;
  border-radius: 1rem;
}
.modal-b__tel a span, .modal-b__tel a small {
  display: inline-block;
  text-align: center;
  color: #0E8E46;
}

.modal-b__tel a span {
  position: relative;
  font-size: 3rem;
  font-weight: bold;
  padding-left: 4rem;
  line-height: 1.2;
}

.modal-b__tel a span::before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 3rem;
  width: 3rem;
  background: url(../images/tel_icon.png) no-repeat center center;
  background-size: contain;
}

@media screen and (min-width: 768px), print {
  .modal-b__tel a {
    pointer-events: none;
  }
}

@media screen and (max-width: 767px), print {

  .modal-b__tel a {
    padding: 1rem 0 1.2rem;
    width: 100%;
  }

  .modal-b__tel a span {
    font-size: 2.8rem;
    padding-left: 3rem;
  }

  .modal-b__tel a small {
    font-size: 1.2rem;
  }

  .modal-b__tel a span::before {
    height: 2.5rem;
    width: 2.5rem;
  }
  .c_banner__wrap img{
    width: 100%;
  }
  .c_banner__wrap figure figcaption{
    text-align: center;
    display: block;
    margin-top:.4em;
  }
}

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

.swimming-inner {
  max-width: 1400px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px), print {
  .swimming-inner {
    padding: 0 20px;
  }
}


.seijin_ele_wrap__table tr td.blue span {
  font-weight: 700;
}
.seijin_ele_wrap__table tr th.w-none {
  width: 12rem;
}
@media screen and (max-width: 767px) {
  .seijin_ele_wrap__table tr th.w-none {
    width: 12rem;
  }
}
.seijin_ele_wrap__table tr th.w-14 {
  width: 14rem;
}
@media screen and (max-width: 767px) {
  .seijin_ele_wrap__table tr th.w-14 {
    width: 14rem;
  }
}
.seijin_ele_wrap__table tr th.w-29 {
  width: 29rem;
}
@media screen and (max-width: 767px) {
  .seijin_ele_wrap__table tr th.w-29 {
    width: 29rem;
  }
}
@media screen and (max-width: 767px) {
  .seijin_ele_wrap__table.w-100{
    width: 100rem;
  }
}

.mt-sp{
  margin-top: 1.3rem;
}