@charset "utf-8";
/* STYLE LIST ------------------------------------------------------

 01. LAYOUT

 02. HEADER & FOOTER

 03. KV

 04. CAMPAIGN

 05. CTA

 06. PICKUP

 07. LIFESTYLE

 08. PROGRAM

 09. FACILITIES

 10. MEMBERSHIP

 11. ADMISSION

 12. INFO

 13. NEWS

 14. TOPICS

 15. CLEAN UP

 16. PREVENTION

 17. VISIT

 18. POINT

 19. FIXED

 20. ALERT

-------------------------------------------------------------------- */


/* 01. LAYOUT
-------------------------------------------------------------------- */

a {
  text-decoration: none;
}

a[href^="tel:"] {
  cursor: default;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

p {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.05rem;
}

.caution {
  font-size: 1.4rem;
}

.inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 100px 0 150px;
}

.campaign_inner {
  padding: 80px 0 60px;
}


/* タイトルパターン */
.contents_ttl {
  position: relative;
  text-align: center;
  letter-spacing: 0.2rem;
  margin: 0 0 60px;
}

.contents_ttl:before {
  content: '';
  position: absolute;
  top: -110px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 auto;
}

.contents_ttl span {
  display: block;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  padding: 1rem 0 0;
}


/* TEL */
.tel a {
  position: relative;
  font-size: 3.6rem;
  line-height: 1.4;
  color: #333;
}

.tel a:before {
  content: '';
  background: url("../img/common/icon_tel_blue.svg") no-repeat 0 0;
  background-size: 36px 36px;
  width: 36px;
  height: 36px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50px;
  margin: auto 0;
}


/* PC・SP切替 */
.sp {
  display: none;
}


