.hidden_box {display: none;}
.sp_container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 992px) {
  .sp_container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .sp_container {
    width: 980px;
  }
}
#sp_wrap {background: #fff;}
.sp_container ul {
  list-style: none;
  padding-left: 0;
}
.top_bg {
  background: url(images/main_bg.jpg) repeat-x;
  background-size: cover;
  background-position: left center;
}
.main_txt {
  background: #fff;
  border: solid #b73a87;
  padding: 5px 0;
  border-width: 10px 0 10px 0;
}
.bg_color_blue {
    background: #eaf3fd;
}
.sub_main {
  background: #eef3f7;
}
.point_wrap ul {margin-bottom: 0;}
#point {counter-reset: number 0;}
#point h2 {
  background-image: -moz-linear-gradient( 90deg, rgb(238,243,247) 0%, rgb(255,255,255) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(238,243,247) 0%, rgb(255,255,255) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(238,243,247) 0%, rgb(255,255,255) 100%);
  border-bottom: solid 2px #2face2;
  padding: .8em 0;
  margin: 0 -15px;
}
#point h2 span {margin-left: .6em;text-shadow: 0 1px 2px #666666b8;}
#point h2::before {
  counter-increment: number 1;
  content: "Point" counter(number) ;
  display: block;
  background-image: -moz-linear-gradient( 66deg, rgb(15,117,233) 0%, rgb(114,189,252) 100%);
  background-image: -webkit-linear-gradient( 66deg, rgb(15,117,233) 0%, rgb(114,189,252) 100%);
  background-image: -ms-linear-gradient( 66deg, rgb(15,117,233) 0%, rgb(114,189,252) 100%);
  color: #fff;
  width: 5em;
  text-align: center;
  padding: .1em 0;
  margin-bottom: .5em;
}
.sc_box h3 {color: #004acc;text-decoration: underline;background: #e7f7fc;padding: .2em .5em;margin-bottom: .5em !important;}
.sc_box h3 + p {padding-left: .5em;line-height: 1.5;}
.sc_box .pt_img p, .sc_box > div p span {color: #8c8c8c;margin-top: .2em;}
.sp_container .area_list h3 {
  background: #b73a87;
  color: #fff;
  text-align: center;
  border-radius: 5px 5px 0 0;
  padding: .5em;
  margin-bottom: 0 !important;
}
.sp_container .note {
  margin-bottom: 0;
}
.sp_container .note dt, .sp_container .note dd {
  margin-bottom: .5em;
}
.point_a h4, .point_a h5, .sc_box_b p {
  color: #248efb;
}
.sub_bg, .sub_bg + div {background: #fff;}
.sub_bg .main {
  overflow: hidden;
}
.sc_ttl {
  position: relative;
  padding: 1em 0 .2em 0;
  box-shadow: 0px 4px 2px -2px rgb(222, 222, 222);
  -webkit-box-shadow: 0px 4px 2px -2px rgb(222, 222, 222);
  -moz-box-shadow: 0px 5px 2px -2px rgb(222, 222, 222);
}
.point4 {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #fdd3da;
  padding: .5em !important;
  margin-top: 1em;
}
.more {cursor: pointer;}
.sp_container .area_list {margin-top: 1em;margin-bottom: 1em;}
.area_wrap ul {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}
.area_wrap {padding: 0 .5em;border: solid 2px #b73a87;border-top: 0;border-radius: 0 0 5px 5px;}
.club_list li {
  position: relative;
  border: solid 2px #c9c9c9;
  border-radius: 5px;
  margin-bottom: 1em;
  padding: 1em .5em;
}
.club_list li h4 {margin-bottom: .5em !important;}
.club_list li p {margin-bottom: 0;}
.club_list li a.btn {
  color: #fff;
  border-radius: 5px;
  background-image: -moz-linear-gradient( 90deg, rgb(59,62,199) 0%, rgb(133,166,249) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(59,62,199) 0%, rgb(133,166,249) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(59,62,199) 0%, rgb(133,166,249) 100%);
  position: absolute;
  top: .5em;
  right: .5em;
}
.club_list li a.btn:hover {opacity: .8;}
.club_info_wrap {
  border: solid 2px #c9c9c9;
  border-radius: 5px;
  margin-top: 1em;
  padding: .5em;
}
.club_info_wrap dl {margin-bottom: .5em;}
.club_info_wrap ul {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.club_info_wrap ul li {
  border-radius: 12px;
  background-image: -moz-linear-gradient( 90deg, rgb(175,175,176) 0%, rgb(218,218,218) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(175,175,176) 0%, rgb(218,218,218) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(175,175,176) 0%, rgb(218,218,218) 100%);
  color: #fff;
  text-align: center;
  padding: 1em 0 .5em 0;
}
.club_info_wrap ul li.have {
  background-image: -moz-linear-gradient( 90deg, rgb(76,166,242) 0%, rgb(108,182,238) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(76,166,242) 0%, rgb(108,182,238) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(76,166,242) 0%, rgb(108,182,238) 100%);
}
.club_info_wrap ul li::before {margin-bottom: .2em;}
.club_info_wrap ul li.icon_a::before {
  content: "";
  display: block;
  background: url(images/icon_a.png) no-repeat;
  width: 50px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_b::before {
  content: "";
  display: block;
  background: url(images/icon_b.png) no-repeat;
  width: 57px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_c::before {
  content: "";
  display: block;
  background: url(images/icon_c.png) no-repeat;
  width: 83px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_d::before {
  content: "";
  display: block;
  background: url(images/icon_d.png) no-repeat;
  width: 92px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_e::before {
  content: "";
  display: block;
  background: url(images/icon_e.png) no-repeat;
  width: 47px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_f::before {
  content: "";
  display: block;
  background: url(images/icon_f.png) no-repeat;
  width: 46px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_g::before {
  content: "";
  display: block;
  background: url(images/icon_g.png) no-repeat;
  width: 41px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_h::before {
  content: "";
  display: block;
  background: url(images/icon_h.png) no-repeat;
  width: 52px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_i::before {
  content: "";
  display: block;
  background: url(images/icon_i.png) no-repeat;
  width: 57px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.club_info_wrap ul li.icon_j::before {
  content: "";
  display: block;
  background: url(images/icon_j.png) no-repeat;
  width: 72px;
  height: 55px;
  background-size: contain;
  margin: 0 auto;
}
.link_color {color: #e72181;}
#club_modal_01 button.close, #club_modal_01 .modal-content .close:hover, #club_modal_01 .modal-content .close:focus {
  position: absolute;
  top: -.4em;
  right: -.4em;
  font-size: 26px;
  background: #b73a87;
  opacity: 1;
  color: #fff;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  z-index: 1;
}
.btn_wrap img:hover {
  opacity: .9;
}
.lambda .btn.btn-apply i {margin-left: .4em;}
.lambda .btn.btn-banner i {margin-right: .4em;}
.lambda .btn {
  display:inline-block;
  line-height:1.42;
  padding:0.5em 1.4em;
  font-weight:normal;
  border-width:3px;
  border-style:solid;
  background:transparent;
  border-radius:50px;
  cursor:pointer;
  font-family:"Booster Next FY", "Avenir Next", Avenir, sans-serif;
  user-select:none;
  vertical-align:bottom;
  text-shadow: 0px 2px 5px rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 18px #82818a;
}
.lambda .btn-apply {
  background-image: -moz-linear-gradient( 90deg, rgb(48, 82, 252) 0%, rgb(121, 222, 247) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(48, 82, 252) 0%, rgb(121, 222, 247) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(48, 82, 252) 0%, rgb(121, 222, 247) 100%);
  color:#fff;
  border-color:#fff;
}
.lambda .btn-banner {
  background-image: -moz-linear-gradient( 90deg, rgb(243,104,147) 0%, rgb(240,157,157) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(243,104,147) 0%, rgb(240,157,157) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(243,104,147) 0%, rgb(240,157,157) 100%);
  color:#fff;
  border-color:#fff;
  text-shadow: 0px 2px 4px #8a5163;
}
.m_lambda .btn {
  border-radius: 10px;
  background-color: rgb(183, 58, 135);
  box-shadow: 0px 3px 0px 0px #e995e1;
  color: #fff;
}
#bottom_btn {
  background: #eaf3fd;
}
@keyframes sizeScale {
    0% {
        transform :scale();
    }
    25% {
        transform :scale(1.02);
    }
    45% {
        transform :scale(1.04);
    }
    65% {
        transform :scale(1.05);
    }
    85% {
        transform :scale(1.04);
    }
    100% {
        transform :scale(1.02);
    }
}
.lambda .btn.mv_btn {
    animation-name: sizeScale;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}
@media (max-width:767px) {
  .sp_section {padding: 10px 0;}
  .bg_color_blue {padding-bottom: 30px;padding-top: 20px;}
  .main_txt {border-width: 5px 0 5px 0;}
  .point_wrap ul {margin-bottom: 1.2em;counter-reset: number 0;}
  .point_wrap ul:first-of-type {margin-top: 1.2em;}
  .point_wrap li {padding: .2em;margin-bottom: .5em;display: flex;align-items: center;}
  .point_wrap li a {font-size: 3.8vmin;color: #333;font-weight: bold;text-decoration: underline;}
  .point_wrap ul li::before {
    counter-increment: number 1;
    content: "Point" counter(number) ;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    justify-content: center;
    background: url(images/frame.png), #fff;
    background-repeat: no-repeat, repeat;
    border-radius: 50%;
    font-weight: bold;
    width: 60px;
    height: 60px;
    background-size: contain;
    margin-right: .5em;
  }
  #point h2 {padding-bottom: .5em;}
  #point h2::before {font-size: 1.2rem;}
  #point h2 span {font-size: 4.4vmin;}
  .sp_section .sc_box {margin: 1em 0 1.5em 0;}
  .sc_box h3 {font-size: 1.4rem;}
  .sc_box h3 + p {font-size: 1.2rem;}
  .sc_box .pt_img > div {text-align: center;background: #eef3f7;}
  .sc_box .pt_img img {width: 60%; height: auto; margin: 0 auto;}
  .sc_box .pt_img p, .sc_box > div p span {font-size: 1.0rem;}
  .club_list li p {font-size: 1.2rem;}
  .club_list li a.btn {
    font-size: 1.2rem;
    padding: .2em 1em;
  }
  .club_info_wrap dl dd {font-size: 1.2rem;}
  .club_info_wrap ul::after {
    content: "";
    display: inline-block;
    width: 32%;
  }
  .club_info_wrap ul li {width: 32%;font-size: 1.2rem;margin-bottom: .5em;}
  .club_info_wrap ul li.icon_a::before {
    width: 40px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_b::before {
    width: 47px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_c::before {
    width: 63px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_d::before {
    width: 72px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_e::before {
    width: 37px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_f::before {
    width: 36px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_g::before {
    width: 31px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_h::before {
    width: 42px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_i::before {
    width: 47px;
    height: 45px;
  }
  .club_info_wrap ul li.icon_j::before {
    width: 52px;
    height: 45px;
  }
  .sp_section .about {
    background: url(images/frame_lt.png), url(images/frame_rt.png), url(images/frame_lb.png), url(images/frame_rb.png);
    background-repeat: no-repeat;
    background-size: 70px;
    background-position: left top, right top, left bottom, right bottom;
    padding: 2em 2.4em 2em 2.6em;
  }
  .sp_container .note dt, .sp_container .note dd {
    font-size: 1.0rem;
  }
  .sp_section.point_a {padding: 0 0 1.0em 0;}
  .sp_section.search_area  {padding: 0 0 1.5em 0;}
  .sc_box_b p:nth-of-type(2) {margin-top: 1.5em;}
  .sc_box_b img.txt {margin-top: -1em;}
  .sp_section.point_a h2, .sp_section.search_area h2 {margin-bottom: .5em !important;}
  .sp_section.point_a h4, .sc_box_b p {font-size: 3vmin;}
  .sp_section.point_a h5 {
    margin-bottom: 0 !important;
  }
  .sc_box_b {margin-top: 1em;}
  .sc_ttl {padding: .5em 0 0 0;}
  div.sc_ttl img {width: 70%;}
  .area_wrap { padding: .5em;}
  .hidden_box_xs {display: none;}
  .lambda .btn {font-size: 5vmin;letter-spacing: .1em;border-width: 2px;box-shadow: 0 0 8px #82818a;padding: .8em .1em;display: block;border-radius: 50px;}
  .lambda .btn.btn-banner {font-size: 4vmin;padding: 1em .1em;margin-top: .5em;}
  #bottom_btn {
    position: fixed;
    bottom: -6em;
    left: 0;
    width: 100vw;
    padding: 1em 0 .5em 0;
    background: rgba(231, 247, 252, 0.8);
    z-index: 1000;
    /*display: none;*/
    transition: 1s ease 0s;
    -webkit-transition: 1s ease 0s;
  }
  header + header {padding-top: 0;}
}
@media (min-width:768px) {
  #bottom_btn {display: none;}
  .sp_section {padding: 20px 0;}
  .bg_color_blue {padding: 40px 0 40px 0;}
  .top_bg img {
    background-position: left center;
    box-shadow: 0 0 20px 0px #0000008c;
  }
  .point_wrap {margin: 50px 0 0 0;}
  .point_wrap ul {display: flex;display: -webkit-flex;justify-content: space-around;flex-wrap: wrap;margin-bottom: 20px;}
  .point_wrap .trim-image-to-circle {
      width:  220px;       /* ※縦横を同値に */
      height: 220px;       /* ※縦横を同値に */
      border-radius: 50%;  /* 角丸半径を50%にする(=円形にする) */
      display: inline-block;          /* 複数の画像を横に並べたい場合 */
      position: relative;
      font-size: 1.6rem;
      background-repeat: no-repeat;
      background-size: cover;
      overflow: hidden;
      margin-bottom: 1em;
  }
  .point_wrap .circle {position: relative;cursor: pointer;width: 33.33%;text-align: center;}
  .point_wrap .circle:hover {opacity: .8;}
  .point_wrap .circle::after {
    content: "";
    background: url(images/frame.png) no-repeat;
    display: inline-block;
    width: 240px;
    height: 240px;
    background-size: contain;
    position: absolute;
    left: 50%;
    top: -8px;
    margin-left: -120px;
  }
  .point_wrap .trim-image-to-circle div {
    text-align: center;
    position: absolute;
    bottom: 2em;
    width: 100%;
    padding: .5em;
    background: #fff;
  }
  .point_wrap .trim-image-to-circle a {color: #333;font-size: 1.6rem;font-weight: bold;}
  .point_wrap .trim-image-to-circle div span {display: block;text-align: right;color: #1632aa;margin-right: 3.2em;}
  .point_wrap .pt01 .trim-image-to-circle {
    background-image: url("images/pt01.jpg");
    background-position: left top;
  }
  .point_wrap .pt02 .trim-image-to-circle {
    background-image: url("images/pt02.jpg");
    background-position: center bottom 10px;
  }
  .point_wrap .pt03 .trim-image-to-circle {
    background-image: url("images/pt03.jpg");
    background-position: center top 10px;
  }
  .point_wrap .pt04 .trim-image-to-circle {
    background-image: url("images/pt04.jpg");
    background-position: center bottom 10px;
  }
  .point_wrap .pt05 .trim-image-to-circle {
    background-image: url("images/pt05.jpg");
    background-position: center bottom 10px;
  }
  .point_wrap .pt06 .trim-image-to-circle {
    background-image: url("images/pt06.jpg");
    background-position: center bottom 10px;
  }
  #point h2 span {font-size: 2.8rem;}
  #point .sc_box:nth-of-type(even) {flex-direction: row-reverse;}
  .sc_box {display: flex;justify-content: space-between;margin: 1em 0 2em 0;}
  .sc_box > div {width: 49%;}
  .sc_box h3 {font-size: 1.8rem;}
  .sc_box .pt_img img {width: 100%; height: auto;}
  .sc_box h3 + p {font-size: 1.6rem;}
  .sc_box > div p span {font-size: 1.4rem;}
  .club_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .club_list::after {
    content: "";
    display: inline-block;
    width: 32.5%;
  }
  .club_list li {width: 32.5%;}
  .club_info_wrap ul::after {
    content: "";
    display: inline-block;
    width: 19%;
  }
  .club_info_wrap ul li {width: 19%;margin-bottom: .5em;}
  #point h2 {
    position: relative;
  }
  #point h2::after {
    content: "";
    display: inline-block;
    background: url(images/flower.png) no-repeat;
    width: 150px;
    height: 119px;
    background-size: contain;
    position: absolute;
    right: 0px;
    top: -20px;
  }
  .sp_section.point_a {padding: 0 0 0 0;}
  .sp_section.point_a h4 {
    font-size: 2rem;
    margin-bottom: 1.5em !important;
  }
  .sp_section.point_a h5 {
    font-size: 2.6rem;
  }
  .sc_box_b p {font-size: 2rem;}
  .sp_container .note + .btn_wrap {padding: 2em 0;}
  .sc_box_b p:nth-of-type(2) {margin-top: 30px;}
  .sc_box_b img.txt {margin-top: -1.2em;}
  .sc_box_b {
    margin-top: 2em;
  }
  .sc_box_b .btn_wrap {padding-top: 1em;}
  dl.more_point dt, .flow li, .shop_info li p.fb {font-size: 2rem;}
  dl.more_point dd, .flow .flow_txt, .shop_info li p, .ac p, .about p,.intro_txt p {font-size: 1.6rem;line-height: 1.6;}
  .area_wrap {
    padding-top: 1em;
  }
  .club_info_wrap dl {font-size: 1.6rem;}
  .modal-dialog {width: 740px;}
  .lambda {padding: 1.5em 0;}
  .lambda .btn {font-size: 3.8rem;letter-spacing: .1em;width: 70%;}
  .lambda .btn.btn-banner {font-size: 3rem;padding: .8em 1em;}
  .lambda .btn:active {
    box-shadow:0 1px 4px -1px rgba(255, 255, 255, 0.1) inset, 0 6px 12px 1px rgba(0, 0, 0, 0.2), 0 6px 2px 1px rgba(0, 0, 0, 0.1), 6px 6px 12px 1px rgba(0, 0, 0, 0.05), -6px 6px 12px 1px rgba(0, 0, 0, 0.05), 4px 4px 2px 1px rgba(0, 0, 0, 0.07), -4px 4px 2px 1px rgba(0, 0, 0, 0.07), 6px 0 2px 1px rgba(255, 255, 255, 0.4), -6px 0 2px 1px rgba(255, 255, 255, 0.4), 6px 0 2px 1px rgba(0, 0, 0, 0.1), -6px 0 2px 1px rgba(0, 0, 0, 0.1), 4px -4px 2px 1px rgba(255, 255, 255, 0.8), -4px -4px 2px 1px rgba(255, 255, 255, 0.8), 0 -6px 12px 1px rgba(255, 255, 255, 0.9), 0 -6px 2px 1px rgba(255, 255, 255, 0.9), 0 0.6em 1em 0 rgba(0, 0, 0, 0.15) inset, 0 -0.6em 1em rgba(255, 255, 255, 0.15) inset;
  }
  .lambda .btn-apply:hover, .lambda .btn-apply:active {opacity: .8;}
  .lambda .btn-banner:hover, .lambda .btn-banner:active {opacity: .8;}
  .m_lambda .btn {font-size: 2.2rem;width: 60%;margin: .5em auto;}
  .m_lambda .btn:hover {opacity: .8;}
}
@media (min-width:992px) {
  .point_wrap .trim-image-to-circle a {
    font-size: 1.8rem;
  }
  .point_wrap {margin: 50px -36px 0 -36px;}
  .point_wrap .trim-image-to-circle {
      width:  300px;       /* ※縦横を同値に */
      height: 300px;       /* ※縦横を同値に */
      border-radius: 50%;  /* 角丸半径を50%にする(=円形にする) */
      display: inline-block;          /* 複数の画像を横に並べたい場合 */
      position: relative;
      font-size: 1.6rem;
      background-repeat: no-repeat;
      background-size: cover;
      overflow: hidden;
      margin-bottom: 1em;
  }
  .point_wrap .circle::after {
    content: "";
    background: url(images/frame.png) no-repeat;
    display: inline-block;
    width: 320px;
    height: 320px;
    background-size: contain;
    position: absolute;
    left: 50%;
    top: -8px;
    margin-left: -160px;
  }
  #point h2::after {
    content: "";
    display: inline-block;
    background: url(images/flower.png) no-repeat;
    width: 242px;
    height: 159px;
    background-size: contain;
    position: absolute;
    right: 5px;
    top: -20px;
  }
}
