html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
main {
  box-shadow: 0 0 0;
}
* {
  box-sizing: border-box;
}
a {
  text-decoration: none;
  color: #000000;
}
li {
  list-style: none;
}
body {
  background: rgba(249, 244, 233, 1);
  width: 100%;
  height: auto;
  font-family: sans-serif;
}
.rel {
  position: relative;
}
.ab {
  position: absolute;
}
.max {
  max-width: 1300px;
  margin: 0 auto;
}
.bold {
  font-weight: bold;
}
p, summary, a {
  font-size: 16px;
  letter-spacing: .1rem;
  font-weight: normal;
  line-height: 1.8rem;
}
h1 {
  font-size: 27px;
  letter-spacing: .1rem;
  font-weight: normal;
}
h2 {
  font-size: 25px;
  letter-spacing: .1rem;
  font-weight: normal;
}
h3 {
  font-size: 20px;
  letter-spacing: .1rem;
  font-weight: normal;
}
h4, h5, h6 {
  font-size: 15px;
  letter-spacing: .1rem;
  font-weight: normal;
}
@media screen and (min-width:1400px) {
  p, summary, a {
    font-size: 17px;
  }
}
@media screen and (max-width:1150px) {
  p, summary, a {
    font-size: 14px;
    line-height: 1.5rem;
  }
}
@media screen and (max-width:1050px) {
  p, summary, a {
    font-size: 13px;
  }
  h1 {
    font-size: 20px;
  }
  h2 {
    font-size: 19px;
  }
  h3 {
    font-size: 18px;
  }
  h4, h5, h6 {
    font-size: 17px;
  }
}
@media screen and (max-width:1050px) {
  p, summary, a {
    line-height: 1.3rem;
  }
}
@media screen and (max-width:900px) {
  p, summary, a {
    font-size: 15px;
    line-height: 1.4rem;
  }
  h1 {
    font-size: 19px;
  }
  h2 {
    font-size: 18px;
  }
  h3 {
    font-size: 17px;
  }
  h4, h5, h6 {
    font-size: 16px;
  }
}
@media screen and (max-width:650px) {
  p, summary, a {
    font-size: 13px;
    line-height: 1.5rem;
  }
  h1 {
    font-size: 17px;
  }
  h2 {
    font-size: 16px;
  }
  h3 {
    font-size: 15px;
  }
  h4, h5, h6 {
    font-size: 14px;
  }
}
@media screen and (max-width:500px) {
  p, summary, a {
    font-size: 13px;
    line-height: 1.4rem;
  }
  h1 {
    font-size: 16px;
  }
  h2 {
    font-size: 15px;
  }
  h3 {
    font-size: 14px;
  }
  h4, h5, h6 {
    font-size: 13px;
  }
}
@media screen and (max-width:400px) {
  p, summary, a {
    font-size: 13px;
  }
}
@media screen and (max-width:350px) {
  p, summary, a {
    font-size: 12px;
  }
}
/* aホバー下線 */
.a-hov, .a-hov-b, .a-hov-bb {
  position: relative;
}
.a-hov::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #fff;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.5s;
}
.a-hov-b::after {
  position: absolute;
  left: 0;
  content: '';
  width: 80%;
  height: 2px;
  background: #18C5B7;
  left: 10%;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.5s;
}
.a-hov-bb::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #5A5A5A;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.5s;
}
/* .a-hov-blu::after{position:absolute;left:0;content:'';width:100%;height:2px;background:#18C5B7;bottom:-1px;transform:scale(0, 1);transform-origin:left top;transition:transform 0.5s;} */
.a-hov:hover::after, .a-hov-b:hover::after, .a-hov-bb:hover::after {
  transform: scale(1, 1);
}
/* アプリトップ */
.app-top {
  width: 100%;
  margin:0 auto 0;
  overflow: hidden;
}
.a-p-name {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  margin: 0 auto;
}
.a-p-name-left, .a-p-name-right {
  width: 50%;
  text-align: right;
}
.a-p-name-right img{width:10%;}
.a-p-name p {
  text-align: left;
}
.a-p-name img {
  width: 10%;
  padding: .5rem;
  background: #fff;
  border-radius: 5vw;
}
.app-main.max{max-width:1400px;}
.app-main {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}
.app-main img {
  width: 25%;
}
.app-point-all {
  display: flex;
  justify-content: center;
  padding: 1rem .5rem;
  width: 55%;
  margin: 0 auto 5%;
  border-radius: 1vw;
  background: rgba(51, 239, 217, 1);
}
.a-p-chage a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background: #fff;
  border-radius: 5vw;
  margin: 0 auto;
}
.a-p-chage a::before {
  content: "";
  position: absolute;
  width: 15px;
  height: 1px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(110, 110, 110, 1);
}
.a-p-chage a::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 15px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(110, 110, 110, 1);
}
.a-p-chage p {
  font-size: 13px;
  color: rgba(110, 110, 110, 1);
  line-height: 0;
  padding-top: 1rem;
}
.app-point-all h3 {
  color: rgba(110, 110, 110, 1);
  margin: 0 5%;
  font-size: 16px;
}
.app-point-all h2 {
  color: rgba(82, 82, 82, 1);
  font-size: 24px;
  padding-top: 35px;
  line-height: 0;
}
.app-point-all span {
  font-size: 15px;
}
/* point-card overrides for shortcode layout */
.point-card .app-point-all {
  background: transparent;
  width: 100%;
  margin: 0;
  padding: 8px 4px;
  box-shadow: none;
  border-radius: 0;
}
.point-card .app-point-all h3 {
  margin: 0 12px;
}
.point-card .app-point-all h2 {
  padding-top: 0;
}
.point-card .a-p-chage {
  margin-right: 12px;
}
@media screen and (max-width:1200px) {
  .app-main img {
    width: 40%;
  }
}
@media screen and (max-width:950px) {
  .a-p-name p {
    font-size: 20px;
  }
  .a-p-name img {
    width: 15%;
  }
  .app-main img {
    width: 45%;
  }
  .app-point-all {
    width: 65%;
  }
}
@media screen and (max-width:800px) {
  .app-main img {
    width: 50%;
  }
  .app-point-all {
    width: 75%;
    margin: 5% auto;
  }
}
@media screen and (max-width:700px) {
  .a-p-name p {
    font-size: 17px;
  }
  .a-p-name img {
    width: 20%;
  }
  .app-point-all {
    width: 85%;
  }
}
@media screen and (max-width:600px) {
  .app-point-all {
    width: 90%;
  }
  .app-point-all h3 {
    font-size: 13px;
  }
  .app-point-all h2 {
    font-size: 20px;
  }
}
@media screen and (max-width:500px) {
  .a-p-name img {
    padding: .2rem;
    width: 25%;
  }
  .app-point-all {
    width: 95%;
  }
  .a-p-chage a {
    width: 25px;
    height: 25px;
  }
  .a-p-chage a::before {
    width: 10px;
  }
  .a-p-chage a::after {
    height: 10px;
  }
  .a-p-chage p {
    font-size: 10px;
    padding-top: .7rem;
  }
  .app-point-all h3 {
    font-size: 12px;
  }
  .app-point-all h2 {
    font-size: 18px;
  }
}
@media screen and (max-width:430px) {
  .app-main {
    margin: 8% auto 0;
  }
  .a-p-chage a {
    width: 22px;
    height: 22px;
  }
  .a-p-chage p {
    font-size: 7px;
  }
  .app-point-all h3 {
    font-size: 10px;
  }
  .app-point-all h2 {
    font-size: 16px;
  }
}
/*-------------------- フッター ----------------------*/
footer {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
}
.foo-contents {
  width: 55%;
  margin: 5% auto 10%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.f-con {
  margin: 2%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.f-con-2 img{opacity:.8;}
.f-con a {
  width: 130px;
  height: 130px;
  background: #fff;
  border-radius: .5vw;
  box-shadow: 2px 2px 6px rgb(187, 187, 187);
  display: flex;
  align-items: center;
}
.f-con a:hover {
  transition: all .1s;
  transform: translateY(4px);
  box-shadow: 1px 1px 1px rgb(187, 187, 187);
}
.f-con img {
  width: 40%;
  object-fit: cover;
}
.f-con a p {
  color: rgba(110, 110, 110, 1);
  font-size: 15px;
  margin-top: 10px;
}
@media screen and (max-width:1200px) {
  .foo-contents {
    width: 65%;
  }
}
@media screen and (max-width:1000px) {
  .foo-contents {
    width: 70%;
  }
}
@media screen and (max-width:950px) {
  .foo-contents {
    width: 85%;
  }
  .f-con a {
    width: 140px;
    height: 140px;
    border-radius: 1vw;
  }
  .f-con img {
    width: 30%;
  }
  .f-con a p {
    font-size: 17px;
  }
}
@media screen and (max-width:800px) {
  .foo-contents {
    width: 90%;
  }
  .f-con {
    margin: 1%;
  }
  .f-con img {
    width: 30%;
  }
  .f-con a p {
    font-size: 16px;
  }
}
@media screen and (max-width:700px) {
  .foo-contents {
    width: 95%;
    margin: 5% auto 15%;
  }
  .f-con a {
    width: 120px;
    height: 120px;
  }
  .f-con a p {
    font-size: 14px;
  }
}
@media screen and (max-width:600px) {
  .foo-contents {
    width: 100%;
  }
  .f-con a {
    width: 100px;
    height: 100px;
  }
  .f-con a p {
    font-size: 12px;
  }
}
@media screen and (max-width:500px) {
  .foo-contents {
    width: 100%;
    margin: 10% auto 20%;
  }
  .f-con {
    margin: 2% 1%;
  }
  .f-con a {
    width: 80px;
    height: 80px;
  }
  .f-con a p {
    font-size: 9px;
    margin-top: 0;
  }
}
@media screen and (max-width:430px) {
  .foo-contents {
    width: 90%;
  }
  .f-con a {
    width: 80px;
    height: 80px;
  }
  .f-con a p {
    font-size: 8px;
  }
}
@media screen and (max-width:390px) {
  .f-con a {
    width: 70px;
    height: 70px;
  }
}
.copy-right {
  position: relative;
}
.copy-right p {
  text-align: center;
  background: rgba(255, 224, 49, 1);
  color: rgba(110, 110, 110, 1);
  padding: .3rem 0;
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 99;
}
/* マップall */
.app-map1 {
  width: 100%;
  margin: 0% auto;
  overflow: hidden;
}
.a-p-mm {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 80%;
  margin: 0 auto 3%;
}
.a-p-mm-left, .a-p-mm-right {
  width: 50%;
  text-align:center;
}
.a-p-mm a {
  text-align: left;
  color: rgba(82, 82, 82, 1);
}
.a-p-mm img {
  width: 30%;
}
@media screen and (max-width:950px) {
  .a-p-mm {
    margin: 5% auto 3%;
  }
  .a-p-mm img {
    width: 40%;
  }
}
@media screen and (max-width:700px) {
  .a-p-mm a {
    font-size: 17px;
  }
  .a-p-mm img {
    width: 20%;
  }
}
@media screen and (max-width:700px) {
  .a-p-mm a {
    font-size: 17px;
  }
  .a-p-mm img {
    width: 50%;
  }
}
@media screen and (max-width:500px) {
  .a-p-mm a {
    font-size: 14px;
  }
}
/* --------------------------------------- mapページ1 ---------------- */
/* スライダー */
.a-mm-slider {
  width: 100%;
  margin: 0 auto;
}
.a-mm-sl {
  width: 70%;
  margin: 0 auto;
  background: #fff;
  height: 300px;
  border-radius: 2vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
}
/* 施設を探す */
.a-mm-search {
  width: 100%;
  margin: 5% auto;
}
.a-mm-search a {
  width: 70%;
  height: 250px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  background: #fff;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  border-radius: 2vw;
  background-image: url(../img/roten.jpeg);
  background-position: bottom;
  background-size: cover;
}
.a-mm-search p {
  position: relative;
  z-index: 9;
  font-size: 30px;
}
.a-mm-search a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 2vw;
}
.a-mm-search a:hover {
  transition: all .1s;
  transform: translateY(4px);
  box-shadow: 2px 2px 2px rgb(187, 187, 187);
}
/* サブスク入会 */
.a-mm-sub {
  width: 100%;
  margin: 5% auto;
}
.a-mm-sub a {
  width: 70%;
  height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  background: #fff;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  border-radius: 2vw;
  background-image: url(../img/sub.jpeg);
  background-position: center;
  background-size: cover;
}
.a-mm-sub p {
  position: relative;
  z-index: 9;
  font-size: 30px;
}
.a-mm-sub a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 2vw;
  z-index: 5;
}
.a-mm-sub a:hover {
  transition: all .1s;
  transform: translateY(4px);
  box-shadow: 2px 2px 2px rgb(187, 187, 187);
}
@media screen and (max-width:950px) {
  .a-mm-sl, .a-mm-search a, .a-mm-sub a {
    width: 85%;
  }
  .a-mm-sl {
    height: 260px;
  }
  .a-mm-search p, .a-mm-sub p {
    font-size: 22px;
  }
  .a-mm-search a {
    height: 200px;
  }
  .a-mm-sub a {
    height: 150px;
  }
}
@media screen and (max-width:700px) {
  .a-mm-sl, .a-mm-search a, .a-mm-sub a {
    width: 95%;
  }
  .a-mm-search p, .a-mm-sub p {
    font-size: 20px;
  }
  .a-mm-sl {
    height: 230px;
  }
  .a-mm-search a {
    height: 170px;
  }
  .a-mm-sub a {
    height: 120px;
  }
}
@media screen and (max-width:600px) {
  .a-mm-sl {
    height: 210px;
  }
  .a-mm-search a {
    height: 150px;
  }
  .a-mm-sub a {
    height: 100px;
  }
}
@media screen and (max-width:500px) {
  .a-p-mm img {
    width: 60%;
  }
  .a-mm-search p, .a-mm-sub p {
    font-size: 18px;
  }
  .a-mm-sl {
    height: 200px;
  }
  .a-mm-search a {
    height: 130px;
  }
  .a-mm-sub a {
    height: 80px;
  }
}
@media screen and (max-width:430px) {
  .a-mm-search p, .a-mm-sub p {
    font-size: 17px;
  }
  .a-mm-sl {
    height: 170px;
  }
  .a-mm-search a {
    height: 120px;
  }
  .a-mm-sub a {
    height: 70px;
  }
}
/* --------------------------------------- mapページ2 ---------------- */
.a-mm-area {
  width: 100%;
  margin: 0 auto;
}
.a-ar-sl {
  width: 70%;
  margin: 0 auto;
  padding: 2rem 1rem;
  background: #fff;
  border-radius: 2vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  text-align: left;
}
/* 施設を探す */
.login-n-contents p, .login-n-contents input {
  width: 80%;
  margin: 0% auto;
}
.login-n-contents p {
  text-align: left;
  color: rgba(25, 189, 183, 1);
}
.login-n-contents input {
  display: block;
  height: 3rem;
  margin-bottom: 1%;
  border: 1px solid rgba(181, 181, 181, 1);
  box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
  border-radius: .5vw;
  padding: 0 1rem;
}
.a-mm-map {
  width: 100%;
  margin: 5% auto;
}
.a-mm-map img {
  width: 70%;
  margin: 0 auto;
}
/* チェックボックス */
.login-n-check {
  width: 80%;
  margin: 0 auto;
  padding-top: 2%;
}
.login-n-check input[type=checkbox] {
  display: none;
}
.checkbox {
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
  user-select: none;
  font-weight: bold;
  color: rgba(25, 189, 183, 1);
}
.checkbox:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  height: 16px;
  width: 16px;
  margin-top: -8px;
  border-radius: 3px;
  background: #fff;
  border: 1px solid #aaa;
}
.checkbox:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  height: 9px;
  width: 5px;
  margin-top: -7px;
  border-right: 3px solid #2196f3;
  border-bottom: 3px solid #2196f3;
  opacity: 0;
  transform: rotate(45deg);
}
.login-n-check input[type=checkbox]:checked + .checkbox::after {
  opacity: 1;
}
.ss-sr {
  position: absolute;
  bottom: 2%;
  right: 10%;
}
.ss-sr a, .ss-sr button {
  background: rgba(25, 189, 183, 1);
  color: #fff;
  padding: .6rem 2rem;
  border-radius: 1vw;
  border: none;
  font-size: 1em;
}
@media screen and (max-width:950px) {
  .a-ar-sl, .a-mm-map img {
    width: 85%;
  }
  .checkbox {
    font-size: 13px;
  }
}
@media screen and (max-width:700px) {
  .a-ar-sl, .a-mm-map img {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .login-n-contents input {
    height: 2rem;
    margin-bottom: 3%;
  }
  .a-ar-sl, .a-mm-map img {
    width: 100%;
  }
  .login-n-contents p, .login-n-contents input {
    width: 90%;
  }
  .login-n-check {
    width: 90%;
  }
  .ss-sr {
    right: 5%;
  }
}
/* --------------------------------------- mapページ3 ---------------- */
.a-mm-area-after {
  width: 100%;
  margin: 0 auto;
}
.a-ar-sl-af {
  width: 70%;
  margin: 0 auto;
  background: #fff;
  border-radius: 2vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  text-align: left;
}
/* 施設を探す */
.area-content {
  padding: 2rem 0;
}
.area-content p {
  width: 80%;
  margin: 0% auto;
  text-align: left;
  color: rgba(25, 189, 183, 1);
}
.area-map {
  width: 100%;
}
.area-map img {
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width:950px) {
  .a-ar-sl-af {
    width: 85%;
  }
}
@media screen and (max-width:700px) {
  .a-ar-sl-af {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .a-ar-sl-af {
    width: 100%;
  }
  .area-content {
    padding: 1.5rem 0;
  }
  .area-content p {
    width: 90%;
  }
}
/* --------------------------------------- mapページ4 ---------------- */
.a-ser-area-after {
  width: 100%;
  margin: 0 auto;
}
.a-ser-sl-af {
  width: 70%;
  margin: 0 auto;
  padding: 2rem 0 0;
  background: #fff;
  border-radius: 2vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  text-align: left;
}
/* 施設を探す */
.area-cont-after {
  padding-bottom: 2rem;
}
.area-cont-after p {
  width: 80%;
  margin: 0% auto;
  text-align: left;
  color: rgba(25, 189, 183, 1);
}
.area-cont-after h4 {
  width: 70%;
  margin: 0 auto 1%;
  color: rgba(172, 172, 172, 1);
}
.area-map {
  width: 100%;
  text-align: center;
  line-height: 0;
}
.area-map img {
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width:950px) {
  .a-ser-sl-af {
    width: 85%;
  }
}
@media screen and (max-width:700px) {
  .a-ser-sl-af {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .a-ser-sl-af {
    width: 100%;
  }
  .area-cont-after {
    padding: 1.5rem 0;
  }
  .area-cont-after p {
    width: 90%;
  }
}
/* --------------------------------------- お知らせ一覧ページ1 ---------------- */
.app-news-archive {
  width: 100%;
  margin: 0 auto;
}
.a-news {
  width: 70%;
  margin: 0 auto;
  padding: 2rem;
  background: #fff;
  border-radius: 2vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  text-align: left;
}
.a-news p {
  border-bottom: 1px solid rgba(188, 188, 188, 1);
  margin-bottom: 3%;
  color: rgba(110, 110, 110, 1);
}
@media screen and (max-width:950px) {
  .a-news {
    width: 85%;
  }
}
@media screen and (max-width:700px) {
  .a-news {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .a-news {
    width: 100%;
  }
}
/* --------------------------------------- お知らせ投稿ページ ---------------- */
.app-news-content {
  width: 100%;
  margin: 0 auto;
}
.a-news-concon {
  width: 70%;
  margin: 0 auto;
  padding: 2rem;
  background: #fff;
  border-radius: 2vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  text-align: left;
}
.a-news-concon h4 {
  color: rgba(110, 110, 110, 1);
}
.a-news-concon p {
  margin: 5% auto;
  color: rgba(110, 110, 110, 1);
}
@media screen and (max-width:950px) {
  .a-news-concon {
    width: 85%;
  }
}
@media screen and (max-width:700px) {
  .a-news-concon {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .a-news-concon {
    width: 100%;
  }
}
/* --------------------------------------- 設定 ---------------- */
.app-setting {
  width: 100%;
  margin: 0 auto;
}
.a-set {
  width: 70%;
  margin: 0 auto;
}
.a-set p {
  margin: 3% auto;
  padding: 1rem 2rem;
  color: rgba(110, 110, 110, 1);
  text-align: left;
  background: #fff;
  border-radius: 1vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
}
.a-set p:hover {
  transition: all .2s;
  transform: translateY(3px);
  box-shadow: 1px 1px 2px rgb(187, 187, 187);
}
@media screen and (max-width:950px) {
  .a-set {
    width: 85%;
  }
}
@media screen and (max-width:700px) {
  .a-set {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .a-set {
    width: 100%;
  }
  .a-set p {
    border-radius: 2vw;
    padding: .8rem 1.7rem;
  }
}
/* --------------------------------------- メールアドレス変更 ---------------- */
.app-setting-mail {
  width: 100%;
  margin: 0 auto;
}
.a-set-mail {
  width: 70%;
  margin: 0 auto;
  padding: 2rem;
  color: rgba(110, 110, 110, 1);
  text-align: left;
  background: #fff;
  border-radius: 1vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
}
/* .a-set-mail p{margin:auto;} */
.a-set-mail input {
  width: 70%;
  margin: 2% auto 5%;
  display: block;
  height: 2.5rem;
  border: 1px solid rgb(95, 95, 95);
  border-radius: 2vw;
  padding: 0 1rem;
  font-size: 17px;
}
.a-set-submit {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.a-set-submit a, .a-set-submit button {
  background: rgba(78, 255, 214, 1);
  color: rgba(110, 110, 110, 1);
  padding: .7rem 2rem;
  border-radius: 2vw;
  font-size: 17px;
  border: none;
  font-weight: bold;
}
@media screen and (max-width:950px) {
  .a-set-mail {
    width: 85%;
  }
}
@media screen and (max-width:700px) {
  .a-set-mail {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .a-set-mail {
    width: 100%;
  }
  .a-set-mail input {
    width: 90%;
    margin: 2% auto 10%;
  }
}
/* --------------------------------------- メールアドレス変更完了 ---------------- */
.app-setting-mail-ok {
  width: 100%;
  margin: 0 auto;
}
.a-set-mail-ok {
  width: 70%;
  margin: 0 auto;
  padding: 2rem;
  color: rgba(110, 110, 110, 1);
  text-align: center;
  background: #fff;
  border-radius: 1vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
}
@media screen and (max-width:950px) {
  .a-set-mail-ok {
    width: 85%;
  }
}
@media screen and (max-width:700px) {
  .a-set-mail-ok {
    width: 95%;
  }
}
@media screen and (max-width:500px) {
  .a-set-mail-ok {
    width: 100%;
  }
}
/* --------------------------------------- お気に入り施設 ---------------- */
.favorite-main {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
.a-fa-area {
  width: 100%;
  margin: 0 auto;
}
.a-fa-sl {
  width: 70%;
  margin: 0 auto;
  padding: 2rem 1rem;
  background: #fff;
  border-radius: 2vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  text-align: left;
}
.a-fa-title {
  width: 90%;
  margin: 0 auto 5%;
  color: rgba(110, 110, 110, 1);
}
.favo-contents {
  margin: 10% auto;
}
.favo-contents p {
  text-align: left;
  color: rgba(110, 110, 110, 1);
}
.favo-cont {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3% auto;
}
.favo-left, .favo-right {
  width: 50%;
}
.favo-left {
  text-align: right;
}
.favo-left a:hover {
  transition: all .2s;
  opacity: .6;
}
.favo-left img {
  width: 80%;
}
.favo-right p {
  display: flex;
  justify-content: center;
}
.nav-links {
  padding: 0;
  display: flex;
  justify-content: center;
}
.nav-links a, .nav-links span {
  margin: 5% 2%;
  line-height: 10px;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  background: #fff;
  color: rgba(110, 110, 110, 1);
  transition: .3s;
}
.nav-links a:hover {
  opacity: .5;
}
.nav-links .current {
  opacity: .5;
}
.dots {
  background: none;
}
@media screen and (max-width:950px) {
  .a-fa-sl {
    width: 90%;
  }
}
@media screen and (max-width:800px) {
  .a-fa-sl {
    width: 100%;
  }
}
@media screen and (max-width:500px) {
  .favo-cont {
    margin: 7% auto;
  }
  .favo-left img {
    width: 90%;
  }
  .nav-links a, .nav-links span {
    margin: 5% 2% 0;
    font-size: 13px;
  }
}
/* --------------------------------------- お気に入り施設情報 ---------------- */
.favorite-info-main {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
.a-fa2-area {
  width: 70%;
  margin: 0 auto;
  text-align: left;
}
.tab-2 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.tab-2 > label {
  flex: 1 1;
  order: -1;
  opacity: 1;
  min-width: 70px;
  border-radius: 5px 5px 0 0;
  padding: .6em 1em;
  color: rgba(110, 110, 110, 1);
  font-size: .9em;
  text-align: center;
  cursor: pointer;
}
.tab-2 > .tab11 {
  background: rgba(255, 255, 255, 1);
}
.tab-2 > .tab22 {
  background: rgba(228, 255, 244, 1);
}
.tab-2 > .tab33 {
  background: rgba(201, 231, 255, 1);
}
.tab-2 > label:hover {
  opacity: .6;
}
.tab-2 input {
  display: none;
}
.tab-2 > div {
  display: none;
  width: 100%;
  padding: 1.5rem 0;
  border-radius: 0 0 5px 5px;
  box-shadow: 4px 10px 10px rgb(187, 187, 187);
  background: #fff;
}
.tab-2 label:has(:checked) {
  opacity: 1;
}
.tab-2 label:has(:checked) + div {
  display: block;
}
.a-fa2-up {
  padding: 1rem;
}
.a-fa2-title {
  width: 90%;
  margin: 0 auto 5%;
  color: rgba(110, 110, 110, 1);
}
.a-fa2-up p {
  color: rgba(51, 239, 217, 1);
}
.a-fa2-sl img {
  width: 100%;
}
.a-fa2-sl {
  border-radius: 5px;
}
.a-fa22-sl {
  padding: 2rem 1rem;
}
.a-fa-map a {
  display: flex;
  justify-content: left;
  align-items: center;
  width: 30%;
  color: rgba(51, 239, 217, 1);
}
.a-fa-map img {
  width: 15%;
}
.a-fa-aa {
  width: 60%;
  margin: 0 auto;
  text-align: center;
}
.a-fa-aa a, .a-fa-aa button,.review-button {
  font-size: 18px;
  display: inline-block;
  width: 100%;
  margin: 3% auto;
  padding: 1rem;
  border-radius: 1vw;
  color: #fff;
  background: rgb(40, 213, 192);
  border: 1px solid rgb(40, 213, 192);
}
.a-fa-aa a:hover, .a-fa-aa button:hover {
  color: rgb(40, 213, 192);
  background: #fff;
}
.a-fa-contents {
  padding: 2rem 2rem;
}
.a-fa-review {
  padding: 2rem 1rem;
  margin: 0 auto;
  text-align: center;
  width: 70%;
}
.a-fa-review a {
  font-size: 20px;
  display: inline-block;
  width: 100%;
  margin: 3% auto;
  padding: 1rem;
  border-radius: 1vw;
  color: #fff;
  background: rgb(40, 213, 192);
  border: 1px solid rgb(40, 213, 192);
}
.a-fa-review a:hover {
  color: rgb(40, 213, 192);
  background: #fff;
}
.a-fa-number {
  padding: 1rem;
  margin: 0 auto;
  text-align: center;
}
.a-fa-number p, .a-fa-number a {
  text-align: left;
}
.a-fa-number p {
  font-size: 20px;
  display: inline-block;
  width: 100%;
  color: rgb(40, 213, 192);
}
.a-fa-number a {
  font-size: 19px;
  line-height: 2rem;
  display: inline-block;
  width: 70%;
  margin: 3% auto;
  padding: 1rem;
  border-radius: 1vw;
  color: #fff;
  background: rgb(40, 213, 192);
  border: 1px solid rgb(40, 213, 192);
}
.a-fa-number a:hover {
  color: rgb(40, 213, 192);
  background: #fff;
}
@media screen and (max-width:1100px) {
  .a-fa-map a {
    width: 35%;
  }
}
@media screen and (max-width:950px) {
  .a-fa2-area {
    width: 80%;
  }
  .a-fa-map a {
    width: 45%;
  }
  .a-fa-aa a {
    font-size: 16px;
    padding: .7rem 1rem;
  }
  .a-fa-review {
    padding: 1rem;
  }
  .a-fa-review a {
    font-size: 16px;
    padding: .7rem 1rem;
    margin: 0% auto;
  }
  .a-fa-number p, .a-fa-number a {
    font-size: 16px;
  }
  .a-fa-number a {
    padding: .7rem 1rem;
  }
}
@media screen and (max-width:800px) {
  .a-fa-review {
    width: 80%;
  }
  .a-fa-number a {
    width: 80%;
  }
}
@media screen and (max-width:700px) {
  .favorite-info-main {
    width: 80%;
  }
  .a-fa2-area {
    width: 100%;
  }
  .a-fa-aa a {
    font-size: 14px;
  }
  .a-fa-review a {
    font-size: 14px;
  }
  .a-fa-number p, .a-fa-number a {
    font-size: 14px;
  }
  .a-fa-number a {
    width: 85%;
  }
}
@media screen and (max-width:500px) {
  .a-fa22-sl {
    padding: 1rem;
  }
  .a-fa-map a {
    width: 60%;
  }
  .a-fa-map img {
    width: 10%;
  }
  .a-fa-aa {
    width: 70%;
  }
  .a-fa-aa a {
    padding: .5rem 1rem;
    margin: 2% auto;
  }
  .a-fa-review {
    width: 90%;
  }
  .a-fa-number a {
    width: 85%;
  }
}
@media screen and (max-width:430px) {
  .tab-2 > label {
    font-size: 13px;
  }
  .a-fa-aa {
    width: 80%;
  }
  .a-fa-review {
    width: 100%;
  }
  .a-fa-review a {
    font-size: 13px;
  }
  .a-fa-number p, .a-fa-number a {
    font-size: 13px;
  }
  .a-fa-number a {
    width: 90%;
    line-height: 1.5rem;
  }
}
/* --------------------------------------- サブスク入会 ---------------- */
.subsc {
  width: 85%;
  margin: 0 auto 5%;
  overflow: hidden;
}
.subsc-bulk {
  width: 85%;
  margin: 5% auto;
  overflow: hidden;
}
.subsc-top, .su-bulk-top {
  width: 100%;
  margin: 0 auto;
}
.subsc-top h1, .subsc-top p, .su-bulk-top h1, .su-bulk-top p {
  color: rgba(82, 82, 82, 1);
}
.subsc-top h1, .su-bulk-top h1 {
  text-align: center;
}
.subsc-top p, .su-bulk-top p {
  width: 80%;
  margin: 5% auto;
}
.subsc-main {
  width: 80%;
  margin: 3% auto;
  background: rgba(255, 255, 255, 1);
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  padding: 2rem;
}
.subsc-main h2, .subsc-main p {
  color: rgba(82, 82, 82, 1);
}
.subsc-main p {
  width: 70%;
  margin: 3% auto;
}
.subsc-main p span {
  color: rgba(219, 75, 75, 1);
}
.kome {
  color: rgba(82, 82, 82, 1);
  width: 80%;
  margin: 1% auto;
}
@media screen and (max-width:700px) {
  .subsc-top h1, .su-bulk-top h1 {
    font-size: 22px;
  }
  .subsc-top p, .subsc-main, .kome, .su-bulk-top p {
    width: 90%;
  }
}
@media screen and (max-width:500px) {
  .subsc-top h1, .su-bulk-top h1 {
    font-size: 20px;
  }
  .subsc-main {
    padding: 1rem;
    margin: 10% auto;
  }
  .subsc-top p, .su-bulk-top p {
    margin: 10% auto;
  }
  .subsc-main p {
    width: 75%;
  }
}
@media screen and (max-width:430px) {
  .subsc-top p, .subsc-main, .kome, .su-bulk-top p {
    width: 100%;
  }
  .kome {
    font-size: 10px;
  }
}
.subsc-plan, .bulk-plan {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: rgba(160, 230, 222, 1);
}
.subsc-plan h1, .bulk-plan h1 {
  text-align: center;
  color: rgba(82, 82, 82, 1);
  margin: 5% auto;
}
.sub-plan, .bu-plan {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    padding: 2rem;
    margin: 3% auto;
    background-image: url(../img/shop-logo2.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 70px auto;
	
}
/* /////////////////////// */

.sub-yu-plan, .sub-pu-plan, .bulk-yu-plan, .bulk-pu-plan {
    color: #fff;   
}
.sub-yu-plan a, .sub-pu-plan a, .bulk-yu-plan a, .bulk-pu-plan a,.sub-hu-plan a, .sub-ze-plan a, .bulk-hu-plan a, .bulk-ze-plan a {
	background: rgb(25, 189, 183);
    display: block;
	width: 100%;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    border: 2px solid rgba(252,252,252,1.00);
    color: #fff;
}
.sub-yu-plan a p, .sub-pu-plan a p, .bulk-yu-plan a p, .bulk-pu-plan a p,.sub-hu-plan a p, .sub-ze-plan a p, .bulk-hu-plan a p, .bulk-ze-plan a p  {
	font-size: 1.6em!important;
	 color: #fff;
}
.sub-hu-plan, .sub-ze-plan, .sub-hu-plan a, .sub-ze-plan a, .bulk-hu-plan, .bulk-ze-plan, .bulk-hu-plan a, .bulk-ze-plan a {
  color: rgba(105, 105, 105, 1);
}
.sub-yu-plan, .bulk-yu-plan {
  background-color: rgba(229, 159, 121, 1);
}
.sub-hu-plan, .bulk-hu-plan {
  background-color: rgba(229, 229, 121, 1);
}
.sub-ze-plan, .bulk-ze-plan {
  background-color: rgba(238, 178, 179, 1);
}
.sub-pu-plan, .bulk-pu-plan {
  background-color: rgba(49, 187, 211, 1);
}
.sub-yu-left {
    border-bottom: 2px solid rgba(255,255,255,1.00);
	padding-bottom: 5px;
}
.sub-yu-left, .bulk-yu-left {
  width: 100%;
}
.sub-yu-right, .bulk-yu-right {
  width: 90%;
}
.sub-yu-right > div, .bulk-yu-right > div {
	margin: 0 auto;
	display: table;
}
.sub-yu-right span.set, .bulk-yu-right span.set {
  display: block;
	font-size: .6em;
	
}
.sub-yu-left, .bulk-yu-left {
  text-align: center;
	
}
.sub-title2, .bulk-title2 {
  display: none;
}
.sub-yu-left h5, .bulk-yu-left h5 {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  margin: 3% auto 0;
  background-image: url(../img/Group154.png);
  background-size: cover;
}
.s-r, .b-r {
  display: flex;
  align-items: baseline;
  margin: 2% auto;
	width: auto;
	gap:100px;
}
.s-r h3, .b-r h3 {
  font-size: 25px;
	white-space: nowrap;
	width: 100%;
	text-align: right;
}
.s-r p, .b-r p {
	white-space: nowrap;
}
.s-r span, .b-r span {
  font-size: 20px;
}
.addition-area{
	background-color: rgb(189, 254, 248);
	display: flex;
	padding: 1em;
	gap:40px;
	justify-content: center;
	border-radius: 10px;
	
}
.addition-area  a{
	background: rgb(25, 189, 183);
    display: block;
	width: 100%;
	height: 100%;
    padding: 10px 20px;
    border-radius: 10px;
    text-align: center;
    border: 2px solid rgba(252,252,252,1.00);
	display: flex;
	align-items: center;
	color: white;
}
.addition-area p{
	margin: 0px;
	white-space: nowrap;
}
.addition-area > div div{
	display: flex;
	gap:10px;
	width: 100%;
	align-items: baseline;
}
 .addition-area h3 {
  font-size: 25px;
	white-space: nowrap;
	width: 100%;
	text-align: right;
	 font-weight: bold;
}
 .addition-area h3 span.set {
  font-size: .6em;
	 display: block;
	
}

@media screen and (max-width:900px) {
  .sub-plan, .bu-plan {
    width: 70%;
  }
}
@media screen and (max-width:700px) {
  .subsc-plan, .bulk-plan {
    padding-bottom: 10%;
  }
  .subsc-plan h1, .bulk-plan h1 {
    font-size: 22px;
  }
  .sub-plan, .bu-plan {
    width: 80%;
  }
  .sub-yu-left h5, .bulk-yu-left h5 {
    width: 110px;
    height: 110px;
  }
  .s-r h3, .b-r h3 {
    font-size: 21px;
  }
}
@media screen and (max-width:600px) {
  .sub-yu-left, .bulk-yu-left {
    text-align: left;
  }
  .sub-yu-left h5, .bulk-yu-left h5 {
    margin: 3% 0 0;
  }
  .sub-yu-left, .bulk-yu-left {
    width: 45%;
  }
  .sub-yu-right, .bulk-yu-right {
    width: 55%;
  }
}
@media screen and (max-width:500px) {
  .subsc-plan h1, .bulk-plan h1 {
    font-size: 20px;
  }
  .sub-plan, .bu-plan {
    width: 85%;
    padding: 1rem;
    justify-content: left;
  }
  .sub-title1, .bulk-title1 {
    display: none;
  }
  .sub-title2, .bulk-title2 {
    display: block;
    font-size: 20px;
  }
  .sub-yu-left, .bulk-yu-left {
    text-align: center;
  }
  .sub-yu-left h5, .bulk-yu-left h5 {
    margin: 3% auto 0;
  }
  .s-r span, .b-r span {
    font-size: 13px;
  }
}
@media screen and (max-width:430px) {
  .sub-yu-left, .bulk-yu-left {
    width: 35%;
  }
  .sub-title2, .bulk-title2 {
    font-size: 18px;
  }
  .sub-yu-left h5, .bulk-yu-left h5 {
    width: 80px;
    height: 80px;
  }
  .sub-yu-right, .bulk-yu-right {
    width: 65%;
  }
  .s-r, .b-r {
    margin: 4% auto;
  }
  .s-r h3, .b-r h3 {
    margin-left: 10%;
  }
  .s-r p, .b-r p {
    font-size: 11px;
  }
  .s-r span, .b-r span {
    font-size: 10px;
  }
}
@media screen and (max-width:370px) {
  .sub-plan, .bu-plan {
    width: 90%;
  }
}
/* --------------------------------------- 利用規約 ---------------- */
.app-conditions {
  width: 70%;
  margin: 0 auto;
  padding: 2rem;
  color: rgba(110, 110, 110, 1);
  text-align: left;
  background: #fff;
  border-radius: 1vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
}
.app-conditions h1 {
  color: rgba(86, 86, 86, 1);
  font-size: 22px;
}
.condi-all {
  margin: 5% auto;
  color: rgba(86, 86, 86, 1);
}
.condi-all h3 {
  font-size: 18px;
  margin-bottom: 2%;
}
.condi-number {
  margin: 0% 0 2% 5%;
  width: 95%;
}
.condi-number li {
  position: relative;
  list-style: decimal;
}
.condi-ten li {
  list-style: none;
}
@media screen and (max-width:1100px) {
  .app-conditions {
    width: 85%;
  }
}
@media screen and (max-width:950px) {
  .app-conditions h1 {
    font-size: 20px;
  }
  .condi-all h3 {
    font-size: 17px;
  }
  .condi-all p, .condi-number li, .condi-ten li {
    font-size: 14px;
  }
}
@media screen and (max-width:700px) {
  .app-conditions {
    width: 100%;
  }
  .app-conditions h1 {
    font-size: 18px;
  }
  .condi-all h3 {
    font-size: 15px;
  }
  .condi-all p, .condi-number li, .condi-ten li {
    font-size: 13px;
    line-height: 1.2rem;
  }
}
@media screen and (max-width:500px) {
  .app-conditions {
    padding: 1.5rem;
  }
  .app-conditions h1 {
    font-size: 16px;
  }
  .condi-all h3 {
    font-size: 14px;
  }
  .condi-all p, .condi-number li, .condi-ten li {
    font-size: 12px;
  }
  .condi-number {
    margin: 0% 0 2% 3%;
  }
}
/* --------------------------------------- プライバシーポリシー ---------------- */
.app-privacy {
  width: 70%;
  margin: 0 auto;
  padding: 2rem;
  color: rgba(110, 110, 110, 1);
  text-align: left;
  background: #fff;
  border-radius: 1vw;
  box-shadow: 4px 4px 10px rgb(187, 187, 187);
  color: rgba(86, 86, 86, 1);
}
.app-privacy h1 {
  color: rgba(86, 86, 86, 1);
  font-size: 22px;
}
.pri-p {
  margin: 5% auto 8%;
}
.pripri-2, .pripri-3, .pripri-4, .pripri-5, .pripri-6, .pripri-7, .pripri-8 {
  margin: 10% auto;
}
.priv-all {
  margin: 0 auto 5%;
}
@media screen and (max-width:1100px) {
  .app-privacy {
    width: 85%;
  }
}
@media screen and (max-width:950px) {
  .app-privacy h1 {
    font-size: 20px;
  }
  .priv-com {
    font-size: 14px;
  }
}
@media screen and (max-width:700px) {
  .app-privacy {
    width: 100%;
  }
  .app-privacy h1 {
    font-size: 18px;
  }
  .priv-com {
    font-size: 13px;
    line-height: 1.2rem;
  }
}
@media screen and (max-width:500px) {
  .app-privacy {
    padding: 1.5rem;
  }
  .app-privacy h1 {
    font-size: 16px;
  }
  .priv-com {
    font-size: 12px;
  }
}
/* --------------------------------------- 特定商取引法に基づく表記 ---------------- */
.condi-all p {
  margin: -2% 0 0 5%;
}
/* --------------------------------------- 運営会社情報 ---------------- */
.condi-all table {
  width: 100%;
}
.condi-all th, .condi-all td {
  font-weight: normal;
  padding: 1% 0;
}
@media screen and (max-width:500px) {
  .condi-all table {
    text-align: center;
  }
  .condi-all th, .condi-all td {
    display: block;
    padding: 2% 0;
  }
  .condi-all th {
    text-align: left;
  }
  .condi-all td {
    display: inline-block;
    text-align: left;
  }
}

.tab-content-panel.bg-blue {
background: rgba(201, 231, 255, 1)!important;
}
.tab-content-panel.bg-green {
background: rgba(228, 255, 244, 1)!important;
}

/* フォーム全体のラッパー */
.custom-contact-form {
    max-width: 500px; /* PCでの最大幅 */
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
    text-align: left;
}

/* ラベルのスタイル */
.custom-contact-form label {
    display: block;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 8px;
    color: #333;

}

/* テキスト入力欄、テキストエリアの共通スタイル */
.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px; /* 角を丸くする */
    background-color: #fff;
    font-size: 16px;
    box-sizing: border-box;
}

/* 入力欄のフォーカス時のスタイル */
.custom-contact-form input:focus,
.custom-contact-form textarea:focus {
    outline: none;
    border-color: #00C4B3; /* デザインのボタン色に合わせる */
    box-shadow: 0 0 5px rgba(0, 196, 179, 0.5);
}

/* --- ★5段階評価のスタイル (Aのフォームを使用する場合) --- */
.star-rating .wpcf7-list-item {
    display: inline-block;
    margin: 0;
}
.star-rating {
    display: flex;
    flex-direction: row-reverse; /* 星を右から左へ並べるトリック */
    justify-content: flex-end; /* 右詰めで表示 */
}

/* ラジオボタン自体は非表示に */
.star-rating input[type="radio"] {
    display: none;
}

/* 星（ラベル）のスタイル */
.star-rating label {
    font-size: 2.5em; /* 星の大きさ */
    color: #ddd; /* デフォルトの星の色 */
    cursor: pointer;
    margin: 0 2px !important;
    padding: 0;
    transition: color 0.2s;
}

/* ホバーした星とその左側の星の色を変える */
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: #ffcc00; /* ホバー時の色 */
}

/* 選択されたラジオボタンより左側の星の色を変える */
.star-rating input[type="radio"]:checked ~ label {
    color: #ffcc00; /* 選択後の色 */
}

/* --- 送信ボタンのスタイル --- */
.custom-contact-form .form-submit {
    text-align: center;
    margin-top: 30px;
}
.custom-contact-form input[type="submit"],.custom-contact-form input[type="button"] {
    width: 100%;
    padding: 15px 20px;
    border: none;
    border-radius: 8px;
    background-color: #00C4B3; /* デザインのボタン色 */
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s;
}

/* 送信ボタンのホバーエフェクト */
.custom-contact-form input[type="submit"]:hover {
    background-color: #00a091; /* 少し暗い色に */
}

/* Contact Form 7が生成するエラーや成功メッセージのスタイル調整 */
.wpcf7-response-output {
    border-radius: 8px;
    padding: 15px !important;
    margin: 20px 0 !important;
}
.toyutoyu-notification-link{
  position: relative;
}
.toyutoyu-notification-link .notification-badge{
  position: absolute;
  background-color: red;
  right: 0;
  width: .8em;
  height: .8em;
  border-radius: 50%;
  z-index: 10;
}
.toyutoyu-new-badge{
  background-color: red;
  color: #fff;
  font-size: .8em;
  padding: 0.3em .5em;
  display: inline-block;
  line-height: 100%;
}
/* テーマのCSSに含まれている可能性のあるルールの例 */

/* 全てのtextareaの高さを自動で調整するようにする */
textarea {
  resize: vertical; /* 縦方向のリサイズを許可 */
}

/* または、特定のクラスを持つtextareaの高さを固定する */
.wpcf7-form-control-wrap textarea{
  height: 200px; /* 例えば高さを200pxに固定 */
  min-height: 150px; /* 最小の高さを指定 */
}
.wpcf7-spinner{
  display: none !important;
}

.a-p-point{
	display: flex;
	flex-direction: column;
	gap:20px;
}
.a-p-point div{
	display: flex;
}
.a-p-point h3{
	width: 12em;
	white-space: nowrap;
	text-align: left;
}
#quantity_input{
	display: none;
}

/* ===== Home (Top) custom styles ===== */
.home-hero { width: 100%; margin: 0 auto 16px; }
.home-hero img { width: 100%; height: auto; border-radius: 12px; object-fit: cover; }

.point-card { position: relative; width: 92%; max-width: 560px; margin: 12px auto 20px; padding: 16px; background: #fff; border-radius: 14px; border: 2px solid rgba(0,0,0,0.18); }
.point-card .point-logo { position: absolute; right: 12px; top: 12px; width: 72px; height: auto; }

/* ===== Home (Top) actions tile refine ===== */
.actions-grid { 
  display: grid; 
  grid-template-columns: repeat(2, minmax(0, 1fr)); 
  gap: 18px; 
  width: 92%; 
  max-width: 560px; 
  margin: 0 auto 28px; 
}
.action-btn { 
  display: flex; 
  flex-direction: column; 
  justify-content: space-between; 
  align-items: center; 
  padding: 18px 16px; 
  border-radius: 22px; 
  min-height: 140px; 
  aspect-ratio: 1 / 1; 
  color: #fff; 
  text-align: center; 
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.actions-grid .action-btn:nth-child(1){ 
  /* ポイント追加：ブルー→エメラルド */
  background: linear-gradient(135deg, #0aa2c0 0%, #00b4c6 35%, #0ec2b6 70%, #1dbbb7 100%);
}
.actions-grid .action-btn:nth-child(2){ 
  /* ポイント支払う：レッド→オレンジ */
  background: linear-gradient(135deg, #ff4d5a 0%, #ff6b4a 50%, #ff8c2e 100%);
}
.action-btn img { 
  width: 72px; 
  height: 72px; 
  object-fit: contain; 
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.12)); 
}
.action-btn span { 
  display: block; 
  color: #fff; 
  font-weight: 700; 
  letter-spacing: .06em; 
  font-size: 15px; 
}
@media (max-width: 480px) {
  .action-btn { min-height: 120px; border-radius: 20px; }
  .action-btn img { width: 60px; height: 60px; }
  .action-btn span { font-size: 14px; }
}

.actions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: 90%; max-width: 520px; margin: 0 auto 28px; }
.action-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px 12px; border-radius: 18px; min-height: 120px; color: #fff; text-align: center; box-shadow: 0 8px 18px rgba(0,0,0,0.12); }
.actions-grid .action-btn:nth-child(1){ background: linear-gradient(160deg, rgba(0,174,157,1) 0%, rgba(24,242,220,1) 100%); }
.actions-grid .action-btn:nth-child(2){ background: linear-gradient(160deg, #ff9a3e 0%, #ff6b6b 100%); }
.action-btn img { width: 56px; height: 56px; object-fit: contain; filter: drop-shadow(0 1px 1px rgba(0,0,0,.15)); }
.action-btn span { color: #fff; font-weight: 700; letter-spacing: .06em; font-size: 14px; }

/* Pay tile exact image styling */
.actions-grid .action-btn[data-action="pay"]{
  background: none;
  background-image: url(../img/107_0.png);
  background-size: cover;
  background-position: center;
  border-radius: 22px;
  box-shadow: 0 10px 22px rgba(0,0,0,0.15);
}
.actions-grid .action-btn[data-action="pay"] img,
.actions-grid .action-btn[data-action="pay"] span{ display:none; }

/* Charge tile exact image styling */
.actions-grid .action-btn[data-action="charge"]{
  background: none;
  background-image: url(../img/106_0.png);
  background-size: cover;
  background-position: center;
  border-radius: 22px;
  box-shadow: 0 10px 22px rgba(0,0,0,0.15);
}
.actions-grid .action-btn[data-action="charge"] img,
.actions-grid .action-btn[data-action="charge"] span{ display:none; }

.partners-section { width: 92%; max-width: 840px; margin: 0 auto 28px; }
.partners-section h3 { margin: 0 0 12px; color: #6E6E6E; font-weight: 600; }
.partners-scroll { background: #fff; border-radius: 12px; padding: 12px; box-shadow: 0 2px 6px rgba(0,0,0,0.08); border: 1px solid rgba(0,0,0,0.06); }
.partners-scroll img { width: 100%; height: auto; border-radius: 8px; }

@media (max-width: 480px) {
  .point-card { padding: 12px; }
  .point-card .point-logo { width: 60px; }
  .action-btn { min-height: 110px; }
  .action-btn img { width: 48px; height: 48px; }
  .action-btn span { font-size: 13px; }
}


  /* --- ポイント残高カード --- */
  .point-card-home{background:#fff;border-radius:12px;padding:20px 25px;border:1px solid #000;text-align:center;margin:3% auto;width:400px;border:1px solid #ddd;}
.point-header{display:flex;justify-content:space-between;align-items:center;}
.point-header h2{font-size:18px;font-weight:500;margin:0;color:#333;}
.logo{height:32px;}
.point-value{text-align:center;margin-top:10px;font-size:55px;font-weight:700;color:#333;}
.pt{font-size: 18px;font-weight:600;}
/* --- ボタン部分 --- */
.buttons{display:flex;justify-content:center;gap:20px;margin-top:30px;}
.btn{width:160px;height:160px;border-radius:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;font-size:16px;font-weight:600;border:none;cursor:pointer;}
.buttons img{width:100%;}
.btn:hover{opacity:0.9;transform:scale(1.03);transition:0.2s;}

.shisetu-home{width:400px;margin:3% auto;}
.shisetu-home h2{font-size:20px;margin-bottom:2%;}
.shisetu-home img{width:100%;height:100%;border-radius:10px;}

.news-home{width:410px;margin:3% auto;background:#fff;padding:1rem;border-radius:10px;}
.news-home h2{font-size:16px;text-align:center;}