/* MEDIA QUERIE 961px～ */
@media screen and (min-width: 768px) {

  a {
    transition: .5s;
  }

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  p {
    font-size: 1.3rem;
  }

  .inner {
    padding: 80px 0;
  }

  .campaign_inner {
    padding: 60px 0 40px;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .contents_ttl {
    margin: 0 0 40px;
  }

  .contents_ttl span {
    font-size: 2rem;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .inner {
    padding: 50px 0;
  }

  .campaign_inner {
    padding: 40px 0 20px;
  }

  .contents_ttl {
    margin: 0 0 30px;
  }

  .contents_ttl:before {
    top: -80px;
  }

  .tel {
    box-sizing: border-box;
    font-size: 2.6rem;
  }

  .tel a {
    font-size: 3rem;
  }

  .tel a:before {
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 0;
    left: -40px;
  }

}




/* 02. HEADER & FOOTER
-------------------------------------------------------------------- */

.header_inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 20px 30px;
}

.header_ttl {
  max-width: 326px;
}

.footer_inner {
  width: 90%;
  max-width: 1000px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 30px 0;
}

.pagetop {
  position: fixed;
  right: 40px;
  bottom: 90px;
  z-index: 10;
  width: 10px;
  cursor: pointer;
}

.copyright {
  font-size: 1.2rem;
  text-align: center;
  padding-bottom: 62px;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

  .header_inner {
    display: block;
    text-align: center;
    padding: 10px 30px;
  }

  .header_ttl {
    margin: 0 auto;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .footer_inner {
    padding: 20px 0;
  }

}




/* 03. KV
-------------------------------------------------------------------- */
.kv_inner {
  text-align: center;
}

.kv_inner img {
  width: 100%;
}

.kv_img {
  width: 100%;
  height: 80vh;
  overflow: hidden;
  position: relative;
}

.kv_img_item {
  opacity: 1;
  width: 100%;
  height: 80vh;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  transform: scale(1);
  /*------拡大→縮小にするには「1.1」にする-------*/
  /* 2枚の時*/
  -webkit-animation: anime 13s 0s infinite;
  animation: anime 13s 0s infinite;

  /* 4枚の時*/
  /*-webkit-animation: anime 28s 0s infinite;
    animation: anime 28s 0s infinite;*/
}

.kv_img_item:nth-of-type(1) {
  background-image: url("../img/change/kv_pc_220601a.jpg");
  animation-name: anime;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.kv_img_item:nth-of-type(2) {
  background-image: url("../img/change/kv_pc_220601b.jpg");
  animation-name: anime;
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
  opacity: 0;
}

/*.kv_img_item:nth-of-type(3) {
    background-image: url("../img/change/kv_pc_211201_3.png");
    animation-name: anime;
    -webkit-animation-delay: 13s;
    animation-delay: 13s;
    opacity:0;
  }
  .kv_img_item:nth-of-type(4) {
    background-image: url("../img/change/kv_pc_211201_4.png");
    animation-name: anime;
    -webkit-animation-delay: 20s;
    animation-delay: 20s;
    opacity:0;
  }*/

/* 2枚の時*/
@keyframes anime {
  0% {
    opacity: 0;
  }

  4.76% {
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  60% {
    opacity: 0;
    transform: scale(1);
  }

  100% {
    opacity: 0;
  }
}

/* 4枚の時*/
/*@keyframes anime {
    0% {
      opacity: 0;
    }
    4.76% {
      opacity: 1;
    }
    33.33% {
      opacity: 1;
    }
    42.85% {
      opacity: 0;
      transform: scale(1);
    }
    100% {
      opacity: 0;
    }
  }*/



/* MEDIA QUERIE ～1300px */
@media screen and (max-width: 1300px) {
  .kv_img {
    height: 68vh;
  }

  .kv_img_item {
    height: 68vh;
  }
}

/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {
  .kv_img {
    height: 40vh;
  }

  .kv_img_item {
    height: 40vh;
  }
}

/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {
  .kv_img {
    height: 104.1666666666667vw;
  }

  .kv_img_item {
    height: 104.1666666666667vw;
  }

  .kv_img_item:nth-of-type(1) {
    background-image: url("../img/change/kv_sp_221001a.jpg");
  }

  .kv_img_item:nth-of-type(2) {
    background-image: url("../img/change/kv_sp_221001b.jpg");
  }

  /*.kv_img_item:nth-of-type(3) {
      background-image: url("../img/change/kv_sp_220401A.jpg");
    }
    .kv_img_item:nth-of-type(4) {
      background-image: url("../img/change/kv_sp_220401B.png");
    }*/
}



/* 04. CAMPAIGN
-------------------------------------------------------------------- */

.campaign {
  padding: 0;
  background: url(../img/change/cp_background.jpg) center no-repeat;
  background-size: cover;
}

.campaign_inner {
  max-width: 900px;
}

.campaign_img {
  max-width: 980px;
  text-align: center;
  margin: 0 auto;
}

.campaign_txt {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  color: #825154;
  margin: 0 auto 20px;
  padding: 30px;
}

.campaign_txt p {
  box-sizing: border-box;
  border: solid 1px #825154;
  padding: 1.5rem;
}

.campaign_txt p span {
  display: block;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: bold;
  color: #fff;
}

.campaign_txt p span span {
  display: inline-block;
  font-size: 1.5rem;
}

.condition_img {
  box-sizing: border-box;
  margin: 30px auto 0;
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .campaign_img img {
    margin: 0 auto;
  }

  .campaign_txt {
    padding: 20px;
  }

  .campaign_txt p span {
    font-size: 1.5rem;
  }

}




/* 05. CTA
-------------------------------------------------------------------- */

.cta_inner {
  max-width: 900px;
}

.cta_only .cta_inner {
  margin: 0 auto;
}

.cta_btn {
  text-align: center;
}

.cta_btn a {
  display: block;
  background: #e50012 url("../img/common/arrow_cta_btn.svg") no-repeat right 34px center;
  width: 100%;
  font-size: 3rem;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 24px 0;
}

.visit_btn {
  margin: 30px 0 0;
}

.visit_btn a {
  background: #019fe8 url("../img/common/arrow_cta_btn.svg") no-repeat right 34px center;
}

.transfer_btn {
  margin: 30px 0 0;
}

.transfer_btn a {
  background: #ec78ab url("../img/common/arrow_cta_btn.svg") no-repeat right 34px center;
}

.cta_tel {
  text-align: center;
  margin: 40px 0 0;
}

.cta_tel p {
  font-size: 2rem;
}

.cta_tel a {
  font-size: 5rem;
  margin: 0 0 0 23px;
}

.cta_tel a:before {
  content: '';
  background-size: 46px 46px;
  width: 46px;
  height: 46px;
  left: -60px;
}


/* MEDIA QUERIE ～1024px */
@media screen and (min-width: 1024px) {

  .cta_btn a:hover {
    opacity: 0.7;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .cta_btn a {
    background: #e50012 url(../img/common/arrow_cta_btn.svg) no-repeat right 20px center;
    background-size: 28px;
    font-size: 2rem;
    padding: 20px 0;
  }

  .visit_btn {
    margin: 20px 0 0;
  }

  .visit_btn a {
    background: #019fe8 url("../img/common/arrow_cta_btn.svg") no-repeat right 20px center;
  }

  .transfer_btn {
    margin: 20px 0 0;
  }

  .transfer_btn a {
    background: #ec78ab url("../img/common/arrow_cta_btn.svg") no-repeat right 20px center;
  }

  .cta_tel p {
    font-size: 1.6rem;
  }

  .cta_tel a {
    font-size: 3rem;
    margin: 0 0 0 23px;
  }

  .cta_tel a:before {
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    left: -40px;
  }

}




/* 06. PICKUP
-------------------------------------------------------------------- */

.pickup {
  background: #ebf8fb;
  -webkit-transform: skew(0deg, -5deg);
}

.pickup_inner {
  max-width: 1530px;
  -webkit-transform: skew(0deg, 5deg);
  padding: 80px 0 150px;
}

.pickup_ttl:before {
  background: url("../img/common/ttl_pickup.svg") no-repeat 0 0;
  background-size: 667px 189px;
  width: 667px;
  height: 189px;
}

.pickup_item ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.pickup_item li {
  width: 31%;
  max-width: 470px;
}

.pickup_item li figure {
  position: relative;
}

.pickup_item li figure:after {
  content: '';
  width: 87px;
  height: 83px;
  position: absolute;
  top: 0;
  left: 0;
}

.pickup_item li:first-child figure:after {
  background: url("../img/common/img_pickup_num01@2x.png") no-repeat 0 0;
  background-size: 87px 83px;
}

.pickup_item li:nth-child(2) figure:after {
  background: url("../img/common/img_pickup_num02@2x.png") no-repeat 0 0;
  background-size: 87px 83px;
}

.pickup_item li:nth-child(3) figure:after {
  background: url("../img/common/img_pickup_num03@2x.png") no-repeat 0 0;
  background-size: 87px 83px;
}

.pickup_item h3 {
  font-size: 2rem;
  line-height: 1.4;
  color: #009dca;
  padding: 3rem 0 0;
}

.pickup_item p {
  margin: 2rem 0 0;
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 1024px) {

  .pickup_ttl:before {
    background-size: 100%;
    max-width: 100%;
    height: auto;
  }


}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .pickup_inner {
    padding: 80px 0;
  }

  .pickup_item ul {
    display: block;
  }

  .pickup_item li {
    width: 100%;
    max-width: 470px;
    margin: 0 auto 30px;
  }

  .pickup_item p {
    margin: 1rem 0 0;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .pickup_inner {
    padding: 50px 0 30px;
  }

}



/* 07. LIFESTYLE
-------------------------------------------------------------------- */

.lifestyle {
  background: url("../img/common/bg_lifestyle.png") no-repeat center top;
  background-size: cover;
}

.lifestyle_inner {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  padding: 150px 0 0;
}

.lifestyle_ttl {
  text-align: center;
  margin: 0 0 20px;
}

.lifestyle_caution {
  text-align: center;
}

.lifestyle_item {
  background: url("../img/common/bg_dot.svg") repeat-y center top;
  padding: 0 0 150px;
}

.lifestyle_item li {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center;
  margin: 50px 0 0;
  padding: 160px 0 0;
}

.lifestyle_item li:nth-child(even) {
  flex-direction: row-reverse;
}

.lifestyle_item li:after {
  content: '';
  width: 150px;
  height: 150px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 auto;
}

.lifestyle_item_img,
.lifestyle_item_txt {
  width: 45%;
}

.lifestyle_item_txt_inner {
  position: relative;
  max-width: 510px;
  background: #ee8890;
  box-sizing: border-box;
  margin: 0 30px 0 0;
  padding: 50px 90px 100px 70px;
}

.lifestyle_item_txt_inner:before {
  content: '';
  width: 332px;
  height: 338px;
  position: absolute;
}

.lifestyle_item_txt h3 {
  font-size: 2.6rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.1rem;
  padding: 0 0 3rem;
}

.lifestyle_item_txt p {
  font-size: 1.4rem;
  color: #fff;
}


/* lifestyle_item_01 */
.lifestyle_item_01:after {
  background: url("../img/common/img_time_1900.svg") no-repeat center top;
  background-size: 150px;
}

.lifestyle_item_01 .lifestyle_item_txt_inner:before {
  background: url("../img/common/img_life_s01@2x.png") no-repeat 0 0;
  background-size: 332px 338px;
  right: -180px;
  bottom: -120px;
}

.lifestyle_item_01 .lifestyle_item_txt_inner:after {
  background: url("../img/common/img_life_person01@2x.png") no-repeat 0 0;
  background-size: 114px 352px;
  content: '';
  width: 114px;
  height: 352px;
  position: absolute;
  left: -50px;
  top: -30px;
}


/* lifestyle_item_02 */
.lifestyle_item_02:after {
  background: url("../img/common/img_time_1915.svg") no-repeat center top;
  background-size: 150px;
}

.lifestyle_item_02 .lifestyle_item_txt_inner:before {
  background: url("../img/common/img_life_s02@2x.png") no-repeat 0 0;
  background-size: 332px 338px;
  left: -180px;
  bottom: -120px;
}

.lifestyle_item_02 .lifestyle_item_txt_inner:after {
  background: url("../img/common/img_life_person02@2x.png") no-repeat 0 0;
  background-size: 178px 339px;
  content: '';
  width: 178px;
  height: 339px;
  position: absolute;
  right: -80px;
  top: 20px;
}

.lifestyle_item_02 .lifestyle_item_img {
  text-align: right;
}

.lifestyle_item_02 .lifestyle_item_txt_inner {
  float: right;
  margin: 0 0 0 30px;
}


/* lifestyle_item_03 */
.lifestyle_item_03 .lifestyle_item_txt_inner:before {
  background: url("../img/common/img_life_s03@2x.png") no-repeat 0 0;
  background-size: 332px 338px;
  right: -180px;
  bottom: -120px;
}

.lifestyle_item_03 .lifestyle_item_txt_inner:after {
  background: url("../img/common/img_life_person03@2x.png") no-repeat 0 0;
  background-size: 93px 318px;
  content: '';
  width: 93px;
  height: 318px;
  position: absolute;
  left: -50px;
  top: -30px;
}

.lifestyle_item_03:after {
  background: url("../img/common/img_time_2030.svg") no-repeat center top;
  background-size: 150px;
}


/* lifestyle_item_04 */
.lifestyle_item_04 .lifestyle_item_txt_inner:before {
  background: url("../img/common/img_life_s04@2x.png") no-repeat 0 0;
  background-size: 332px 338px;
  left: -180px;
  bottom: -120px;
}

.lifestyle_item_04 .lifestyle_item_txt_inner:after {
  background: url("../img/common/img_life_person04@2x.png") no-repeat 0 0;
  background-size: 133px 333px;
  content: '';
  width: 133px;
  height: 333px;
  position: absolute;
  right: -50px;
  top: -30px;
}

.lifestyle_item_04:after {
  background: url("../img/common/img_time_2130.svg") no-repeat center top;
  background-size: 150px;
}

.lifestyle_item_04 .lifestyle_item_img {
  text-align: right;
}

.lifestyle_item_04 .lifestyle_item_txt_inner {
  margin: 0 0 0 30px;
  float: right;
}

/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

  .lifestyle_inner {
    width: 90%;
  }

  .lifestyle_item {
    background: url(../img/common/bg_dot.svg) repeat-y left 50px top;
    padding: 0 0 150px;
  }

  .lifestyle_item li {
    display: block;
    box-sizing: border-box;
    padding: 30px 0 0 80px;
  }

  .lifestyle_item li:after {
    background-size: 100px;
    width: 100px;
    height: 100px;
    right: auto;
    margin: 0;
  }

  .lifestyle_item_img,
  .lifestyle_item_txt {
    width: 100%;
  }

  .lifestyle_item_txt_inner {
    max-width: 100%;
    margin: 0 !important;
    float: none !important;
    padding: 30px 30px 30px 120px;
  }

  .lifestyle_item_txt_inner:before {
    display: none;
  }

  .lifestyle_item_01 .lifestyle_item_txt_inner:after,
  .lifestyle_item_02 .lifestyle_item_txt_inner:after,
  .lifestyle_item_03 .lifestyle_item_txt_inner:after,
  .lifestyle_item_04 .lifestyle_item_txt_inner:after {
    top: auto;
    right: 0;
    left: -80px;
    bottom: 0;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .lifestyle_inner {
    padding: 50px 0 0;
  }

  .lifestyle_ttl {
    margin: 0 0 10px;
  }

  .lifestyle_ttl img {
    max-height: 17px;
  }

  .lifestyle_item {
    background: url(../img/common/bg_dot.svg) repeat-y center top;
    padding: 0 0 100px;
  }

  .lifestyle_item li {
    margin: 20px 0 0;
    padding: 120px 0 0;
  }

  .lifestyle_item li:after {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 auto;
  }

  .lifestyle_item_txt_inner {
    padding: 20px;
  }

  .lifestyle_item_01 .lifestyle_item_txt_inner:after,
  .lifestyle_item_02 .lifestyle_item_txt_inner:after,
  .lifestyle_item_03 .lifestyle_item_txt_inner:after,
  .lifestyle_item_04 .lifestyle_item_txt_inner:after {
    display: none;
  }

  .lifestyle_item_txt h3 {
    font-size: 2rem;
    padding: 0 0 2rem;
  }

}




/* 08. PROGRAM
-------------------------------------------------------------------- */

.program {
  background: #ebf8fb;
  -webkit-transform: skew(0deg, -5deg);
}

.program_inner {
  -webkit-transform: skew(0deg, 5deg);
  padding: 80px 0 150px;
}

.program_ttl:before {
  content: '';
  background: url("../img/common/ttl_program.svg") no-repeat 0 0;
  background-size: 852px 186px;
  width: 852px;
  height: 186px;
}

.program_item_wrap {
  margin: 100px 0 0;
}

.program_categry_ttl {
  text-align: center;
  margin: 0 0 50px;
}

.program_categry_ttl span {
  background: linear-gradient(rgba(255, 250, 204, 0) 20%, #fffacc 20%);
}

.program_categry_ttl span img {
  margin: -40px 0 0;
}

.program_item ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
}

.program_item li {
  position: relative;
  width: 48%;
  max-width: 492px;
  margin: 0 0 40px;
}

.program_item figure:after {
  content: '';
  width: 480px;
  height: 300px;
  position: absolute;
  bottom: -10px;
  right: -10px;
  z-index: -1;
}

.program_blue figure:after {
  background: url("../img/common/bg_program_blue@2x.png") no-repeat 0 0;
  background-size: 480px 300px;
}

.program_pink figure:after {
  background: url("../img/common/bg_program_pink@2x.png") no-repeat 0 0;
  background-size: 480px 300px;
}

.program_green figure:after {
  background: url("../img/common/bg_program_green@2x.png") no-repeat 0 0;
  background-size: 480px 300px;
}

.program_item p {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  padding: 2rem 0 0;
}

.program_item p span {
  font-size: 1.6rem;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

  .program_ttl:before {
    background-size: 100%;
    max-width: 100%;
    height: auto;
  }

  .program_item figure:after {
    display: none;
  }

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .program_inner {
    padding: 80px 0;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .program_inner {
    padding: 50px 0 30px;
  }

  .program_item_wrap {
    margin: 60px 0 0;
  }

  .program_item ul {
    display: block;
  }

  .program_item li {
    width: 100%;
    margin: 0 auto 20px;
  }

  .program_item p {
    font-size: 1.8rem;
  }

  .program_item p span {
    font-size: 1.3rem;
  }

}




/* 09. FACILITIES
-------------------------------------------------------------------- */

.facility {
  border-bottom: solid 1px #333;
}

.facility_inner {
  padding: 100px 0 0;
}

.facility_ttl:before {
  content: '';
  background: url("../img/common/ttl_facility.svg") no-repeat 0 0;
  background-size: 709px 189px;
  width: 709px;
  height: 189px;
  z-index: -1;
}


/* タブ切り替え */
.tabArea {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.tabArea_wrap {
  background: #fdedef;
  padding: 50px 0 0;
}

.tabArea label {
  width: 49%;
  box-sizing: border-box;
  border-radius: 10px 10px 0 0;
  border-top: solid 1px #ee8890;
  border-right: solid 1px #ee8890;
  border-left: solid 1px #ee8890;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  color: #ee8890;
  padding: 1rem;
  cursor: pointer;
}

.tabArea.bottom label {
  border: solid 1px #ee8890;
  border-top: none;
  border-radius: 0 0 10px 10px;
}

.tabArea label:hover,
.facility #tab1:checked~.tabArea .tab1Label,
.facility #tab2:checked~.tabArea .tab2Label,
.facility #tab3:checked~.tabArea .tab3Label,
.facility #tab4:checked~.tabArea .tab4Label,
.facility #tab5:checked~.tabArea .tab5Label {
  background: #ee8890;
  border: none;
  color: #fff;
  transition: all 0.5s ease-out;
}

.facility #tab1:checked~.panelArea #panel1 {
  display: block;
}

.facility #tab2:checked~.panelArea #panel2 {
  display: block;
}

.facility #tab3:checked~.panelArea #panel3 {
  display: block;
}

.facility #tab4:checked~.panelArea #panel4 {
  display: block;
}

.facility #tab5:checked~.panelArea #panel5 {
  display: block;
}

.facility input[type=radio] {
  display: none;
}


/* パネル切り替え */
.facility .tabPanel {
  display: none;
}

.panel_group {
  height: auto;
  background: #fdedef;
  border-top: solid 20px #ee8890;
  border-bottom: solid 20px #ee8890;
  padding: 50px 0 100px;
}

.tabPanel {
  box-sizing: border-box;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.panel_ttl_wrap {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  margin: 0 0 30px;
}

.panel_ttl {
  width: 20%;
  text-align: center;
}

.panel_copy {
  width: 80%;
  padding: 40px 0;
}

.panel_item_perth {
  border-bottom: dashed 1px #333;
  margin: 0 0 50px;
  padding: 0 0 80px;
}

.panel_inner {
  background: #fff;
  padding: 80px 50px 50px;
}

.panel_item ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
}

.panel_item li {
  width: 48%;
  margin: 0 0 40px;
}

.panel_item h4 {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  padding: 2rem 0 1rem;
}

.panel_item p {
  font-size: 1.4rem;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

  .facility_ttl:before {
    background-size: 100%;
    max-width: 100%;
    height: auto;
  }

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .panel_inner {
    padding: 50px 30px 30px;
  }

}

/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .tabArea label {
    font-size: 2rem;
  }

  .panel_group {
    padding: 30px 0;
  }

  .panel_ttl_wrap {
    display: block;
    margin: 0;
  }

  .panel_ttl {
    width: 100%;
  }

  .panel_copy {
    width: 100%;
    padding: 20px 0;
  }

  .panel_item ul {
    display: block;
  }

  .panel_item li {
    width: 100%;
  }

  .panel_item li img {
    width: 100%;
  }

}




/* 10. MEMBERSHIP
-------------------------------------------------------------------- */

.membership {
  background: url("../img/common/bg_membership.png") no-repeat center top;
  background-size: cover;
}

.membership_item ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
}

.membership_item li {
  width: 48%;
  box-sizing: border-box;
  border: solid 1px #009dca;
  margin: 0 0 40px;
}

.membership_item h3 {
  background: #009dca;
  box-sizing: border-box;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1rem;
  padding: 1rem;
}

.membership_item h3 span {
  font-size: 1.4rem;
  font-weight: normal;
}

.membership_item_inner {
  box-sizing: border-box;
  padding: 30px 40px 40px;
}

.membership_item_inner {
  box-sizing: border-box;
  padding: 30px 40px 40px;
}

.membership_fee_wrap {
  box-sizing: border-box;
  display: block;
  padding: 1rem 0;
  margin: 0;
  text-align: center;
}

.membership_fee_wrap .monthly {
  font-size: 1.6rem;
  line-height: 1;
  background: #ee8890;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  padding: 1.4rem 3rem;
  margin: 0 0 20px;
  display: block;
}

.membership_fee_wrap .oldfee {
  font-size: 3rem;
  line-height: 1;
  font-weight: bold;
  color: #3e3a39;
}

.membership_fee_wrap .newfee {
  font-size: 5rem;
  line-height: 1;
  font-weight: bold;
  color: #ee8890;
}

.membership_fee_wrap .oldyen {
  font-size: 2.2rem;
  font-weight: normal;
  color: #3e3a39;
}

.membership_fee_wrap .newyen {
  font-size: 2.2rem;
  font-weight: normal;
  color: #ee8890;
}

.membership_fee_wrap .feeinfo {
  font-size: 2.2rem;
  font-weight: normal;
  color: #ee8890;
}

.membership_item .menu {
  box-sizing: border-box;
  border: solid 1px #ee8890;
  font-size: 1.8rem;
  color: #ee8890;
  text-align: center;
  margin: 0 0 20px;
  padding: 0.5rem 1rem;
}

.membership_item .newmenu {
  color: #ee8890;
}

.membership_item .hours {
  box-sizing: border-box;
  border: solid 1px #009dca;
  font-size: 1.8rem;
  color: #009dca;
  text-align: center;
  margin: 20px 0 20px;
  padding: 0.5rem 1rem;
}

.membership_item dl {
  font-size: 1.6rem;
  line-height: 1.8;
}

.membership_item dl:not(:last-child) {
  margin: 0 0 2rem;
}

.membership_cap {
  font-size: 1.4rem;
  border-top: dashed 1px #009dca;
  padding: 30px 0 0;
}

.kaitei_ttl {
  width: 40%;
  color: #e50012;
  font-size: 1.8rem;
  text-align: center;
  border: 1px solid #e50012;
  margin: 0 auto;
  padding: 2%;
}

.kaitei_txt {
  width: 100%;
  color: #e50012;
  font-size: 1.4rem;
  text-align: center;
  margin: 0 auto 5%;
  padding: 2% 0;
}

/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

  .membership_fee_wrap {
    display: block;
    text-align: center;
  }

  .membership_fee_wrap .monthly {
    box-sizing: border-box;
    display: block;
    padding: 1rem;
    margin: 0 0 20px;
  }

  .membership_fee_wrap .feeinfo {
    font-size: 2rem;
    font-weight: normal;
    color: #ee8890;
  }

  .membership_fee_wrap .newfee {
    font-size: 4.4rem;
    line-height: 1;
    font-weight: bold;
    color: #ee8890;
  }

  .membership_fee_wrap .newyen {
    font-size: 2rem;
    font-weight: normal;
    color: #ee8890;
  }
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .membership_item_inner {
    padding: 20px;
  }

  .membership_item h3 {
    font-size: 1.8rem;
  }

  .membership_fee_wrap .fee {
    font-size: 4.4rem;
  }

  .membership_item dl {
    font-size: 1.3rem;
  }


}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .membership_item ul {
    display: block;
  }

  .membership_item li {
    width: 100%;
    margin: 0 0 20px;
  }

}




/* 11. ADMITTION
-------------------------------------------------------------------- */

.admission {
  background: #f0f0f0;
}

.admission_inner {
  padding: 0 0 100px;
}

.admission_item ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
}

.admission_item li {
  background: #fff;
  box-sizing: border-box;
  border: 3px solid #8dc21f;
  width: 31%;
  margin: 0 0 50px;
  padding: 30px;
}

.admission_item p {
  font-size: 2.4rem;
  text-align: center;
}

.admission_item .tax {
  font-size: 1.4rem;
}

.admission_item .small {
  display: block;
  font-size: 1.4rem;
  text-align: left;
  padding: 1rem 0 0;
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .admission_inner {
    padding: 0 0 50px;
  }

  .admission_item li {
    width: 49%;
    margin: 0 0 10px;
    padding: 20px;
  }

  .caution {
    margin: 20px 0 0;
  }

}


/* MEDIA QUERIE ～480px */
@media screen and (max-width: 480px) {

  .admission_inner {
    padding: 0 0 30px;
  }

  .admission_item ul {
    display: block;
  }

  .admission_item li {
    width: 100%;
  }

}




/* 12. INFO
-------------------------------------------------------------------- */

.info {
  border-top: solid 1px #333;
}

.info_inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 100px 0 0;
}

.info_txt {
  width: 52%;
}

.info_tel {
  border-bottom: 1px solid #333;
  margin: 0 0 2rem;
  padding: 0 0 1rem;
}

.info_ttl {
  margin: 0 0 15px;
}

.info_tel p {
  font-size: 1.5rem;
}

.info_tel a {
  position: relative;
  font-size: 3.4rem;
  line-height: 1.6;
  font-weight: bold;
  color: #333;
  padding: 0 0 0 50px;
}

.info_tel a:before {
  content: '';
  background: url("../img/common/icon_tel_black.svg") no-repeat 0 0;
  background-size: 36px 36px;
  width: 36px;
  height: 36px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}

.info_txt dl {
  display: -webkit-flex;
  display: flex;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.05rem;
  padding: 0 0 1rem;
}

.info_txt dt {
  min-width: 80px;
  font-weight: bold;
}

.info_txt dt:after {
  content: '／';
}

.info_txt dd span {
  display: block;
  font-size: 1.2rem;
}

.info_img {
  width: 43%;
}

.info_img img {
  box-sizing: border-box;
  border: solid 1px #333;
  padding: 4px;
}

.ggmap {
  height: 450px;
}

.ggmap iframe {
  width: 100%;
  height: 450px;
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .info_inner {
    display: block;
    padding: 80px 0 0;
  }

  .info_txt {
    width: 100%;
    margin: 0 0 20px;
  }

  .info_ttl,
  .info_tel {
    text-align: center;
  }

  .info_img {
    width: 100%;
    text-align: center;
  }

  .info_img {
    width: 100%;
  }

  .ggmap {
    height: 350px;
  }

  .ggmap iframe {
    height: 350px;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .info_inner {
    padding: 50px 0 0;
  }

  .ggmap {
    height: 250px;
  }

  .ggmap iframe {
    height: 250px;
  }

}




/* 13. TOPICS
-------------------------------------------------------------------- */

.topics {
  margin: 50px 0 0;
}

.topics_inner {
  max-width: 830px;
  box-sizing: border-box;
  border: 2px solid #0a5aaa;
  padding: 50px 50px 20px;
}

.topics_item:first-child {
  margin: 0 0 20px;
}

.topics_item_inner {
  margin: 0 0 20px;
}

.topics h2 {
  font-size: 3rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  color: #0a5aaa;
  padding: 0 0 1rem;
}

.topics h3 {
  border-bottom: solid 1px #0a5aaa;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: bold;
  color: #0a5aaa;
  margin: 0 0 2rem;
  padding: 0 0 1rem;
}

.topics h4 {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
  padding: 0 0 1rem;
}

.topics p {
  padding: 0 0 2rem;
}

.topics p span {
  font-weight: bold;
}

.topics .txt_center {
  text-align: center;
}

.topics .txt_right {
  text-align: right;
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .topics {
    margin: 30px 0 0;
  }

  .topics_inner {
    padding: 20px;
  }

  .topics_item:first-child {
    margin: 0;
  }

  .topics_item_inner {
    margin: 0;
  }

  .topics h2 {
    font-size: 1.8rem;
  }

  .topics h3 {
    font-size: 1.5rem;
    margin: 0 0 1rem;
    padding: 0 0 1rem;
  }

  .topics h4 {
    font-size: 1.4rem;
  }

}




/* 14. NEWS
-------------------------------------------------------------------- */

.news {
  text-align: center;
}

.news_inner {
  padding: 0 0 150px;
}

.news a {
  display: block;
  background: url("../img/common/icon_arrow_red.svg") no-repeat right 20px center;
  background-size: 28px;
  box-sizing: border-box;
  border: solid 3px #e50012;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: 0.02rem;
  color: #e50012;
  padding: 3rem 0;
}


/* MEDIA QUERIE 768px～ */
@media screen and (min-width: 768px) {

  .news a:hover {
    background: #e50012 url("../img/common/arrow_cta_btn.svg") no-repeat right 20px center;
    background-size: 28px;
    color: #fff;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .news_inner {
    padding: 0 0 100px;
  }

  .news a {
    font-size: 1.6rem;
  }

}




/* 15. CLEAN UP
-------------------------------------------------------------------- */

.cleanup {
  background: #ebf8fb;
}

.cleanup_inner {
  max-width: 1530px;
  padding: 80px 0 80px;
}


.cleanup_item ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.cleanup_item li {
  width: 31%;
  max-width: 470px;
  background-color: #FFF;
  padding: 1rem 1rem 2rem;
  border-radius: 8px;
  box-sizing: border-box;
}

.cleanup_item li figure img {
  width: 100%;
}

.cleanup_item h3 {
  font-size: 2rem;
  line-height: 1.4;
  color: #009dca;
  padding: 2rem 0 0;
  text-align: center;
}

.cleanup_item p {
  margin: 2rem 0 0;
}

.cleanup_caution {
  font-size: 1.3rem;
  text-align: end;
  margin-top: 1rem;
}

.cleanup_item h3 span {
  font-size: 1.6rem;
}

.cleanup_item h3 span:before {
  content: " ";
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 1024px) {

  .cleanup_ttl:before {
    background-size: 100%;
    max-width: 100%;
    height: auto;
  }


}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .cleanup_inner {
    padding: 80px 0;
  }

  .cleanup_ttl {
    font-size: 1.6rem;
  }


  .cleanup_item ul {
    display: block;
  }

  .cleanup_item li {
    width: 95%;
    max-width: 470px;
    margin: 0 auto 30px;
  }

  .cleanup_item p {
    margin: 1rem 0 0;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .cleanup_inner {
    padding: 50px 0 30px;
  }

}




/* 16. PREVENTION
-------------------------------------------------------------------- */

.prevention {
  text-align: center;
}

.prevention_inner {
  padding: 100px 0;
}


/* MEDIA QUERIE ～1024px */
@media screen and (min-width: 1024px) {

  .prevention a:hover {
    opacity: 0.7;
  }

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .prevention_inner {
    padding: 80px 0 0;
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .prevention_inner {
    padding: 30px 0;
  }

}




/* 17. VISIT
-------------------------------------------------------------------- */

.visit {
  background: url(../img/common/bg_visit.png) repeat center top;
}

.visit_inner {
  padding: 100px 0;
}

.visit_ttl {
  text-align: center;
  margin: 0 0 20px;
}

.visit_img {
  max-width: 980px;
  text-align: center;
  margin: 80px auto 0;
}

.visit_caution {
  text-align: center;
}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .visit_inner {
    padding: 50px 0;
  }

  .visit_ttl img {
    max-height: 17px;
  }

  .visit_img {
    margin: 30px auto 0;
  }

}




/* 18. POINT
-------------------------------------------------------------------- */

.point {
  background: #d9d9d9;
}

.point_inner {
  padding: 100px 0;
}

.point_ttl {
  margin: 0 0 30px;
}

.point_img:not(:last-child) {
  margin: 0 0 30px;
}

.point_img.renewal {
  padding: 1% 3% 4%;
  background: #c3aa9c;
}

.point .healthy_event {
  position: relative;
}

.point .healthy_event a {
  position: absolute;
  top: 20.5%;
  right: 4%;
  width: 25.3%;
  display: block;
}

/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .point_inner {
    width: 98%;
    padding: 20px 0;
    /* 一時的に余白を小さく（もとは50px 0）※221026追記 */
  }

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .point_ttl {
    margin: 0 0 20px;
  }

  .point_img:not(:last-child) {
    margin: 0 0 20px;
  }

}




/* 19. FIXED
-------------------------------------------------------------------- */

.fixed {
  height: 60px;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  z-index: 100;
}

.fixed ul {
  width: 100%;
  position: absolute;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-top: solid 2px #fff;
}

.fixed ul li {
  width: 50%;
  box-sizing: border-box;
}

.fixed li a {
  display: block;
  height: 60px;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.fixed_a a {
  background: #019fe8 url("../img/common/icon_arrow_right.svg") no-repeat;
  background-position: right 24px center;
  background-size: 9px 15px;
  border-right: solid 1px #fff;
}

.fixed_b a {
  background: #e50113 url("../img/common/icon_arrow_right.svg") no-repeat;
  background-position: right 24px center;
  background-size: 9px 15px;
  border-left: solid 1px #fff;
}


/* MEDIA QUERIE ～768px */
@media screen and (min-width: 768px) {

  .fixed li a:hover {
    opacity: 0.7;
  }

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

  .fixed li a {
    font-size: 1.3rem;
  }

  .fixed_a a {
    background-position: right 10px center;
    background-size: 7px 12px;
  }

  .fixed_b a {
    background-position: right 10px center;
    background-size: 7px 12px;
  }

}




/* 20. ALERT
-------------------------------------------------------------------- */

.alert {
  text-align: center;
}

.alert_inner {
  padding: 100px 0 0;
}

.alert a {
  display: block;
  background: #e50012 url("../img/common/arrow_cta_btn.svg") no-repeat right 34px center;
  width: 100%;
  font-size: 2.6rem;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 24px 0;
}


/* MEDIA QUERIE 768px～ */
@media screen and (min-width: 768px) {

  .alert a:hover {
    opacity: 0.7;
  }
}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  .alert_inner {
    padding: 30px 0 0;
  }

  .alert a {
    background: #E50012 url(../img/common/arrow_cta_btn.svg) no-repeat right 20px center;
    background-size: 28px;
    font-size: 1.6rem;
    padding: 20px 30px 20px 0;
    box-sizing: border-box;
  }

}

/* 21. OTHER
-------------------------------------------------------------------- */

#kids_swim {
  background: url(../img/change/ptn_dot.png);
}

/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

  #kids_swim {
    background-size: 27px;
  }

  #kids_swim .inner {
    padding: 30px 0;
  }

}