@import url(https://fonts.bunny.net/css?family=Nunito);
@charset "UTF-8";
@media screen and (max-width: 834px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 835px) {
  .sp-only {
    display: none !important;
  }
}

/* -------------------------------------------------------------- */
/*                               Reset                            */
/* -------------------------------------------------------------- */
* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", Osaka, メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", TakaoPGothic, sans-serif;
  font-weight: medium;
  color: #333333;
  background-color: gray;
  -ms-overflow-style: none;
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  font-size: 14px;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

label, p {
  margin: 0;
}

ul, li {
  list-style: none;
  padding-inline-start: 0;
  margin: 0;
}

a {
  color: #333333;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

img {
  display: inline-block;
  max-width: 100%;
}

button {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", Osaka, メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", TakaoPGothic, sans-serif;
}
button:hover {
  opacity: 0.8;
}

input::-moz-placeholder {
  color: #B3B3B3;
}

input::placeholder {
  color: #B3B3B3;
}

textarea::-moz-placeholder {
  color: #CCCCCC;
}

textarea::placeholder {
  color: #CCCCCC;
}

.front-form-group {
  margin-bottom: 20px;
}
@media screen and (min-width: 835px) {
  .front-form-group {
    display: flex;
    align-items: center;
  }
  .front-form-group > div {
    flex: 1;
  }
}

.subtxt {
  margin-bottom: 20px;
}

.front-form-label {
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
  font-weight: bold;
}
@media screen and (min-width: 835px) {
  .front-form-label {
    font-size: 14px;
    width: 200px;
    vertical-align: top;
  }
}
.front-form-label span.required {
  display: inline-block;
  background: #FF2300;
  color: #fff;
  padding: 0 5px 1px;
  border-radius: 3px;
  font-size: 10px;
  margin-left: 4px;
}

.text-danger {
  font-size: 12px;
}

.front-form-control {
  width: 100%;
  height: 40px;
  font-size: 12px;
  line-height: 16px;
  padding: 12px 10px;
  background-color: #FFFFFF;
  border: 1px solid #ccc;
  border-radius: 0;
  outline: none;
  position: relative;
}
.front-form-control:disabled {
  background-color: #F2F2F2;
}
.front-form-control.select {
  border: none;
  background-color: transparent;
}
.front-form-control.select select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: white;
  padding: 0 10px;
  font-size: 12px;
  color: #00BF63;
}

textarea.front-form-control {
  font-size: 14px;
  line-height: 22px;
  height: auto;
}

.front-form-birthday {
  display: flex;
}
.front-form-birthday .front-form-control {
  flex: 1;
}
@media screen and (min-width: 835px) {
  .front-form-birthday .front-form-control {
    max-width: 90px;
  }
}
.front-form-birthday .front-form-control:not(:last-child) {
  margin-right: 12px;
}

@media screen and (min-width: 835px) {
  .app-container {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
}

.text-center {
  text-align: center;
}

.block-list {
  min-height: 210px;
  padding: 0 5px;
}

.user-block-list {
  min-height: 260px;
}

.align-right {
  text-align: right;
}

#app {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  background-color: white;
  min-height: 100vh;
  position: relative;
  padding-top: 60px;
}
@media screen and (min-width: 835px) {
  #app {
    max-width: none;
    padding-top: 96px;
  }
}

.app-header {
  position: fixed;
  top: 0;
  width: 900px;
  height: 60px;
  z-index: 100;
  background-color: white;
}
@media screen and (max-width: 900px) {
  .app-header {
    width: 100%;
  }
}
@media screen and (min-width: 835px) {
  .app-header {
    width: 100%;
    height: 96px;
    border-bottom: 1px solid #00bf63;
    background-color: #f1f8f1;
  }
  .app-header .app-container {
    position: relative;
  }
}
.app-header .header-left {
  width: calc(100% - 193px);
  height: 60px;
  display: flex;
  justify-content: left;
  align-items: center;
  padding-left: 6px;
  position: relative;
}
@media screen and (min-width: 835px) {
  .app-header .header-left {
    height: 95px;
  }
}
.app-header .header-left .header-logo {
  display: block;
  width: 70px;
}
@media screen and (min-width: 835px) {
  .app-header .header-left .header-logo {
    width: auto;
    height: 80px;
  }
}
.app-header .header-left .header-sub-title {
  font-size: 9px;
  color: #808080;
  width: calc(100% - 85px);
  margin-left: 5px;
}
@media screen and (min-width: 835px) {
  .app-header .header-left .header-sub-title {
    font-size: 14px;
    width: auto;
    margin-left: 20px;
  }
}
.app-header .header-left .header-sub-title > span {
  display: inline-block;
}
.app-header .header-right {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1px;
}
.app-header .header-right .header-right-btn {
  width: 64px;
  height: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.app-header .header-right .header-right-btn:hover {
  opacity: 0.8;
}
@media screen and (min-width: 835px) {
  .app-header .header-right .header-right-btn {
    width: 95px;
    height: 95px;
  }
}
.app-header .header-right .header-right-btn .header-right-btn--icon {
  display: block;
  margin-bottom: 2px;
}
@media screen and (min-width: 835px) {
  .app-header .header-right .header-right-btn .header-right-btn--icon {
    margin-bottom: 5px;
  }
}
.app-header .header-right .header-right-btn .header-right-btn--text {
  font-size: 12px;
  color: white;
  letter-spacing: -0.5px;
}
@media screen and (min-width: 835px) {
  .app-header .header-right .header-right-btn .header-right-btn--text {
    font-size: 14px;
  }
}
.app-header .header-right .header-right-btn.header-lock-btn {
  background-color: #06c755;
}
.app-header .header-right .header-right-btn.header-register-btn {
  background-color: #06c755;
}
.app-header .header-right .header-right-btn.header-menu-btn {
  background-color: #0e5b56;
}
@media screen and (min-width: 835px) {
  .app-header .header-right .header-right-btn.header-menu-btn {
    display: none;
  }
}
.app-header .header-right .header-right-user {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.app-header .header-right .header-right-user .header-right-user--icon {
  width: 40px;
  height: 40px;
  border-radius: 40px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (min-width: 835px) {
  .app-header .header-right .header-right-user .header-right-user--icon {
    width: 50px;
    height: 50px;
    border-radius: 50px;
  }
}
.app-header .header-right .header-right-user .header-right-user--name {
  font-size: 12px;
  margin-left: 6px;
  display: none;
}
@media screen and (min-width: 835px) {
  .app-header .header-right .header-right-user .header-right-user--name {
    display: block;
    font-size: 16px;
    margin-left: 8px;
  }
}

.header-menu-icon {
  display: block;
  width: 18px;
  height: 20px;
  position: relative;
}
.header-menu-icon > span {
  display: block;
  width: 18px;
  height: 1px;
  background-color: white;
  position: absolute;
  transition: 0.4s;
}
.header-menu-icon > span:nth-child(1) {
  top: 4px;
}
.header-menu-icon > span:nth-child(2) {
  top: 10px;
}
.header-menu-icon > span:nth-child(3) {
  top: 16px;
}
.header-menu-icon.open > span:nth-child(1) {
  transform: translate(0, 6px) rotate(-45deg);
}
.header-menu-icon.open > span:nth-child(2) {
  opacity: 0;
}
.header-menu-icon.open > span:nth-child(3) {
  transform: translate(0, -6px) rotate(45deg);
}

.app-hamburger-menu {
  position: fixed;
  top: 60px;
  left: calc(50% + 450px);
  width: 900px;
  height: calc(100vh - 60px);
  overflow-y: auto;
  bottom: 0;
  padding: 30px 20px 100px 20px;
  background-color: #fff;
  transition-duration: 0.3s;
  opacity: 0;
}
@media screen and (max-width: 900px) {
  .app-hamburger-menu {
    left: 100%;
    right: 0;
    width: 100%;
  }
}
@media screen and (min-width: 835px) {
  .app-hamburger-menu {
    display: none;
  }
}
.app-hamburger-menu.open {
  left: calc(50% - 450px);
  opacity: 1;
}
@media screen and (max-width: 900px) {
  .app-hamburger-menu.open {
    left: 0;
  }
}
.app-hamburger-menu .hamburger-menu-list li {
  padding: 8px 12px;
  border-top: 1px solid #00bf63;
}
.app-hamburger-menu .hamburger-menu-list li:last-of-type {
  border-bottom: 1px solid #00bf63;
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link {
  display: block;
  width: 100%;
  font-size: 14px;
  padding: 6px 40px;
  background-position: left center;
  background-repeat: no-repeat;
  position: relative;
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link::after {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  background-image: url(/images/ic-triangle_right_green.png?eba6569e3d8661ab7cb4e8c9e2cac119);
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 12px;
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-top {
  background-image: url(/images/title-icon-home.svg?44a4dbb5d413c381eb74cf78342d8a21);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-search {
  background-image: url(/images/title-icon-search.svg?3ccc95b000ffdb0a26436203b96115d8);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-ranking {
  background-image: url(/images/title-icon-rank.svg?f1d2199dc74cb2d612a19652b0d1b942);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-schedule {
  background-image: url(/images/title-icon-news.svg?95d6519d5f3f67c7b4afa46d59975b03);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-review {
  background-image: url(/images/title-icon-review.svg?8a9bb0e07ae33fdbd79eb1156082fc54);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-area {
  background-image: url(/images/title-icon-area.svg?5f360b635c77dec82b2b460a981d7bfd);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-diary {
  background-image: url(/images/title-icon-diary.svg?7a755297deac80631a5962897cd1955d);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-word {
  background-image: url(/images/title-icon-pencil.svg?7fcc5063c341ec9f4fce78053a1c94ce);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-column {
  background-image: url(/images/title-icon-column.svg?c2f376668e53f4065ef09da75e31e8ff);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-guide {
  background-image: url(/images/title-icon-guide.svg?d1ef307ae5563422edeaec4aaa956ae4);
}
.app-hamburger-menu .hamburger-menu-list .hamburger-menu-link.hamburger-menu-login {
  background-image: url(/images/title-icon-user.svg?9d52f5d9e59a735e6df95c5c26f371b6);
}

.recent-therapist {
  margin-top: 30px;
}
.recent-therapist .menu-title {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  color: #00bf63;
  margin-bottom: 15px;
}
.recent-therapist .recent-therapist-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 5%;
}
.recent-therapist .recent-therapist-list .recent-therapist-one {
  display: block;
  width: 32%;
  margin-top: 2%;
  margin-right: 2%;
}
.recent-therapist .recent-therapist-list .recent-therapist-one:nth-child(3n) {
  margin-right: 0;
}
.recent-therapist .recent-therapist-list .recent-therapist-one .recent-therapist-img {
  overflow: hidden;
  line-height: 1;
  padding-top: 100%;
  position: relative;
}
.recent-therapist .recent-therapist-list .recent-therapist-one .recent-therapist-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 10px;
  -o-object-position: center;
     object-position: center;
}
.recent-therapist .recent-therapist-list .recent-therapist-one .recent-therapist-name {
  font-size: 12px;
  font-weight: bold;
  margin-top: 5px;
}
.recent-therapist .recent-therapist-list .recent-therapist-empty {
  text-align: center;
  width: 100%;
}

.app-navbar-wrapper {
  display: none;
}
@media screen and (min-width: 835px) {
  .app-navbar-wrapper {
    display: block;
    border-bottom: 1px solid #00bf63;
  }
}
.app-navbar-wrapper .app-navbar {
  display: flex;
  align-items: center;
  padding: 14px 0;
}
.app-navbar-wrapper .app-navbar .nav-link {
  flex: 1;
  font-size: 13px;
  display: block;
  text-align: center;
  border-left: 1px solid #f1f8f1;
  padding-top: 26px;
  background-repeat: no-repeat;
  background-position: center 0;
}
.app-navbar-wrapper .app-navbar .nav-link:last-child {
  border-right: 1px solid #f1f8f1;
}
.app-navbar-wrapper .app-navbar .nav-link.nav-link--top {
  background-image: url(/images/ic-home_black.png?e0d619865965b3e1d80b8dc1ce7cc5a4);
}
.app-navbar-wrapper .app-navbar .nav-link.nav-link--search {
  background-image: url(/images/ic-search_black.png?e9dd33b866177aec765b5e01f6f74d3f);
}
.app-navbar-wrapper .app-navbar .nav-link.nav-link--ranking {
  background-image: url(/images/ic-rank_black.png?6a1012e395a4067f3a4d07961a185f53);
}
.app-navbar-wrapper .app-navbar .nav-link.nav-link--diary {
  background-image: url(/images/ic-diary_black.png?b7c167e460bae49111bd7293f54f6a41);
}
.app-navbar-wrapper .app-navbar .nav-link.nav-link--word {
  background-image: url(/images/ic-pencil_black.png?457e4f0e2d2659649282a07bbede9f7e);
}
.app-navbar-wrapper .app-navbar .nav-link.nav-link--column {
  background-image: url(/images/ic-blog_black.png?78f5321ef62a163f1dbe7bcee7b1a2ee);
}

@media screen and (min-width: 835px) {
  #main {
    margin-top: 60px;
    margin-bottom: 30px;
  }
  #main > .app-container {
    display: flex;
    position: relative;
  }
  #main > .app-container .app-sidebar {
    position: sticky;
    position: -webkit-sticky;
    top: 0; /* required */
    width: 240px;
  }
  #main > .app-container .app-content {
    width: calc(100% - 312px);
    margin-left: 72px;
    position: relative;
  }
}

.app-sidebar {
  display: none;
}
@media screen and (min-width: 835px) {
  .app-sidebar {
    display: block;
  }
}
.app-sidebar .sidebar-title {
  font-size: 18px;
  font-weight: bold;
  color: #00bf63;
  margin-bottom: 12px;
}
.app-sidebar .sidebar-list {
  margin-bottom: 50px;
}
.app-sidebar .sidebar-list li {
  border-top: 1px solid #cccccc;
}
.app-sidebar .sidebar-list li:last-child {
  border-bottom: 1px solid #cccccc;
}
.app-sidebar .sidebar-list .sidebar-link {
  font-size: 12px;
  line-height: 20px;
  color: #333333;
  padding: 10px 20px;
  display: block;
  background-image: url(/images/ic-triangle_right_green.png?eba6569e3d8661ab7cb4e8c9e2cac119);
  background-repeat: no-repeat;
  background-position: 2px center;
  cursor: pointer;
}
.app-sidebar .sidebar-list .sidebar-sub-list li {
  padding-left: 10px;
  border-bottom: none;
}
.app-sidebar .sidebar-list .sidebar-sub-list li .sidebar-link {
  background-image: url(/images/ic-triangle_right_black.png?fed5f9638eb694c7959a7408f7d031ab);
}

.app-footer {
  background-color: #00bf63;
  margin-top: 40px;
}
@media screen and (min-width: 835px) {
  .app-footer {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 835px) {
  .app-footer .footer-links {
    display: none;
  }
}
.app-footer .footer-links > li {
  padding: 14px 18px;
  border-bottom: 1px solid white;
}
.app-footer .footer-links .footer-link-menu {
  color: white;
  font-size: 14px;
  padding-left: 20px;
  background-image: url(/images/ic-triangle_white.png?bc48a3d01f4bf32038cbc1bb19941758);
  background-repeat: no-repeat;
  background-position: 2px center;
}
.app-footer .footer-links .footer-link-menu.open {
  background-image: url(/images/ic-triangle_down_white.png?c09aed6885706b71867f98ca87e359ab);
}
.app-footer .footer-links .footer-area-menu {
  padding-left: 20px;
}
.app-footer .footer-links .footer-area-menu li {
  padding: 4px 0;
}
.app-footer .footer-links .footer-area-menu .footer-sub-menu {
  padding-left: 40px;
}
.app-footer .footer-links .footer-area-menu .footer-sub-menu li {
  list-style-type: disc;
  color: white;
  font-size: 14px;
}
.app-footer .footer-links .footer-area-menu .footer-sub-menu li .footer-sub-link {
  color: white;
  font-size: 14px;
}
.app-footer .footer-about {
  background-color: #ffffff;
  padding: 20px;
}
.app-footer .footer-about .app-bottom-accordion .bottom-accordion-body .bottom-accordion-overlap {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.app-footer .footer-bottom {
  text-align: center;
  color: white;
  padding: 30px 18px 0;
}
.app-footer .footer-bottom .footer-text-01 {
  font-size: 12px;
  margin-bottom: 20px;
}
@media screen and (min-width: 835px) {
  .app-footer .footer-bottom .footer-text-01 {
    font-size: 14px;
    margin-top: 24px;
    margin-bottom: 12px;
  }
}
.app-footer .footer-bottom .footer-text-02 {
  font-size: 10px;
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .app-footer .footer-bottom .footer-text-02 {
    font-size: 14px;
    margin-bottom: 48px;
  }
}
@media screen and (min-width: 835px) {
  .app-footer .footer-bottom .footer-text-02 br {
    display: none;
  }
}
.app-footer .footer-bottom .footer-text-03 {
  font-size: 12px;
  margin-bottom: 20px;
}
@media screen and (min-width: 835px) {
  .app-footer .footer-bottom .footer-text-03 {
    font-size: 14px;
  }
}
.app-footer .footer-text-04 {
  text-align: center;
  padding-bottom: 24px;
}
.app-footer .footer-text-04 .top-footer-accordion {
  transition-duration: 0.3s;
}
.app-footer .footer-text-04 .top-footer-accordion.open {
  transform: rotate(180deg);
}
.app-footer .footer-bottom-2 {
  font-size: 10px;
  padding: 20px;
  background-color: #f1f8f1;
}

.out-link {
  color: #00bf63;
  text-decoration: underline;
}

select {
  height: 40px !important;
  padding: 0 10px !important;
  border: 1px solid #cccccc !important;
  background-color: #ffffff !important;
  font-size: 15px !important;
  color: #333333 !important;
  border-radius: 4px !important;
  background-image: url(/images/arrow-bottom-more.svg?b2ee1557804563d09a22d99c7efc6081) !important;
  background-repeat: no-repeat !important;
  background-position: right 4px center !important;
  background-size: 10px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  color: #00bf63 !important;
}

#scrollTop {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 48px;
  background-color: #000;
  background-image: url(/images/ic-triangle_up_white.png?b0b5ed1ef8aa512722f717ec4417bdc9);
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  position: fixed;
  bottom: 15px;
  right: 7px;
  transition-duration: 0.3s;
}
#scrollTop:hover {
  background-color: #333;
}
@media screen and (min-width: 835px) {
  #scrollTop {
    bottom: 32px;
    right: 32px;
  }
}

.app-btn-wrap {
  text-align: center;
}

.app-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 48px;
  text-align: center;
  color: white;
  font-size: 14px;
  line-height: 21px;
  line-height: 1.2;
  font-weight: bold;
  background: linear-gradient(180deg, #00bf63 0%, #008749 100%);
  border: none;
  border-radius: 4px;
  transition-duration: 0.3s;
  position: relative;
  cursor: pointer;
  padding-left: 20px;
  padding-right: 20px;
}
.app-btn:hover {
  opacity: 0.8;
}
.app-btn img {
  margin-right: 5px;
}
.app-btn.disable {
  background: #ccc;
}
.app-btn.w100 {
  width: 100%;
  padding: 0;
  max-width: 360px;
}

.app-green-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 48px;
  text-align: center;
  color: white;
  font-size: 14px;
  line-height: 21px;
  font-weight: bold;
  background: linear-gradient(180deg, #2cd000 0%, #139800 100%);
  border: none;
  border-radius: 4px;
  transition-duration: 0.3s;
  position: relative;
  cursor: pointer;
}
.app-green-btn:hover {
  opacity: 0.8;
}

.app-red-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 48px;
  text-align: center;
  color: white;
  font-size: 14px;
  line-height: 21px;
  font-weight: bold;
  background: linear-gradient(180deg, #ff2600 0%, #ff2300 100%);
  border: none;
  border-radius: 4px;
  transition-duration: 0.3s;
  position: relative;
  cursor: pointer;
}
.app-red-btn:hover {
  opacity: 0.8;
}

.app-outline-btn {
  display: inline-block;
  color: #00bf63;
  font-size: 14px;
  line-height: 21px;
  padding: 10px 20px;
  border: 1px solid #00bf63;
  background-color: white;
  border-radius: 4px;
  text-align: center;
  cursor: pointer;
}
.app-outline-btn.w280 {
  width: 280px;
  padding-right: 0;
  padding-left: 0;
}
.app-outline-btn.w240 {
  width: 240px;
  padding-right: 0;
  padding-left: 0;
}
.app-outline-btn.disable {
  cursor: default;
  color: #ccc;
  border-color: #ccc;
}

.mt40 {
  margin-top: 40px;
}

.text-danger {
  color: #ff2300 !important;
}

.orange {
  color: #fbb03b;
}

.app-solid-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  color: white;
  font-size: 16px;
  background-color: #00bf63;
  border-radius: 4px;
  border: 1px solid #00bf63;
  cursor: pointer;
}
.app-solid-btn.app-solid-btn-sm {
  font-size: 12px;
  height: 30px;
}

.app-section {
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (min-width: 835px) {
  .app-section {
    padding-left: 0;
    padding-right: 0;
  }
}

.app-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 10px;
}
.app-breadcrumb .breadcrumb-text {
  color: #666666;
  font-size: 10px;
  line-height: 16px;
  word-break: break-all;
}
@media screen and (min-width: 835px) {
  .app-breadcrumb .breadcrumb-text {
    font-size: 14px;
    line-height: 20px;
  }
}
.app-breadcrumb .breadcrumb-text:not(:last-child)::after {
  content: ">";
  margin: 0 0.5em;
}

.app-contact-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 48px;
  text-align: center;
  color: white;
  font-size: 14px;
  font-weight: bold;
  background: linear-gradient(180deg, #2cd000 0%, #139800 100%);
  border: none;
  border-radius: 4px;
  transition-duration: 0.3s;
  position: relative;
  cursor: pointer;
}
.app-contact-btn:disabled {
  background: gray;
}
.app-contact-btn:hover {
  opacity: 0.8;
}
.app-contact-btn img {
  margin-right: 4px;
}

.app-check-label {
  font-size: 14px;
  padding-left: 16px;
  display: block;
  position: relative;
}
.app-check-label::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border: 1px solid #00bf63;
  position: absolute;
  top: 5px;
  left: 0px;
}
.app-check-label.checked::before {
  background-image: url(/images/ic-check_mark.svg?cb8a184b9a7a5160496f0a2d465600de);
  background-size: 8px 8px;
  background-position: center;
  background-repeat: no-repeat;
}

.app-divider {
  height: 1px;
  background-color: #cccccc;
}

.app-search-result {
  text-align: center;
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .app-search-result {
    font-size: 16px;
  }
}
.app-search-result .app-search-result--total {
  color: #ff2300;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (min-width: 835px) {
  .app-search-result .app-search-result--total {
    font-size: 24px;
  }
}
.app-search-result .app-search-result--current {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (min-width: 835px) {
  .app-search-result .app-search-result--current {
    font-size: 24px;
  }
}

.app-bottom-accordion .bottom-accordion-title {
  color: #00bf63;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
}
@media screen and (min-width: 835px) {
  .app-bottom-accordion .bottom-accordion-title {
    font-size: 20px;
  }
}
.app-bottom-accordion .bottom-accordion-body {
  position: relative;
}
.app-bottom-accordion .bottom-accordion-body .bottom-accordion-content {
  font-size: 12px;
  position: relative;
  max-height: 36px;
  overflow: hidden;
  transition-duration: 0.4s;
  animation-duration: 0.4s;
}
@media screen and (min-width: 835px) {
  .app-bottom-accordion .bottom-accordion-body .bottom-accordion-content {
    font-size: 14px;
  }
}
.app-bottom-accordion .bottom-accordion-body.open .bottom-accordion-content {
  max-height: initial !important;
}
.app-bottom-accordion .bottom-accordion-body .bottom-accordion-overlap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 36px;
  background: transparent;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(241, 248, 241) 100%);
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
.app-bottom-accordion .bottom-accordion-body .bottom-accordion-overlap img {
  transition-duration: 0.3s;
}
.app-bottom-accordion .bottom-accordion-body.open {
  padding-bottom: 36px;
}
.app-bottom-accordion .bottom-accordion-body.open .bottom-accordion-overlap {
  background-image: none;
  top: auto;
  bottom: 0;
}
.app-bottom-accordion .bottom-accordion-body.open .bottom-accordion-overlap img {
  transform: rotate(180deg);
}

.app-terms-menubar {
  height: 27px;
  position: relative;
}
@media screen and (min-width: 835px) {
  .app-terms-menubar {
    height: 37px;
  }
}
.app-terms-menubar .terms-menu-btn {
  color: white;
  font-size: 12px;
  background-color: #00bf63;
  padding: 5px 10px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
@media screen and (min-width: 835px) {
  .app-terms-menubar .terms-menu-btn {
    font-size: 14px;
    padding: 8px 16px;
  }
}
.app-terms-menubar .terms-menu-btn::after {
  content: "";
  display: block;
  width: 9px;
  height: 6px;
  background-image: url(/images/ic-triangle_down_white.png?c09aed6885706b71867f98ca87e359ab);
  position: absolute;
  top: 11px;
  right: 11px;
}
@media screen and (min-width: 835px) {
  .app-terms-menubar .terms-menu-btn::after {
    top: 16px;
    right: 16px;
  }
}
.app-terms-menubar .terms-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 2;
  display: none;
}
.app-terms-menubar .terms-menu ul {
  display: flex;
  flex-direction: column;
}
.app-terms-menubar .terms-menu ul li {
  padding: 9px 20px 9px 10px;
  background-color: #00bf63;
  border-bottom: 1px solid white;
}
.app-terms-menubar .terms-menu ul .terms-menu-link {
  color: white;
  font-size: 12px;
  display: block;
  padding-left: 14px;
  background-image: url(/images/ic-triangle_white.png?bc48a3d01f4bf32038cbc1bb19941758);
  background-repeat: no-repeat;
  background-position: 4px center;
}
.app-terms-menubar .terms-menu .terms-menu-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.app-slick-slider .slick-dots {
  bottom: -18px;
}
.app-slick-slider .slick-dots li {
  width: 9px;
  height: 9px;
  margin: 0 3px;
}
.app-slick-slider .slick-dots li button {
  width: 9px;
  height: 9px;
  border-radius: 9px;
  background-color: #f1f8f1;
  padding: 0;
}
.app-slick-slider .slick-dots li button::before {
  content: none;
}
.app-slick-slider .slick-dots li.slick-active button {
  background-color: #ff2300;
}

.front-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  border-radius: 20px;
  background-color: #ff2300;
  color: #ffffff;
  font-size: 12px;
}

.front-alert {
  color: white;
  font-size: 12px;
  padding: 6px 10px;
  background: gray;
  position: absolute;
  width: 100%;
  animation: fadeOutFlash 2s;
  animation-fill-mode: both;
  animation-delay: 1s;
}
@media screen and (min-width: 835px) {
  .front-alert {
    padding: 16px;
    font-size: 14px;
  }
}
.front-alert.front-alert-success {
  background-color: #00bf63;
}
.front-alert.front-alert-danger {
  background-color: #ff2300;
}
@keyframes fadeOutFlash {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(50px);
    display: none;
  }
}

.no-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  background-image: url(/images/no-image.png?6deae97dd8743fd6a112798d659d9561);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 120px;
}

.no-data {
  width: 100%;
  text-align: center;
}

.app-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 16px 0;
}
.app-pagination .page-item .page-link {
  display: flex;
  width: 27px;
  height: 27px;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  color: #00bf63;
  font-size: 12px;
  font-weight: bold;
  background-color: #f1f8f1;
  border: 1px solid #f1f8f1;
}
.app-pagination .page-item.active .page-link {
  background-color: #00bf63;
  border: 1px solid #00bf63;
  color: #fff;
}

.app-area-search {
  margin: 30px 0;
}
.app-area-search .search-areas-box {
  display: flex;
  flex-wrap: wrap;
  margin: -3px;
}
@media screen and (min-width: 835px) {
  .app-area-search .search-areas-box {
    justify-content: center;
    margin: -4px;
  }
}
.app-area-search .search-areas-box .search-area-group {
  width: calc(25% - 6px);
  margin: 3px;
}
@media screen and (min-width: 835px) {
  .app-area-search .search-areas-box .search-area-group {
    width: 90px;
    margin: 4px;
  }
}
.app-area-search .search-areas-box .search-area-group .area-prefs-box {
  background-color: #f2f2f2;
  padding: 12px 14px;
  border-radius: 4px;
  display: none;
  position: relative;
  width: calc(400% + 18px);
  left: auto;
  right: calc(300% + 18px);
  margin-top: 12px;
  z-index: 1;
}
@media screen and (min-width: 835px) {
  .app-area-search .search-areas-box .search-area-group .area-prefs-box {
    width: 776px;
  }
}
.app-area-search .search-areas-box .search-area-group .area-prefs-box .area-prefs-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-self: center;
  margin: -4px;
}
.app-area-search .search-areas-box .search-area-group .area-prefs-box .area-prefs-list .pref-span {
  display: inline-block;
  font-size: 12px;
  border-radius: 4px;
  background-color: white;
  border: 1px solid #cccccc;
  padding: 0px 6px;
  margin: 4px;
  cursor: pointer;
}
.app-area-search .search-areas-box .search-area-group.open {
  position: relative;
}
.app-area-search .search-areas-box .search-area-group.open .area-prefs-box {
  display: block;
}
.app-area-search .search-areas-box .search-area-group:nth-child(4n+1) .area-prefs-box {
  left: 0;
  right: calc(200% + 6px);
}
.app-area-search .search-areas-box .search-area-group:nth-child(4n+2) .area-prefs-box {
  left: calc(-100% - 6px);
}
.app-area-search .search-areas-box .search-area-group:nth-child(4n+3) .area-prefs-box {
  left: calc(-200% - 12px);
}
@media screen and (min-width: 835px) {
  .app-area-search .search-areas-box .search-area-group:nth-child(8n) .area-prefs-box {
    left: calc(-700% - 56px);
  }
  .app-area-search .search-areas-box .search-area-group:nth-child(8n+5) .area-prefs-box {
    left: calc(-400% - 32px);
  }
  .app-area-search .search-areas-box .search-area-group:nth-child(8n+6) .area-prefs-box {
    left: calc(-500% - 40px);
  }
  .app-area-search .search-areas-box .search-area-group:nth-child(8n+7) .area-prefs-box {
    left: calc(-600% - 48px);
  }
}
.app-area-search .search-areas-box .search-area-group .search-area-btn {
  width: 100%;
  padding: 0;
}

.favorite {
  position: absolute;
  right: 5px;
  bottom: 5px;
  cursor: pointer;
}

.dm {
  position: absolute;
  left: 5px;
  bottom: 5px;
  font-size: 12px;
  padding: 5px 8px;
  border-radius: 3px;
  background-color: #fff;
  color: #00bf63;
}

.rank-num {
  position: absolute;
  left: 5px;
  top: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #666666;
  color: #fff;
  font-size: 14px;
  z-index: 1;
}
.rank-num.no1 {
  background-color: #fbb03b;
}
.rank-num.no2 {
  background-color: #cccccc;
}
.rank-num.no3 {
  background-color: #a67c52;
}
.rank-num.no-lt-green {
  background-color: #cef2d6;
}

.section {
  padding: 20px 10px;
}
@media screen and (min-width: 835px) {
  .section {
    padding: 36px;
  }
}
.section .section-icon {
  text-align: center;
}
.section .section-icon img {
  width: 28px;
  height: 28px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.section .section-title {
  color: #00bf63;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
@media screen and (min-width: 835px) {
  .section .section-title {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.section .section-title img {
  width: 32px;
  height: 32px;
  margin-right: 8px;
}
.section .section-sub-title {
  color: #999999;
  font-size: 14px;
  text-align: center;
  margin-top: 8px;
}
@media screen and (min-width: 835px) {
  .section .section-sub-title {
    font-size: 16px;
  }
}

.bg-lt-green {
  background-color: #f1f8f1;
}

.bg-green {
  background-color: #00bf63;
}

.green {
  color: #00bf63;
}

.bg-lt-yellow {
  background-color: #ffffe9;
}

.sp-bottom-menu {
  border-top: 1px solid #fff;
  position: fixed;
  z-index: 5;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  padding: 8px 0;
  background-color: #00bf63;
  font-size: 9px;
}
.sp-bottom-menu a {
  flex: 1;
  display: block;
  text-align: center;
  padding: 3px 0;
  border-right: 1px solid #fff;
  color: #fff;
}
.sp-bottom-menu a:last-child {
  border-right: none;
}
.sp-bottom-menu a div {
  width: 20px;
  height: 20px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.sp-bottom-menu a div .count {
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(50%, -50%);
  background-color: #ff2600;
  color: #fff;
  font-size: 10px;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sp-bottom-menu a span {
  display: block;
}
@media screen and (min-width: 835px) {
  .sp-bottom-menu {
    display: none;
  }
}

.radio-box {
  display: inline-block;
  position: relative;
  padding-left: 22px;
  margin-right: 10px;
  cursor: pointer;
  font-size: 14px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.radio-box input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.radio-box .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 18px;
  width: 18px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
}
.radio-box .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.radio-box input:checked ~ .checkmark:after {
  display: block;
}
.radio-box .checkmark:after {
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #00bf63;
}

.check-box {
  display: inline-block;
  position: relative;
  padding-left: 22px;
  cursor: pointer;
  font-size: 14px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.check-box input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.check-box .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 18px;
  width: 18px;
  background-color: #fff;
  border: 1px solid #ccc;
}
.check-box .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.check-box input:checked ~ .checkmark:after {
  display: block;
}
.check-box .checkmark:after {
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  background: #00bf63;
}

.page-title {
  text-align: center;
  color: #00bf63;
  font-size: 16px;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .page-title {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.page-title .page-title-icon {
  display: block;
  text-align: center;
  width: 32px;
  height: 32px;
  margin: auto;
}

.red {
  color: #ff2300;
}

.page-count {
  text-align: center;
  font-size: 12px;
  margin-bottom: 20px;
}
@media screen and (min-width: 835px) {
  .page-count {
    margin-bottom: 30px;
  }
}
.page-count span {
  font-size: 16px;
  font-weight: bold;
}

.front-rooms-action {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  margin-bottom: 20px;
}
.front-rooms-action .app-outline-btn {
  width: 175px;
  cursor: pointer;
}
.front-rooms-action .app-outline-btn.active {
  background-color: #00bf63;
  color: #ffffff;
}

.diary-list {
  display: flex;
  flex-wrap: wrap;
}
.diary-list .diary-one {
  width: 100%;
  display: flex;
  margin-bottom: 15px;
}
@media screen and (min-width: 835px) {
  .diary-list .diary-one {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
  }
  .diary-list .diary-one:nth-child(2n) {
    margin-right: 0;
  }
}
.diary-list .diary-one .diary-img {
  width: 160px;
  height: 160px;
  border-radius: 10px;
  margin-right: 20px;
  border-radius: 10px;
  overflow: hidden;
}
.diary-list .diary-one .diary-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.diary-list .diary-one .diary-img.circle {
  border-radius: 160px;
}
.diary-list .diary-one .diary-img.empty {
  background-color: #f1f8f1;
}
.diary-list .diary-one .diary-img.empty img {
  -o-object-fit: contain;
     object-fit: contain;
}
.diary-list .diary-one .diary-content {
  width: calc(100% - 180px);
  position: relative;
}
.diary-list .diary-one .diary-content .diary-ttl {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 12px;
  margin-bottom: 4px;
}
.diary-list .diary-one .diary-content .diary-name {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}
.diary-list .diary-one .diary-content .diary-date {
  font-size: 10px;
  color: #808080;
  margin-bottom: 4px;
}
.diary-list .diary-one .diary-content .diary-edit-btn a {
  width: 60px;
  height: 28px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  padding: 0;
}
.diary-list .diary-one .diary-content .diary-btns {
  position: absolute;
  right: 0;
  bottom: 0;
}
.diary-list .diary-one .diary-content .diary-btns span {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
}
.diary-list .diary-one .diary-content .diary-btns span img {
  margin-right: 5px;
}
.diary-list.favorite-list .diary-one .favourite-img {
  width: 100px;
  height: 100px;
}
.diary-list.favorite-list .diary-one .favourite-img img {
  width: 100%;
  height: auto;
}
.diary-list.favorite-list .diary-one .favourite-img .diary-img.circle {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.diary-list.favorite-list .diary-one .favourite-img .diary-img.circle img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.diary-list.favorite-list .diary-one .favourite-content {
  width: calc(100% - 120px);
  margin-left: 20px;
}
.diary-list.favorite-list .diary-one .favourite-content .favourite-wrapper-name {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.diary-list.favorite-list .diary-one .favourite-content .favourite-wrapper-name .favourite-name {
  font-size: 16px;
  margin-bottom: 4px;
  font-weight: bold;
}
.diary-list.favorite-list .diary-one .favourite-content .favourite-wrapper-name .favourite-date {
  font-size: 12px;
  color: #808080;
}
.diary-list.favorite-list .diary-one .favourite-content .icon-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.diary-list.favorite-list .diary-one .favourite-content .icon-wrap .notice {
  width: 15px;
  height: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #ff2300;
  color: #fff;
  font-size: 10px;
  font-weight: normal;
}
.diary-list.favorite-list .diary-one .favourite-content .icon-wrap .hidden {
  visibility: hidden;
}

.modal {
  position: fixed;
  z-index: 101;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(241, 248, 241, 0.9);
  display: none;
}
.modal .modal-in {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal .modal-in .modal-content {
  width: 80%;
  max-width: 340px;
  background-color: #fff;
  padding: 50px 30px;
  position: relative;
}
.modal .modal-in .modal-content .close {
  position: absolute;
  top: 12px;
  right: 12px;
  cursor: pointer;
}
.modal .modal-in .modal-content h3 {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.modal .modal-in .modal-content .row-btns {
  display: flex;
  justify-content: space-around;
}
.modal .modal-in .modal-content .row-btns .modal-btn {
  width: 78px;
  text-align: center;
  padding: 8px 0;
  border-radius: 5px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
}
.modal .modal-in .modal-content .row-btns .modal-btn.delete-btn {
  background-color: #ff2300;
}
.modal .modal-in .modal-content .row-btns .modal-btn.cancel-btn {
  background-color: #808080;
}

.document-modal {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
}
.document-modal .document-modal-inner {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  background-color: #fff;
  padding-bottom: 70px;
  position: relative;
}
@media screen and (min-width: 835px) {
  .document-modal .document-modal-inner {
    max-width: 768px;
    max-height: 90vh;
    margin: 5vh auto 0;
  }
}
.document-modal .document-modal-inner .document-modal-header {
  position: relative;
  background-color: #f1f8f1;
  padding: 12px 0;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #00bf63;
}
.document-modal .document-modal-inner .document-modal-header .back-btn {
  position: absolute;
  left: 10px;
  top: 10px;
}
.document-modal .document-modal-inner .last-search-data-btn {
  padding: 15px;
  text-align: center;
}
.document-modal .document-modal-inner .document-modal-date {
  text-align: right;
  margin-right: 5vh;
  font-size: 20px;
}
.document-modal #condition-flash {
  display: none;
  z-index: 100;
  max-width: 768px;
  width: 100%;
  height: 53px;
  font-size: 14px;
  margin: auto;
  position: fixed;
  left: 50%;
  top: 26px;
  transform: translate(-50%, -50%);
  align-items: center;
  animation: fadeOut 2s;
  animation-fill-mode: both;
  animation-delay: 3s;
}
@media screen and (min-width: 835px) {
  .document-modal #condition-flash {
    left: 50%;
    top: 12.5vh;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 0);
  }
}

.search-modal {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
}
.search-modal .search-modal-inner {
  width: 100%;
  height: 94vh;
  overflow-y: auto;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 835px) {
  .search-modal .search-modal-inner {
    max-width: 768px;
    max-height: 80vh;
    margin: 10vh auto 0;
  }
}
.search-modal .search-modal-inner .search-modal-header {
  position: relative;
  background-color: #f1f8f1;
  padding: 12px 0;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #00bf63;
}
.search-modal .search-modal-inner .search-modal-header .back-btn {
  position: absolute;
  left: 10px;
  top: 10px;
}
.search-modal .search-modal-inner .last-search-data-btn {
  padding: 15px;
  text-align: center;
}
.search-modal .search-modal-inner .search-modal-content-one > p {
  padding: 10px;
  font-weight: bold;
  background-color: #f1f8f1;
}
.search-modal .search-modal-inner .search-modal-content-one > div {
  padding: 20px;
}
.search-modal .search-modal-inner .search-modal-content-one > div input {
  width: 100%;
  height: 40px;
  border: 1px solid #ccc;
  padding: 0 10px;
}
.search-modal .search-modal-inner .search-modal-content-one > div.search-modal-flex {
  display: flex;
  justify-content: space-between;
}
.search-modal .search-modal-inner .search-modal-content-one > div.search-modal-flex input {
  width: calc(100% - 70px);
}
.search-modal .search-modal-inner .search-modal-content-one > div.search-modal-flex button {
  width: 60px;
  padding: 0;
  height: 40px;
}
.search-modal .search-modal-inner .search-modal-content-one > div select {
  width: 100%;
  height: 40px;
  border: 1px solid #ccc;
  padding: 0 10px;
  background-color: #fff;
  border-radius: 5px;
}
.search-modal .search-modal-inner .search-modal-content-one > div .rows {
  display: flex;
  align-items: center;
}
.search-modal .search-modal-inner .search-modal-content-one > div .rows select {
  flex: 1;
}
.search-modal .search-modal-inner .search-modal-content-one > div .rows span {
  display: block;
  width: 40px;
  text-align: center;
}
.search-modal .search-modal-inner .search-modal-content-one > div .check-box {
  margin: 3px 0;
}
.search-modal .search-modal-inner .search-modal-content-one > div .checkbox-list {
  display: flex;
  flex-wrap: wrap;
}
.search-modal .search-modal-inner .search-modal-content-one > div .checkbox-list .check-box {
  width: 50%;
}
@media screen and (min-width: 835px) {
  .search-modal .search-modal-inner .search-modal-content-one > div .checkbox-list .check-box {
    width: 25%;
  }
}
.search-modal .search-modal-inner .search-modal-content-one > div .checkbox-list .check-box input {
  width: 0;
}
.search-modal .search-modal-inner .search-modal-bottom-btns {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
}
@media screen and (min-width: 835px) {
  .search-modal .search-modal-inner .search-modal-bottom-btns {
    bottom: 10vh;
    left: calc(50% - 384px);
    max-width: 768px;
  }
}
.search-modal .search-modal-inner .search-modal-bottom-btns button {
  display: flex;
  width: 50%;
  height: 60px;
  justify-content: center;
  align-items: center;
  border: none;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  border: 1px solid #fff;
  border-radius: 5px;
}
.search-modal .search-modal-inner .search-modal-bottom-btns button:hover {
  opacity: 1;
}
.search-modal .search-modal-inner .search-modal-bottom-btns button.save-search-btn {
  background: linear-gradient(to bottom, #2cd000 0%, #139800 100%);
  width: 100%;
}
.search-modal .search-modal-inner .search-modal-bottom-btns button.now-search-btn {
  background: linear-gradient(to bottom, #00bf63 0%, #008749 100%);
  width: 100%;
}
.search-modal .search-modal-inner .search-modal-bottom-btns button img {
  margin-right: 4px;
}
.search-modal #condition-flash {
  display: none;
  z-index: 100;
  max-width: 768px;
  width: 100%;
  height: 53px;
  font-size: 14px;
  margin: auto;
  position: fixed;
  left: 50%;
  top: 26px;
  transform: translate(-50%, -50%);
  align-items: center;
  animation: fadeOut 2s;
  animation-fill-mode: both;
  animation-delay: 3s;
}
@media screen and (min-width: 835px) {
  .search-modal #condition-flash {
    left: 50%;
    top: 12.5vh;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 0);
  }
}

.word-break-all {
  word-break: break-all !important;
}

.white-space-pre-line {
  white-space: pre-line !important;
}

.login-modal-open {
  cursor: pointer;
}

.loader-container {
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
.loader-container .loader {
  font-size: 25px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  animation: load5 1.1s infinite ease;
  transform: translateZ(0);
}
@keyframes load5 {
  0%, 100% {
    box-shadow: 0em -2.6em 0em 0em #00bf63, 1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2), 2.5em 0em 0 0em rgba(0, 191, 99, 0.2), 1.75em 1.75em 0 0em rgba(0, 191, 99, 0.2), 0em 2.5em 0 0em rgba(0, 191, 99, 0.2), -1.8em 1.8em 0 0em rgba(0, 191, 99, 0.2), -2.6em 0em 0 0em rgba(0, 191, 99, 0.5), -1.8em -1.8em 0 0em rgba(0, 191, 99, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 191, 99, 0.7), 1.8em -1.8em 0 0em #00bf63, 2.5em 0em 0 0em rgba(0, 191, 99, 0.2), 1.75em 1.75em 0 0em rgba(0, 191, 99, 0.2), 0em 2.5em 0 0em rgba(0, 191, 99, 0.2), -1.8em 1.8em 0 0em rgba(0, 191, 99, 0.2), -2.6em 0em 0 0em rgba(0, 191, 99, 0.2), -1.8em -1.8em 0 0em rgba(0, 191, 99, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 191, 99, 0.5), 1.8em -1.8em 0 0em rgba(0, 191, 99, 0.7), 2.5em 0em 0 0em #00bf63, 1.75em 1.75em 0 0em rgba(0, 191, 99, 0.2), 0em 2.5em 0 0em rgba(0, 191, 99, 0.2), -1.8em 1.8em 0 0em rgba(0, 191, 99, 0.2), -2.6em 0em 0 0em rgba(0, 191, 99, 0.2), -1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 191, 99, 0.2), 1.8em -1.8em 0 0em rgba(0, 191, 99, 0.5), 2.5em 0em 0 0em rgba(0, 191, 99, 0.7), 1.75em 1.75em 0 0em #00bf63, 0em 2.5em 0 0em rgba(0, 191, 99, 0.2), -1.8em 1.8em 0 0em rgba(0, 191, 99, 0.2), -2.6em 0em 0 0em rgba(0, 191, 99, 0.2), -1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 191, 99, 0.2), 1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2), 2.5em 0em 0 0em rgba(0, 191, 99, 0.5), 1.75em 1.75em 0 0em rgba(0, 191, 99, 0.7), 0em 2.5em 0 0em #00bf63, -1.8em 1.8em 0 0em rgba(0, 191, 99, 0.2), -2.6em 0em 0 0em rgba(0, 191, 99, 0.2), -1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 191, 99, 0.2), 1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2), 2.5em 0em 0 0em rgba(0, 191, 99, 0.2), 1.75em 1.75em 0 0em rgba(0, 191, 99, 0.5), 0em 2.5em 0 0em rgba(0, 191, 99, 0.7), -1.8em 1.8em 0 0em #00bf63, -2.6em 0em 0 0em rgba(0, 191, 99, 0.2), -1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 191, 99, 0.2), 1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2), 2.5em 0em 0 0em rgba(0, 191, 99, 0.2), 1.75em 1.75em 0 0em rgba(0, 191, 99, 0.2), 0em 2.5em 0 0em rgba(0, 191, 99, 0.5), -1.8em 1.8em 0 0em rgba(0, 191, 99, 0.7), -2.6em 0em 0 0em #00bf63, -1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 191, 99, 0.2), 1.8em -1.8em 0 0em rgba(0, 191, 99, 0.2), 2.5em 0em 0 0em rgba(0, 191, 99, 0.2), 1.75em 1.75em 0 0em rgba(0, 191, 99, 0.2), 0em 2.5em 0 0em rgba(0, 191, 99, 0.2), -1.8em 1.8em 0 0em rgba(0, 191, 99, 0.5), -2.6em 0em 0 0em rgba(0, 191, 99, 0.7), -1.8em -1.8em 0 0em #00bf63;
  }
}

.banners .banner-item .banner-picture {
  width: 100%;
  padding-top: 44.125%;
  position: relative;
}
.banners .banner-item .banner-picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.banners .slick-dots {
  bottom: -18px;
}
.banners .slick-dots li {
  width: 9px;
  height: 9px;
  margin: 0 3px;
}
.banners .slick-dots li button {
  width: 9px;
  height: 9px;
  border-radius: 9px;
  background-color: #f1f8f1;
  padding: 0;
}
.banners .slick-dots li button::before {
  content: none;
}
.banners .slick-dots li.slick-active button {
  background-color: #00bf63;
}

.no-img {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.no-scroll {
  overflow: hidden;
}

.mini-column {
  white-space: pre-line;
}

.column-padding-left {
  white-space: normal;
  padding-left: 14px;
}

.section-btn {
  text-align: center;
}

.top-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 48px;
  text-align: center;
  color: white;
  font-size: 14px;
  font-weight: bold;
  background: linear-gradient(180deg, #00bf63 0%, #008749 100%);
  border: none;
  border-radius: 5px;
  position: relative;
  cursor: pointer;
}
.top-btn:hover {
  opacity: 0.8;
}
.top-btn.search-btn {
  margin-top: 10px;
  background: linear-gradient(180deg, #ff9524 0%, #f15a24 100%);
}

.top-footer-banners .footer-banners .footer-banner-item .footer-banner-picture {
  text-align: center;
  width: 100%;
  padding-top: 44.125%;
  position: relative;
}
.top-footer-banners .footer-banners .footer-banner-item .footer-banner-picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-footer-banners .footer-banners .footer-banner-item .recruit-name {
  text-align: center;
}
.top-footer-banners .footer-banners .slick-dots {
  bottom: -18px;
}
.top-footer-banners .footer-banners .slick-dots li {
  width: 9px;
  height: 9px;
  margin: 0 3px;
}
.top-footer-banners .footer-banners .slick-dots li button {
  width: 9px;
  height: 9px;
  border-radius: 9px;
  background-color: #f1f8f1;
  padding: 0;
}
.top-footer-banners .footer-banners .slick-dots li button::before {
  content: none;
}
.top-footer-banners .footer-banners .slick-dots li.slick-active button {
  background-color: #00bf63;
}
.top-footer-banners .company-banners {
  margin-top: 100px;
}
.top-footer-banners .company-banners .banner-content {
  margin-top: 20px;
}
.top-footer-banners .company-banners .banner-content .footer-banner-picture {
  text-align: center;
  margin: 10px 0;
  width: 100%;
  padding-top: 21.25%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-footer-banners .company-banners .banner-content .footer-banner-picture {
    padding-top: 44.125%;
  }
}
.top-footer-banners .company-banners .banner-content .footer-banner-picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-footer-banners .company-banners .banner-content .banner-text {
  text-align: center;
  font-size: 14px;
}
.top-footer-banners .company-banners .banner-content .company-banner-image {
  width: 468px;
  height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: #f0f8f0;
}
@media screen and (max-width: 768px) {
  .top-footer-banners .company-banners .banner-content .company-banner-image {
    width: 90%;
  }
}

.top-banner-1 img {
  display: block;
}

.top-pickup-list {
  display: flex;
  flex-wrap: wrap;
}
.top-pickup-list .top-pickup-one {
  width: 160px;
  margin-right: 18px;
  margin-bottom: 18px;
  text-align: center;
  position: relative;
}
.top-pickup-list .top-pickup-one:nth-child(4n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .top-pickup-list .top-pickup-one {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
  }
  .top-pickup-list .top-pickup-one:nth-child(2n) {
    margin-right: 0;
  }
}
.top-pickup-list .top-pickup-one .top-one-img {
  padding-top: 100%;
}
.top-pickup-list .top-pickup-one .top-one-img a.top-one-avatar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-pickup-list .top-pickup-one .top-one-img a.top-one-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.top-one-img {
  border-radius: 10px;
  overflow: hidden;
  line-height: 1;
  position: relative;
}
.top-one-img .top-one-avatar {
  width: 100%;
  display: block;
  padding-top: 100%;
}
.top-one-img .top-one-avatar > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-one-img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-one-name {
  font-size: 14px;
  font-weight: bold;
  margin-top: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.therapist-name {
  font-size: 12px;
  font-weight: bold;
  margin: 5px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.therapist-age {
  font-size: 12px;
  font-weight: bold;
  margin: 5px 0;
}

.top-one-age {
  font-size: 14px;
  font-weight: bold;
  margin-top: 5px;
}

.top-one-tenpo {
  font-size: 12px;
  color: #808080;
  margin-top: 3px;
}

.top-one-time {
  font-size: 12px;
  font-weight: 500;
  color: #00bf63;
  margin-top: 3px;
}
.top-one-time.schedule-time {
  border: 1px solid #00bf63;
  border-radius: 20px;
}

.top-one-btn {
  display: block;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  border-radius: 5px;
  background: linear-gradient(to bottom, #00bf63 0%, #008749 100%);
  padding: 10px 0;
  text-align: center;
  margin-top: 10px;
  border: none;
  width: 100%;
  cursor: pointer;
}

.top-one-btn.disable {
  background: #ccc;
}

.top-ranking-list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .top-ranking-list {
    max-width: 500px;
    margin: auto;
  }
}
.top-ranking-list .top-ranking-one {
  width: 160px;
  margin-right: 18px;
  margin-bottom: 18px;
}
@media screen and (max-width: 768px) {
  .top-ranking-list .top-ranking-one {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 5%;
  }
  .top-ranking-list .top-ranking-one:nth-child(3n+1) {
    margin-right: 0;
  }
}
.top-ranking-list .top-ranking-one:nth-child(1) {
  width: 338px;
  display: flex;
  justify-content: space-between;
}
.top-ranking-list .top-ranking-one:nth-child(1) > div {
  width: 160px;
}
@media screen and (max-width: 768px) {
  .top-ranking-list .top-ranking-one:nth-child(1) {
    width: 100%;
    margin-right: 0;
  }
}
.top-ranking-list .top-ranking-one:nth-child(2) {
  width: 338px;
  display: flex;
  justify-content: space-between;
  margin-right: 0;
}
.top-ranking-list .top-ranking-one:nth-child(2) > div {
  width: 160px;
}
@media screen and (max-width: 768px) {
  .top-ranking-list .top-ranking-one:nth-child(2) {
    width: 30%;
    margin-right: 5%;
    display: block;
  }
  .top-ranking-list .top-ranking-one:nth-child(2) > div {
    width: auto;
  }
  .top-ranking-list .top-ranking-one:nth-child(2) > div:last-child {
    display: none;
  }
}
.top-ranking-list .top-ranking-one:nth-child(6) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .top-ranking-list .top-ranking-one:nth-child(6) {
    margin-right: 5%;
  }
}
.top-ranking-list .top-ranking-one:nth-child(10) {
  margin-right: 0;
}

.top-therapist-list {
  display: flex;
  flex-wrap: wrap;
}
.top-therapist-list .top-therapist-one {
  width: 160px;
  text-align: center;
  margin-right: 18px;
  margin-bottom: 18px;
}
.top-therapist-list .top-therapist-one:nth-child(4n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .top-therapist-list .top-therapist-one {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
  }
  .top-therapist-list .top-therapist-one:nth-child(2n) {
    margin-right: 0;
  }
}
.top-therapist-list .top-therapist-one .top-one-img {
  padding-top: 100%;
}
.top-therapist-list .top-therapist-one .top-one-img a.top-one-avatar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-therapist-list .top-therapist-one .top-one-img a.top-one-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.top-search .section-title {
  color: #fff;
}

.top-search {
  background-image: url(/images/map.png?68e52049a237985080767439942f7626);
  background-size: 278px;
  background-repeat: no-repeat;
  background-position: center center;
}
.top-search .top-areas-box .top-area-group.open .app-outline-btn {
  background-color: #fff;
  color: #00bf63;
  border: 1px solid #fff;
}
.top-search .top-areas-box .top-area-group .top-area-btn {
  background-color: #ffffcc;
}
.top-search .top-areas-box .top-area-group .top-area-btn:hover {
  opacity: 1;
}

.top-search-age {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top-search-age {
    text-align: center;
  }
}
.top-search-age span {
  color: #fff;
  font-weight: bold;
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  .top-search-age span {
    margin: 0 5px;
  }
}
.top-search-age select {
  width: 100px;
  height: 40px;
  padding: 0 10px;
  border: none;
  border-radius: 5px;
}

.top-areas-box {
  margin: 16px -3px 0;
  display: flex;
  flex-wrap: wrap;
}
.top-areas-box .top-area-group {
  width: calc(25% - 6px);
  margin: 3px;
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group {
    width: calc(50% - 6px);
  }
}
.top-areas-box .top-area-group.open .app-outline-btn {
  background-color: #00bf63;
  color: #fff;
}
.top-areas-box .top-area-group .area-prefs-box {
  background-color: #cef2d6;
  padding: 12px 14px;
  border-radius: 4px;
  display: none;
  position: relative;
  width: calc(400% + 18px);
  left: 0px;
  right: auto;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group .area-prefs-box {
    width: calc(200% + 6px);
  }
}
.top-areas-box .top-area-group .area-prefs-box::after {
  content: "";
  display: block;
  width: 12px;
  height: 9px;
  background-image: url(/images/ic-triangle_up_lightblue.png?450b921468b07edb630c973feb15f7a5);
  background-repeat: no-repeat;
  position: absolute;
  bottom: 100%;
  left: 12%;
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group .area-prefs-box::after {
    right: auto;
    left: calc((100% - 6px) / 4 - 5px);
  }
}
.top-areas-box .top-area-group .area-prefs-box .area-prefs-list {
  display: flex;
  flex-wrap: wrap;
  margin: -4px;
}
.top-areas-box .top-area-group .area-prefs-box .area-prefs-list .pref-span {
  display: inline-block;
  font-size: 12px;
  border-radius: 4px;
  background-color: white;
  border: 1px solid #cccccc;
  padding: 0px 6px;
  margin: 4px;
  cursor: pointer;
}
.top-areas-box .top-area-group .area-prefs-box .area-prefs-list .pref-span input {
  display: none;
}
.top-areas-box .top-area-group .area-prefs-box .area-prefs-list .pref-check input {
  display: none;
}
.top-areas-box .top-area-group .area-prefs-box .area-prefs-list .pref-check input:checked ~ .pref-span {
  background-color: #00bf63;
  color: white;
  border: 1px solid #00bf63;
}
.top-areas-box .top-area-group.open {
  position: relative;
}
.top-areas-box .top-area-group.open .area-prefs-box {
  display: block;
}
.top-areas-box .top-area-group:nth-child(4n-2) .area-prefs-box {
  left: auto;
  right: calc(100% + 6px);
}
.top-areas-box .top-area-group:nth-child(4n-2) .area-prefs-box::after {
  right: auto;
  left: calc((150% - 6px) / 4 - 5px);
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group:nth-child(4n-2) .area-prefs-box::after {
    left: auto;
    right: calc((100% - 6px) / 4 - 5px);
  }
}
.top-areas-box .top-area-group:nth-child(4n-1) .area-prefs-box {
  left: auto;
  right: calc(200% + 12px);
}
.top-areas-box .top-area-group:nth-child(4n-1) .area-prefs-box::after {
  right: auto;
  left: calc((250% - 6px) / 4 - 5px);
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group:nth-child(4n-1) .area-prefs-box::after {
    left: calc((100% - 6px) / 4 - 5px);
    right: auto;
  }
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group:nth-child(4n-1) .area-prefs-box {
    left: 0;
    right: auto;
  }
}
.top-areas-box .top-area-group:nth-child(4n) .area-prefs-box {
  left: auto;
  right: calc(300% + 18px);
}
.top-areas-box .top-area-group:nth-child(4n) .area-prefs-box::after {
  right: 12%;
  left: auto;
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group:nth-child(4n) .area-prefs-box::after {
    right: calc((100% - 6px) / 4 - 5px);
  }
}
@media screen and (max-width: 768px) {
  .top-areas-box .top-area-group:nth-child(4n) .area-prefs-box {
    left: auto;
    right: calc(100% + 6px);
  }
}
.top-areas-box .top-area-group .top-area-btn {
  width: 100%;
  padding: 15px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}

.top-search .top-areas-box .top-area-group .area-prefs-box {
  background-color: #f1f8f1;
}
.top-search .top-areas-box .top-area-group .area-prefs-box::after {
  background-image: url(/images/ic-triangle_up_lightgreen.png?4d2d45c28ce060df439cad8af869b206);
}

.top-banner-txt {
  text-align: center;
  color: #808080;
  margin-bottom: 20px;
}

.top-diary-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
  overflow: hidden;
  max-height: 380px;
  max-width: 616px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .top-diary-list {
    max-height: none;
    max-width: 320px;
    margin: auto;
  }
}
.top-diary-list .top-diary-one {
  display: block;
  width: 140px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .top-diary-list .top-diary-one {
    width: 100px;
  }
  .top-diary-list .top-diary-one.sp-hidden {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  .top-diary-list .top-diary-one {
    width: 90px;
  }
}
.top-diary-list .top-diary-one .top-diary-img {
  width: 100%;
  aspect-ratio: 10/9.7;
  border-radius: 10px;
  overflow: hidden;
  line-height: 1;
  position: relative;
  background-color: #f1f8f1;
}
.top-diary-list .top-diary-one .top-diary-img > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.top-diary-list .top-diary-one .top-diary-img .diary-picture {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.top-diary-list .top-diary-one .top-diary-img .empty-picture {
  padding-top: 1.7rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.top-diary-list .top-diary-one .top-diary-img .like-count {
  position: absolute;
  bottom: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.9);
  border-top-left-radius: 5px;
  border-bottom-right-radius: 5px;
  padding: 5px;
  font-size: 12px;
  display: flex;
  align-items: center;
}
.top-diary-list .top-diary-one .top-diary-img .like-count img {
  margin-right: 5px;
}
.top-diary-list .top-diary-one .top-diary-editor {
  margin-top: 5px;
  display: grid;
  grid-template-columns: 35px 1fr;
  align-items: center;
}
.top-diary-list .top-diary-one .top-diary-editor .top-diary-editor-img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 10px;
}
.top-diary-list .top-diary-one .top-diary-editor .top-diary-editor-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.top-diary-list .top-diary-one .top-diary-editor .top-diary-content {
  width: 100%;
  font-size: 10px;
}
.top-diary-list .top-diary-one .top-diary-editor .top-diary-content .top-diary-ttl {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.top-diary-list .top-diary-one .top-diary-editor .top-diary-content .top-diary-date {
  color: #808080;
}

.top-review-one {
  display: block;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .top-review-one {
    padding: 10px;
    margin-bottom: 10px;
  }
}
.top-review-one .top-review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .top-review-one .top-review-header {
    margin-bottom: 5px;
  }
}
.top-review-one .top-review-header .top-review-header-left {
  display: flex;
  align-items: center;
}
.top-review-one .top-review-header .top-review-header-left .top-review-img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 15px;
}
.top-review-one .top-review-header .top-review-header-left .top-review-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-review-one .top-review-header .top-review-header-left .top-review-name {
  font-size: 16px;
  font-weight: bold;
}
.top-review-one .top-review-header .top-review-header-left .top-review-stars {
  display: flex;
  align-items: center;
  font-size: 12px;
  font-weight: bold;
}
.top-review-one .top-review-header .top-review-header-right {
  text-align: right;
  font-size: 12px;
}
.top-review-one .top-review-header .top-review-header-right .top-review-shop {
  color: #808080;
}
.top-review-one .top-review-txt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 12px;
  word-break: break-all;
}

.top-word-list {
  display: flex;
  flex-wrap: wrap;
}
.top-word-list .empty-message {
  margin: 0 auto 20px auto;
}
.top-word-list .top-word-one {
  display: flex;
  background-color: #f1f8f1;
  border-radius: 10px;
  padding: 10px;
  width: 49%;
  margin-right: 2%;
  margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
  .top-word-list .top-word-one {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.top-word-list .top-word-one:nth-child(2n) {
  margin-right: 0;
}
.top-word-list .top-word-one .top-word-img {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  margin-right: 10px;
}
.top-word-list .top-word-one .top-word-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-word-list .top-word-one .top-word-content {
  width: calc(100% - 90px);
}
.top-word-list .top-word-one .top-word-content .top-word-name {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.top-word-list .top-word-one .top-word-content .top-word-age {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}
.top-word-list .top-word-one .top-word-content .top-word-txt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 12px;
  margin-bottom: 4px;
  min-height: 36px;
}
.top-word-list .top-word-one .top-word-content .top-word-date {
  text-align: right;
  color: #808080;
  font-size: 12px;
}

.top-coupon-list {
  display: flex;
  flex-wrap: wrap;
}
.top-coupon-list .top-coupon-one {
  display: flex;
  align-items: center;
  width: 49%;
  margin-right: 2%;
  margin-bottom: 2%;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
}
.top-coupon-list .top-coupon-one:nth-child(2n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .top-coupon-list .top-coupon-one {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.top-coupon-list .top-coupon-one .top-coupon-img {
  width: 70px;
  height: 70px;
  margin-right: 10px;
}
.top-coupon-list .top-coupon-one .top-coupon-img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-coupon-list .top-coupon-one .top-coupon-content {
  width: calc(100% - 80px);
  padding-right: 10px;
}
.top-coupon-list .top-coupon-one .top-coupon-content .top-coupon-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 14px;
  font-weight: bold;
}
.top-coupon-list .top-coupon-one .top-coupon-content .top-coupon-txt {
  font-size: 12px;
}
.top-coupon-list .top-coupon-one .top-coupon-content .top-coupon-txt span {
  font-size: 16px;
  font-weight: bold;
  color: #ff2300;
}
.top-coupon-list .top-coupon-one .top-coupon-content .top-coupon-shop {
  font-size: 12px;
}

.top-news-list {
  display: flex;
  flex-wrap: wrap;
}
.top-news-list .top-news-one {
  width: 49%;
  margin-right: 2%;
  margin-bottom: 2%;
  border-radius: 10px;
  overflow: hidden;
  background-color: #f1f8f1;
  display: flex;
  align-items: center;
}
.top-news-list .top-news-one:nth-child(2n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .top-news-list .top-news-one {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.top-news-list .top-news-one .top-news-img {
  width: 80px;
  height: 80px;
  margin-right: 10px;
  position: relative;
  background-color: #f2f2f2;
}
.top-news-list .top-news-one .top-news-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.top-news-list .top-news-one .top-news-img .news-no-img {
  -o-object-fit: contain;
     object-fit: contain;
}
.top-news-list .top-news-one .top-news-content {
  padding-right: 10px;
  width: calc(100% - 90px);
}
.top-news-list .top-news-one .top-news-content .top-news-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 12px;
  margin-bottom: 4px;
}
.top-news-list .top-news-one .top-news-content .top-news-date {
  color: #808080;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
}
.top-news-list .top-news-one .top-news-content .top-news-date .news-cat {
  font-size: 10px;
  padding: 2px 6px;
  border: 1px solid #808080;
  border-radius: 3px;
}

.top-column {
  padding: 0;
}
.top-column .top-column-header {
  padding: 20px 10px 0;
}
@media screen and (min-width: 835px) {
  .top-column .top-column-header {
    padding: 36px 36px 0;
  }
}
.top-column .top-column-list {
  margin-bottom: 20px;
}

.top-column-subtxt {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 20px;
}

.top-column-one {
  display: flex;
  align-items: flex-start;
  background-color: #fff;
  border-radius: 0;
  overflow: hidden;
  border-bottom: 1px solid #ccc;
  padding: 14px;
  position: relative;
}
.top-column-one:first-child {
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .top-column-one {
    padding: 10px;
  }
}
.top-column-one .top-column-img {
  width: 248px;
  height: 124px;
  margin-right: 15px;
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .top-column-one .top-column-img {
    width: 160px;
    height: 80px;
  }
}
.top-column-one .top-column-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-column-one .top-column-title {
  padding-right: 10px;
  width: calc(100% - 150px);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .top-column-one .top-column-title {
    font-size: 14px;
  }
}

.top-footer-banners {
  padding-top: 40px;
  padding-bottom: 30px;
}

.top-company-banners {
  padding-top: 40px;
  text-align: center;
  padding-bottom: 30px;
}
.top-company-banners .company-banner-text {
  text-align: center;
  margin-bottom: 8px;
}
.top-company-banners .company-banner-image {
  margin-bottom: 16px;
}
@media screen and (min-width: 835px) {
  .top-company-banners .company-banner-image {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
}

.top-text-01 {
  text-align: center;
  font-size: 12px;
  margin-top: 16px;
}

.top-about {
  margin: 50px 0;
  padding: 10px;
}
.top-about .app-bottom-accordion .bottom-accordion-body .bottom-accordion-overlap {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}

.top-news.top-news-2 {
  padding-left: 0;
  padding-right: 0;
}
.top-news.top-news-2 .section-title {
  margin-left: 20px;
  margin-right: 20px;
}
@media screen and (min-width: 835px) {
  .top-news.top-news-2 .section-title {
    margin-left: auto;
    margin-right: auto;
  }
}
.top-news.top-news-2 .top-news-list .top-news-item {
  border-radius: 0;
  border-left: none;
  border-right: none;
}

.top-topics.top-topics-2 {
  padding-left: 0;
  padding-right: 0;
}
.top-topics.top-topics-2 .section-title {
  margin-left: 20px;
  margin-right: 20px;
}
@media screen and (min-width: 835px) {
  .top-topics.top-topics-2 .section-title {
    margin-left: auto;
    margin-right: auto;
  }
}
.top-topics.top-topics-2 .top-topics-list .top-topic-item {
  border-radius: 0;
  border-left: none;
  border-right: none;
}

.column-sub-title {
  color: #00bf63;
  font-weight: bold;
  font-size: 18px;
}

.column-point {
  color: #00bf63;
  font-weight: bold;
  font-size: 16px;
}

.column-recruit {
  text-align: center;
  color: #2b2f93;
  font-weight: bold;
}

.register-banner-1 img {
  display: block;
}

.register-banner-2 img {
  display: block;
}

.register-banner-3 img {
  display: block;
}

.register-banner-4 img {
  display: block;
}

.register-banner-4-2 {
  position: relative;
}
.register-banner-4-2 .scroll-point {
  position: absolute;
  top: -60px;
}
@media screen and (min-width: 835px) {
  .register-banner-4-2 .scroll-point {
    top: -95px;
  }
}
.register-banner-4-2 img {
  display: block;
}

.register-form-section {
  padding: 15px 20px;
}
.register-form-section .register-form-section-txt {
  text-align: center;
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-section-txt {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
.register-form-section .register-form-section-title {
  text-align: center;
  color: #00BF63;
  font-size: 16px;
  margin: 15px 0;
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-section-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
.register-form-section .register-form-section-sub-title {
  display: inline-block;
  text-align: center;
  color: #00BF63;
  font-size: 16px;
  line-height: 6px;
  border-bottom: 16px solid yellow;
  margin: 15px auto;
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-section-sub-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
.register-form-section .text-01 {
  text-align: right;
  color: #666666;
  font-size: 12px;
  margin-bottom: 4px;
}
@media screen and (min-width: 835px) {
  .register-form-section .text-01 {
    font-size: 14px;
  }
}
.register-form-section .register-form-box {
  padding: 25px 20px;
  background-color: #F1F8F1;
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-box {
    padding: 60px;
  }
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-box .front-form-label {
    width: 210px;
  }
}
.register-form-section .register-form-box .register-areas-box {
  display: flex;
  flex-wrap: wrap;
  margin: -3px;
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-box .register-areas-box {
    margin: -4px;
  }
}
.register-form-section .register-form-box .register-areas-box .area-group {
  width: calc(50% - 6px);
  margin: 3px;
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-box .register-areas-box .area-group {
    width: 92px;
    margin: 4px;
  }
}
.register-form-section .register-form-box .register-areas-box .area-group .app-outline-btn {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.register-form-section .register-form-box .register-areas-box .area-group .area-prefs-box {
  background-color: #fff;
  padding: 12px 14px;
  border-radius: 4px;
  display: none;
  position: relative;
  width: calc(200% + 6px);
  left: auto;
  right: calc(300% + 18px);
  margin-top: 12px;
  z-index: 1;
}
@media screen and (min-width: 835px) {
  .register-form-section .register-form-box .register-areas-box .area-group .area-prefs-box {
    width: 392px;
  }
}
.register-form-section .register-form-box .register-areas-box .area-group .area-prefs-box .area-prefs-list {
  display: flex;
  flex-wrap: wrap;
  align-self: center;
  margin: -4px;
}
.register-form-section .register-form-box .register-areas-box .area-group .area-prefs-box .area-prefs-list label {
  margin: 4px;
}
.register-form-section .register-form-box .register-areas-box .area-group .area-prefs-box .area-prefs-list label input {
  margin: -2px 0 0 0;
  vertical-align: middle;
}
.register-form-section .register-form-box .register-areas-box .area-group .area-prefs-box .area-prefs-list .pref-span {
  display: inline-block;
  font-size: 12px;
  cursor: pointer;
}
.register-form-section .register-form-box .register-areas-box .area-group.open {
  position: relative;
}
.register-form-section .register-form-box .register-areas-box .area-group.open .area-btn {
  background-color: #00BF63;
  color: #fff;
}
.register-form-section .register-form-box .register-areas-box .area-group.open .area-prefs-box {
  display: block;
}
.register-form-section .register-form-box .register-areas-box .area-group:nth-child(2n+1) .area-prefs-box {
  left: 0;
  right: calc(200% + 6px);
}
.register-form-section .register-form-box .register-areas-box .area-group:nth-child(2n) .area-prefs-box {
  left: calc(-100% - 6px);
}
.register-form-section .register-form-box .register-terms-row {
  text-align: center;
  margin-top: 24px;
}
.register-form-section .register-form-box .password-forget {
  text-align: center;
}
.register-form-section .register-form-box .register-button-row {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 10px;
}

.register-login-section {
  padding: 40px 20px 20px;
}
@media screen and (min-width: 835px) {
  .register-login-section {
    padding-top: 54px;
    padding-bottom: 40px;
  }
}
.register-login-section h2 {
  font-size: 16px;
  font-weight: bold;
  color: #00BF63;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 835px) {
  .register-login-section h2 {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}
.register-login-section h2::before, .register-login-section h2::after {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  background-color: #00BF63;
}
.register-login-section h2::before {
  position: absolute;
  left: calc((100% - 264px) / 4);
  top: 50%;
  transform: rotate(70deg);
}
.register-login-section h2::after {
  position: absolute;
  right: calc((100% - 264px) / 4);
  top: 50%;
  transform: rotate(110deg);
}
.register-login-section .text-01 {
  text-align: center;
  margin: 20px 0 10px;
}
.register-login-section .login-btn-row {
  text-align: center;
  margin-top: 16px;
}

.register-areas-box {
  margin: -3px;
  display: flex;
  flex-wrap: wrap;
}
.register-areas-box .register-area-btn {
  width: calc(50% - 6px);
  margin: 3px;
}

.register-complete-section .text-01 {
  text-align: center;
  font-size: 16px;
  margin-top: 30px;
}
.register-complete-section .profile-btn-row {
  margin-top: 50px;
  text-align: center;
}
.register-complete-section .text-02 {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 50px;
}
@media screen and (min-width: 835px) {
  .register-complete-section .text-02 {
    display: block;
    text-align: left;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.mypage-section {
  padding: 20px;
  background-color: #f1f8f1;
}
@media screen and (min-width: 835px) {
  .mypage-section {
    padding: 48px 45px;
  }
}
.mypage-section .mypage-section-ttl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}
.mypage-section .mypage-nav-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
}
.mypage-section .mypage-nav-buttons .mypage-nav-btn {
  font-size: 12px;
  line-height: 14px;
  color: white;
  width: 160px;
  height: 56px;
  border-radius: 4px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-nav-buttons .mypage-nav-btn {
    font-size: 16px;
    width: 345px;
  }
}
.mypage-section .mypage-nav-buttons .mypage-nav-btn.mypage-contact-btn {
  background-color: #00bf63;
  letter-spacing: -0.5px;
}
.mypage-section .mypage-nav-buttons .mypage-nav-btn.mypage-message-btn {
  background-color: #00bf63;
  margin-left: 14px;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-nav-buttons .mypage-nav-btn.mypage-message-btn {
    margin-left: 20px;
  }
}
.mypage-section .mypage-nav-buttons .mypage-nav-btn.mypage-message-btn .message-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background-color: #ff2300;
  color: #ffffff;
  font-size: 12px;
  margin-left: 4px;
}
.mypage-section .mypage-warning {
  text-align: center;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-warning {
    font-size: 16px;
  }
}
.mypage-section .mypage-warning a {
  font-size: 12px;
  text-decoration: underline;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-warning a {
    font-size: 16px;
  }
}
.mypage-section .mypage-box-title {
  font-size: 12px;
  color: #666666;
  margin-bottom: 8px;
  margin-top: 32px;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-box-title {
    font-size: 14px;
    margin-top: 43px;
    margin-bottom: 6px;
  }
}
.mypage-section .mypage-profile-button-row {
  text-align: center;
  margin-top: 26px;
}
.mypage-section .mypage-text-01 {
  font-size: 12px;
  line-height: 20px;
  letter-spacing: -0.7px;
  margin-top: 24px;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-text-01 {
    width: -moz-max-content;
    width: max-content;
    text-align: center;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}
.mypage-section .mypage-menu-box-title {
  margin-top: 30px;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-menu-box-title {
    margin-top: 40px;
  }
}
.mypage-section .mypage-menu-box {
  margin-top: 10px;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-menu-box {
    padding: 36px 32px;
  }
}
.mypage-section .mypage-menu-box .front-form-label {
  color: #666666;
}
.mypage-section .mypage-menu-box .front-form-label .text-danger {
  font-size: 10px;
}
.mypage-section .mypage-menu-box .front-form-control select {
  border: 1px solid #cccccc;
}
.mypage-section .mypage-menu-form .front-form-group {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 26px;
}
.mypage-section .mypage-menu-form .front-form-group .front-form-label {
  width: 100%;
}
.mypage-section .mypage-menu-form .front-form-group > div {
  flex: auto;
}
.mypage-section .mypage-menu-form .mypage-menu-form-button-row {
  text-align: center;
}
.mypage-section .mypage-menu-form .block-shops {
  margin-bottom: 10px;
}
.mypage-section .mypage-menu-form .block-shops .block-shops-box {
  display: flex;
  flex-wrap: wrap;
  margin: -4px;
}
.mypage-section .mypage-menu-form .block-shops .block-shops-box label {
  margin: 4px;
}
.mypage-section .mypage-menu-form .block-shops .block-shops-accordion {
  display: block;
  text-align: center;
  width: 100%;
}
.mypage-section .mypage-menu-form .block-shops .block-shops-accordion img {
  width: 20px;
  transition-duration: 0.3s;
  cursor: pointer;
}
.mypage-section .mypage-menu-form .block-shops .block-shops-accordion img.open {
  transform: rotate(180deg);
}
.mypage-section .mypage-menu-form .text-01 {
  margin-top: 10px;
}
@media screen and (min-width: 835px) {
  .mypage-section .mypage-menu-form .text-01 {
    margin-top: 20px;
  }
}

.account-info-change-btn {
  display: flex;
  flex-flow: column;
  width: auto !important;
}
.account-info-change-btn#user-btn {
  align-items: flex-start;
}
.account-info-change-btn .mypage-account-button {
  width: 100%;
  margin-bottom: 10px;
}

.account-info-flex {
  justify-content: space-between;
}

.account-info-area {
  padding: 0 16px;
}

.mypage-box {
  background-color: #ffffff;
  padding: 22px 16px;
}
.mypage-box.mypage-account-box {
  display: flex;
  flex-wrap: wrap;
}
.mypage-box.mypage-account-box .mypage-account-info {
  display: inline-block;
  margin: 10px 0;
}
.mypage-box.mypage-account-box .mypage-account-info:first-child {
  margin-top: 0;
}
.mypage-box.mypage-account-box .mypage-account-info:last-child {
  margin-bottom: 0;
}
.mypage-box.mypage-account-box .mypage-account-info.mypage-account-flex {
  display: flex;
  align-items: baseline;
}
.mypage-box.mypage-account-box .mypage-account-info label {
  font-size: 14px;
  color: #808080;
  width: 100%;
}
.mypage-box.mypage-account-box .mypage-account-info div {
  font-size: 14px;
}
.mypage-box.mypage-account-box .mypage-account-info div.mypage-account-name {
  margin-right: 20px;
}
.mypage-box.mypage-account-box .mypage-account-info.mypage-account-name {
  width: 100%;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-account-box .mypage-account-info.mypage-account-name {
    width: 25%;
  }
}
.mypage-box.mypage-account-box .mypage-account-info.mypage-account-flex {
  width: 100%;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-account-box .mypage-account-info.mypage-account-flex {
    width: 40%;
  }
}
.mypage-box.mypage-account-box .mypage-account-button-row {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-account-box .mypage-account-button-row {
    width: 40%;
  }
}
.mypage-box.mypage-picture-box {
  padding: 30px;
  margin-bottom: 0;
}
.mypage-box.mypage-picture-box .mypage-picture-block {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: -5px;
  margin-right: -5px;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-picture-box .mypage-picture-block {
    margin-left: -10px;
    margin-right: -10px;
  }
}
.mypage-box.mypage-picture-box .mypage-picture-block .mypage-picture {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-left: 5px;
  margin-right: 5px;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-picture-box .mypage-picture-block .mypage-picture {
    margin-left: 10px;
    margin-right: 10px;
  }
}
.mypage-box.mypage-picture-box .mypage-picture-block .mypage-picture label {
  font-size: 12px;
  color: #666666;
  margin-bottom: 6px;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-picture-box .mypage-picture-block .mypage-picture label {
    font-size: 14px;
    margin-bottom: 12px;
  }
}
.mypage-box.mypage-picture-box .mypage-picture-block .mypage-picture img {
  width: 90px;
  height: 90px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 100%;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-picture-box .mypage-picture-block .mypage-picture img {
    width: 140px;
    height: 140px;
  }
}
.mypage-box.mypage-picture-box .mypage-picture-button-row {
  text-align: center;
  margin-top: 20px;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-picture-box .mypage-picture-button-row {
    margin-top: 30px;
  }
}
.mypage-box.mypage-picture-box .mypage-picture-text {
  font-size: 12px;
  line-height: 20px;
  letter-spacing: -0.7px;
  margin-top: 20px;
}
@media screen and (min-width: 835px) {
  .mypage-box.mypage-picture-box .mypage-picture-text {
    width: -moz-max-content;
    width: max-content;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
  }
}

.warning-section .warnings-list .warning-item {
  display: flex;
  gap: 16px;
  margin-bottom: 8px;
}
.warning-section .warnings-list .warning-item .warning-date {
  flex-shrink: 0;
}
.warning-section .warnings-list .warning-item .warning-title {
  flex-grow: 1;
  text-decoration: underline;
}

.warning-detail-section .warning-title {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 16px;
}
@media screen and (min-width: 835px) {
  .warning-detail-section .warning-title {
    font-size: 18px;
    margin-bottom: 24px;
  }
}
.warning-detail-section .warning-date {
  font-size: 12px;
  text-align: right;
  margin-bottom: 24px;
}
@media screen and (min-width: 835px) {
  .warning-detail-section .warning-date {
    margin-bottom: 36px;
  }
}
.warning-detail-section .warning-content {
  margin-bottom: 20px;
}
@media screen and (min-width: 835px) {
  .warning-detail-section .warning-content {
    margin-bottom: 32px;
  }
}

.mypage-alert {
  padding: 15px;
  text-align: center;
}
@media screen and (min-width: 835px) {
  .mypage-alert {
    padding: 30px;
  }
}

.mypage-profile .mypage-profile-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.mypage-profile .mypage-profile-inner .profile-image {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
}
.mypage-profile .mypage-profile-inner .profile-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mypage-profile .mypage-profile-inner .profile-btns {
  flex: 1;
}
@media screen and (min-width: 835px) {
  .mypage-profile .mypage-profile-inner .profile-btns {
    flex: 0;
  }
}
.mypage-profile .mypage-profile-inner .profile-btns .profile-name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
.mypage-profile .mypage-profile-inner .profile-btns .app-btn {
  width: 100%;
  padding: 0;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .mypage-profile .mypage-profile-inner .profile-btns .app-btn {
    width: 300px;
  }
}
.mypage-profile .mypage-profile-inner .profile-btns .app-btn:disabled {
  background: #ccc;
  cursor: default;
}
.mypage-profile .mypage-profile-inner .profile-btns .app-btn:disabled:hover {
  opacity: 1;
}
.mypage-profile .mypage-profile-inner .profile-btns .no-room {
  text-align: center;
}
.mypage-profile .mypage-profile-inner .mypage-image {
  width: 120px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
}
.mypage-profile .mypage-profile-inner .mypage-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mypage-profile .mypage-profile-inner .mypage-profile-btns {
  flex: 1;
}
@media screen and (min-width: 835px) {
  .mypage-profile .mypage-profile-inner .mypage-profile-btns {
    flex: 0;
  }
}
.mypage-profile .mypage-profile-inner .mypage-profile-btns .app-btn {
  width: 100%;
  padding: 0;
}
@media screen and (min-width: 835px) {
  .mypage-profile .mypage-profile-inner .mypage-profile-btns .app-btn {
    width: 300px;
  }
}
.mypage-profile .mypage-profile-inner .mypage-profile-btns .app-btn:first-child {
  margin-bottom: 20px;
}
.mypage-profile .mypage-profile-inner .mypage-profile-btns .app-btn img {
  margin-right: 10px;
}

.app-btn .count {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #ff2300;
  color: #fff;
  font-size: 10px;
  font-weight: normal;
  margin-left: 10px;
}
@media screen and (min-width: 835px) {
  .app-btn .count {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }
}

.mypage-profile-edit {
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .mypage-profile-edit {
    font-size: 14px;
  }
}
.mypage-profile-edit .mypage-profile-edit-one h2 {
  background-color: #00bf63;
  color: #fff;
  padding: 15px 0;
  text-align: center;
  font-size: 16px;
}
.mypage-profile-edit .mypage-profile-edit-one h3 {
  background-color: #f1f8f1;
  color: #00bf63;
  padding: 15px 0;
  text-align: center;
  font-size: 16px;
}
.mypage-profile-edit .mypage-profile-edit-one > div {
  padding: 20px;
}
@media screen and (min-width: 835px) {
  .mypage-profile-edit .mypage-profile-edit-one > div {
    padding: 30px;
  }
}
.mypage-profile-edit .mypage-profile-edit-one > div textarea {
  width: 100%;
  height: 220px;
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
  font-size: 15px;
}
.mypage-profile-edit .mypage-profile-edit-one > div textarea.title-textarea {
  height: 100px;
}
.mypage-profile-edit .mypage-profile-edit-one > div p {
  margin: 10px 0;
}
.mypage-profile-edit .mypage-profile-edit-one > div .app-btn-wrap {
  text-align: center;
  margin-top: 15px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .app-btn-wrap:first-child {
  margin-top: 0;
}
.mypage-profile-edit .mypage-profile-edit-one > div .app-btn-wrap .app-btn {
  width: 280px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .app-btn-wrap .app-btn.w100 {
  width: 100%;
}
.mypage-profile-edit .mypage-profile-edit-one > div .app-btn-wrap .app-btn img {
  margin-right: 5px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .app-btn-wrap .app-outline-btn {
  width: 280px;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 14px 0;
}
.mypage-profile-edit .mypage-profile-edit-one > div .front-form-control {
  font-size: 15px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-edit-select-date {
  display: flex;
  align-items: center;
  margin: 10px 0;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-edit-select-date select {
  padding: 5px;
  border: 1px solid #ccc;
  background-color: #fff;
  margin: 0 10px;
  width: 100px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-news li {
  margin-bottom: 10px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-news li:last-child {
  margin-bottom: 0;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-news li a {
  display: flex;
  width: 100%;
  border-radius: 5px;
  padding: 10px 30px;
  position: relative;
  background-color: #f2f2f2;
  font-size: 14px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-news li a span {
  margin-right: 15px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-news li a p {
  margin: 0;
  width: calc(100% - 65px);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-news li a:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #00bf63;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-news li a:after {
  content: "";
  position: absolute;
  background: url(/images/arrow-right-green.svg?86ae99dfd61aaebdda63d58eb2ab603c) no-repeat;
  background-size: contain;
  width: 6px;
  height: 9px;
  top: 50%;
  margin-top: -4.5px;
  right: 10px;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-flex {
  display: flex;
  justify-content: space-between;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-flex .icon-image {
  text-align: center;
  width: 80px;
}
@media screen and (min-width: 835px) {
  .mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-flex .icon-image {
    width: 200px;
  }
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-flex .icon-image .icon-image-img img {
  border-radius: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-flex .mypage-profile-content {
  width: calc(100% - 90px);
}
@media screen and (min-width: 835px) {
  .mypage-profile-edit .mypage-profile-edit-one > div .mypage-profile-flex .mypage-profile-content {
    width: calc(100% - 200px);
  }
}
.mypage-profile-edit .mypage-profile-edit-one .top-areas-box .top-area-group .area-prefs-box {
  background-color: #f1f8f1;
}
.mypage-profile-edit .mypage-profile-edit-one .top-areas-box .top-area-group .area-prefs-box::after {
  background-image: url(/images/ic-triangle_up_lightgreen.png);
}

.mypage-btns {
  text-align: center;
}
.mypage-btns a {
  font-size: 12px;
}
.mypage-btns a.app-btn.w100 {
  max-width: 100%;
}
.mypage-btns a.app-outline-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 0;
}
.mypage-btns .flex {
  display: flex;
  justify-content: space-between;
}
.mypage-btns .flex a {
  width: 49%;
}

.profile-section {
  background-color: #F1F8F1;
  padding: 20px 20px;
}
@media screen and (min-width: 835px) {
  .profile-section {
    padding: 40px 45px;
  }
}
.profile-section .front-form-group {
  flex-direction: column;
}
.profile-section .front-form-group .front-form-label {
  width: 100%;
}
.profile-section .front-form-group > div {
  width: 100%;
}
.profile-section .form-button-row {
  text-align: center;
}
.profile-section .pr-input {
  height: 200px;
}
@media screen and (min-width: 835px) {
  .profile-section .pr-input {
    height: 150px;
  }
}
.profile-section .reason-input {
  height: 200px;
}
@media screen and (min-width: 835px) {
  .profile-section .reason-input {
    height: 150px;
  }
}
.profile-section .review-input {
  height: 110px;
}
@media screen and (min-width: 835px) {
  .profile-section .review-input {
    height: 85px;
  }
}
.profile-section .career-input {
  height: 60px;
}
@media screen and (min-width: 835px) {
  .profile-section .career-input {
    height: 66px;
  }
}
.profile-section .hobby-input {
  height: 60px;
}
@media screen and (min-width: 835px) {
  .profile-section .hobby-input {
    height: 66px;
  }
}
.profile-section .other-input {
  height: 110px;
}
@media screen and (min-width: 835px) {
  .profile-section .other-input {
    height: 85px;
  }
}
.profile-section .years-input {
  width: 110px;
}
.profile-section .height-weight {
  display: flex;
}
.profile-section .height-weight .front-form-group {
  width: 50%;
}
@media screen and (min-width: 835px) {
  .profile-section .height-weight .front-form-group {
    width: auto;
  }
}
.profile-section .height-weight .front-form-group .front-form-control {
  max-width: 100px;
  margin-right: 10px;
}
.profile-section .number_of_experiences-input {
  width: 110px;
}
.profile-section .pictures-edit {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding-top: 20px;
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .profile-section .pictures-edit {
    padding-top: 40px;
  }
}
.profile-section .pictures-edit .front-form-group {
  width: 200px;
  margin-left: 10px;
  margin-right: 10px;
}
.profile-section .pictures-edit .front-form-group label {
  text-align: center;
}
.profile-section .pictures-edit .user-picture {
  text-align: center;
  margin-bottom: 10px;
}
.profile-section .pictures-edit .user-picture img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 9999px;
}
.profile-section .withdraw-button-row {
  margin-top: 20px;
  text-align: center;
}
.profile-section .withdraw-button-row .app-outline-btn {
  font-size: 12px;
  width: 200px;
  height: 36px;
  padding: 7px 14px;
}

.front-rooms-section {
  margin-top: 20px;
  min-height: 300px;
}
.front-rooms-section .front-rooms-action {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
@media screen and (min-width: 835px) {
  .front-rooms-section .front-rooms-action {
    justify-content: flex-end;
  }
}
.front-rooms-section .front-rooms-action .app-outline-btn {
  width: 175px;
  cursor: pointer;
}
.front-rooms-section .front-rooms-action .app-outline-btn.active {
  background-color: #00BF63;
  color: #ffffff;
}
.front-rooms-section .front-room {
  display: flex;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #ccc;
}
.front-rooms-section .front-room .room-favorite-btn {
  cursor: pointer;
  margin-right: 12px;
}
.front-rooms-section .front-room .room-favorite-btn .favorite-on {
  display: none;
}
.front-rooms-section .front-room .room-favorite-btn .favorite-off {
  display: block;
}
.front-rooms-section .front-room .room-favorite-btn.room-favorite-btn-favorite .favorite-on {
  display: block;
}
.front-rooms-section .front-room .room-favorite-btn.room-favorite-btn-favorite .favorite-off {
  display: none;
}
.front-rooms-section .front-room .room-image {
  width: 64px;
  height: 64px;
  position: relative;
  margin-right: 16px;
}
.front-rooms-section .front-room .room-image .shop-picture {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.front-rooms-section .front-room .room-content {
  flex: 1;
  width: calc(100% - 80px);
}
.front-rooms-section .front-room .room-content .room-block {
  background: #FF2600;
  color: #fff;
  padding: 0 10px;
  margin-right: 5px;
  font-size: 12px;
}
.front-rooms-section .front-room .room-content .room-content-up {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  margin-bottom: 8px;
}
.front-rooms-section .front-room .room-content .room-content-up .room-username {
  display: flex;
  align-items: center;
  max-width: calc(100% - 75px);
}
.front-rooms-section .front-room .room-content .room-content-up .room-username .front-badge {
  margin-left: 4px;
}
.front-rooms-section .front-room .room-content .room-content-up .message-time {
  font-size: 10px;
}
.front-rooms-section .front-room .room-content .comment-message {
  display: inline-block;
  width: 100%;
  height: 42px;
  overflow: hidden;
  white-space: nowrap;
  white-space: normal;
  text-overflow: ellipsis;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.front-rooms-section .front-rooms-empty {
  text-align: center;
  line-height: 2;
  font-weight: bold;
  color: #00BF63;
  margin-top: 20px;
}

.front-message-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.front-message-header .message-block {
  padding: 10px;
}
.front-message-header .message-block .message-block-btn {
  width: 100px;
  color: #ffffff;
  background-color: #00BF63;
  border: 1px solid #00BF63;
  cursor: pointer;
}
.front-message-header .message-block .message-block-btn.blocked {
  background-color: #FF2600;
  border: 1px solid #FF2600;
}

@media screen and (min-width: 835px) {
  .front-message-box {
    margin-top: 20px;
  }
}
.front-message-box .front-message-window {
  height: calc(100vh - 230px);
  background-color: #F0F8F0;
  border: 1px solid #cccccc;
  overflow: auto;
  padding: 0 10px;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-window {
    height: calc(100vh - 430px);
    padding: 0 16px;
  }
}
.front-message-box .front-message-window .front-message-list .message-box {
  display: flex;
  justify-content: flex-start;
  align-items: start;
  gap: 8px;
  margin: 8px 0;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-window .front-message-list .message-box {
    gap: 12px;
    margin: 16px 0;
  }
}
.front-message-box .front-message-window .front-message-list .message-box.self {
  justify-content: flex-end;
}
.front-message-box .front-message-window .front-message-list .message-box .message-user {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.front-message-box .front-message-window .front-message-list .message-box .message-user .user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 40px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border: 1px solid #cccccc;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-window .front-message-list .message-box .message-user .user-avatar {
    width: 48px;
    height: 48px;
    border-radius: 48px;
  }
}
.front-message-box .front-message-window .front-message-list .message-box .message-user .user-name {
  font-size: 12px;
}
.front-message-box .front-message-window .front-message-list .message-box .message-content {
  width: 100%;
  max-width: 60%;
  background-color: #FFFFFF;
  padding: 8px;
  border-radius: 4px;
  word-break: break-word;
  white-space: normal;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-window .front-message-list .message-box .message-content {
    padding: 16px;
    border-radius: 8px;
  }
}
.front-message-box .front-message-window .front-message-list .message-box .message-content img {
  display: block;
}
.front-message-box .front-message-window .front-message-list .message-box .message-content.message-reservation {
  color: #FFFFFF;
  background-color: #f47446;
}
.front-message-box .front-message-window .front-message-list .message-box.self .message-content {
  color: #ffffff;
  background-color: #00BF63;
}
.front-message-box .front-message-window .front-message-list .message-box.self .message-content.message-reservation {
  color: #FFFFFF;
  background-color: #f47446;
}
.front-message-box .front-message-window .front-message-list .message-box .message-time {
  font-size: 9px;
  align-self: end;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-window .front-message-list .message-box .message-time {
    font-size: 10px;
  }
}
.front-message-box .front-message-footer {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-footer {
    margin-top: 10px;
  }
}
.front-message-box .front-message-footer .message-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: 1px solid #cccccc;
  border-bottom: none;
  padding: 6px 10px;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-footer .message-toolbar {
    padding: 8px;
  }
}
.front-message-box .front-message-footer .message-toolbar .message-image-input {
  flex: 1;
  flex-grow: 1;
}
.front-message-box .front-message-footer .message-input {
  font-size: 14px;
  line-height: 18px;
  width: calc(100% - 80px);
  height: 100px;
  outline: none;
  resize: none;
  padding: 6px 10px;
  border: 1px solid #cccccc;
}
@media screen and (min-width: 835px) {
  .front-message-box .front-message-footer .message-input {
    font-size: 14px;
    line-height: 18px;
    padding: 8px;
  }
}
.front-message-box .front-message-footer .message-btn {
  width: 80px;
  height: 100px;
  color: #ffffff;
  background-color: #00BF63;
  border: 1px solid #00BF63;
  border-left: none;
  cursor: pointer;
}

.block-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.block-item .block-user {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.block-item .block-user .block-user-image {
  width: 40px;
  height: 40px;
  border-radius: 40px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border: 1px solid #cccccc;
  overflow: hidden;
}
@media screen and (min-width: 835px) {
  .block-item .block-user .block-user-image {
    width: 60px;
    height: 60px;
    border-radius: 60px;
  }
}
.block-item .block-user .block-user-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.block-item .block-user .block-user-content {
  font-size: 16px;
}
.block-item .block-btn {
  width: 100px;
  color: #ffffff;
  background-color: #00BF63;
  border: 1px solid #00BF63;
  cursor: pointer;
}
.block-item .block-btn.blocked {
  background-color: #FF2600;
  border: 1px solid #FF2600;
}

.shops-list .therapist-tenpo {
  margin-bottom: 20px;
  border-radius: 10px;
}
.shops-list .shop-type1 {
  border-radius: 10px;
  background-color: #f1f8f1;
  overflow: hidden;
  margin-bottom: 20px;
}
.shops-list .shop-type1 .shop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #00bf63;
  color: #fff;
  padding: 10px;
}
.shops-list .shop-type1 .shop-header .shop-header-left {
  display: block;
  width: 100%;
}
.shops-list .shop-type1 .shop-header .shop-header-left .shop-name {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
}
.shops-list .shop-type1 .shop-header .shop-header-left .shop-address {
  color: #fff;
}
.shops-list .shop-type1 .shop-content {
  padding: 10px;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .shop-content .shop-content-in {
    display: flex;
    justify-content: space-between;
  }
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs {
    width: 330px;
    border-radius: 10px;
  }
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs a {
    width: auto;
  }
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs a img {
    border-radius: 10px;
    text-align: center;
  }
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap {
  width: 100px;
  height: 100px;
  position: relative;
  margin: 0 5px;
}
@media screen and (max-width: 834px) {
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap {
    width: 150px !important;
    height: 150px !important;
  }
}
@media screen and (max-width: 516px) {
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap {
    width: 100px !important;
    height: 100px !important;
  }
}
@media screen and (max-width: 366px) {
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap {
    width: 80px !important;
    height: 80px !important;
  }
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap .therapist-header-img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap .shop-header-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap .shop-default-image {
  margin-top: 2.5vw;
}
@media screen and (max-width: 516px) {
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .shop-img-wrap .shop-default-image {
    height: 80px !important;
  }
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs img,
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs a {
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 31%;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs img img,
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs a img {
  width: 100%;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .default-image {
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 834px) {
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs a {
    height: auto;
    margin-bottom: 5px;
  }
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs a img {
    width: 32vw;
    height: 32vw;
  }
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-imgs .default-image {
    margin-top: 4vw;
  }
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap {
    width: calc(100% - 350px);
  }
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info {
  margin-top: 5px;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info table {
  width: 100%;
  font-size: 12px;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info table th {
  font-weight: normal;
  color: #808080;
  text-align: left;
  width: 80px;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info table td {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info .shop-info-sub {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 4px;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info .shop-info-sub .sub-link {
  border: 1px solid #01bf62;
  padding: 4px 12px;
  border-radius: 3px;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info .shop-info-sub p {
  display: block;
  width: 48%;
  padding: 5px;
  font-size: 12px;
  border-radius: 3px;
}
.shops-list .shop-type1 .shop-content .shop-content-in .shop-info-wrap .shop-info .shop-info-sub p:last-child {
  text-align: right;
}
.shops-list .shop-type1 .shop-content .shop-coupon-wrap {
  width: 100%;
  height: auto !important;
  overflow: hidden;
  position: relative;
  transition: all 1s;
}
.shops-list .shop-type1 .shop-content .shop-coupon-wrap.open {
  height: auto !important;
  transition: all 1s;
}
.shops-list .shop-type1 .shop-content .shop-coupon-wrap.open .coupon-more-btn {
  transform: rotate(180deg);
}
.shops-list .shop-type1 .shop-content .shop-coupon-wrap .coupon-more-btn {
  position: absolute;
  top: 28px;
  right: 10px;
}
.shops-list .shop-type1 .shop-content .shop-coupon,
.shops-list .shop-type1 .shop-content .coupon-accordion {
  margin-top: 5px;
  background-color: #fff;
  font-size: 12px;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price,
  .shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price {
    max-width: 350px;
  }
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .coupon-price-regular,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .coupon-price-regular {
  min-width: 30%;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .shop-coupon-ttl,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .shop-coupon-ttl {
  font-size: 13px;
  padding: 10px 0 10px 10px;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .shop-coupon-ttl,
  .shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .shop-coupon-ttl {
    padding: 5px 0 5px 10px;
  }
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .coupon-price-discount,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .coupon-price-discount {
  min-width: 55%;
  text-align: right;
  display: flex;
  justify-content: space-between;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .coupon-price-discount .price-min,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .coupon-price-discount .price-min {
  width: 52px;
  text-align: right;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .coupon-price-discount .price-text,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .coupon-price-discount .price-text {
  font-size: 10px;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .coupon-price-discount .price-text.open,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .coupon-price-discount .price-text.open {
  display: none;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price span,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price span {
  font-size: 20px;
  font-weight: bold;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .coupon-accordion-btn,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .coupon-accordion-btn {
  width: 25px;
  margin-left: 5px;
  cursor: pointer;
  padding: 5px 10px 5px 0;
}
.shops-list .shop-type1 .shop-content .shop-coupon .shop-coupon-price .coupon-accordion-btn.open,
.shops-list .shop-type1 .shop-content .coupon-accordion .shop-coupon-price .coupon-accordion-btn.open {
  transform: rotate(180deg);
  padding: 5px 0 5px 10px;
}
.shops-list .shop-type1 .shop-content .coupon-accordion-wrap {
  display: none;
}
.shops-list .shop-type1 .shop-content .coupon-accordion-wrap.open {
  display: block;
}
.shops-list .shop-type1 .shop-content .coupon-accordion-wrap .coupon-accordion {
  width: 100%;
  height: auto !important;
  padding: 10px;
}
.shops-list .shop-type1 .shop-content .coupon-accordion-wrap .coupon-accordion .coupon-accordion-ttl {
  font-size: 14px;
  font-weight: bold;
}
.shops-list .shop-type1 .shop-coupon-txt {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.5;
  display: none;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.shops-list .shop-type1 .shop-coupon-txt.open {
  display: block;
}
.shops-list .shop-type1 .row-btns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .row-btns {
    justify-content: space-around;
  }
}
.shops-list .shop-type1 .row-btns .app-btn-wrap {
  margin: 10px 0;
}
.shops-list .shop-type1 .row-btns .app-btn-wrap .app-btn {
  width: 100px;
  height: 33px;
  padding-left: 5px;
  padding-right: 5px;
  font-size: 13px;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .row-btns .app-btn-wrap .app-btn {
    width: 240px;
    height: 48px;
    font-size: 14px;
  }
}
.shops-list .shop-type1 .row-btns .shop-sns {
  text-align: center;
  display: flex;
}
.shops-list .shop-type1 .row-btns .shop-sns a {
  display: flex;
  margin: 0 2px;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .row-btns .shop-sns a {
    margin: 0 3px;
  }
}
.shops-list .shop-type1 .row-btns .shop-sns a img {
  width: 35px;
  height: 35px;
}
@media screen and (min-width: 835px) {
  .shops-list .shop-type1 .row-btns .shop-sns a img {
    width: 40px;
    height: 40px;
  }
}

.shop-detail .shop-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-header {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
.shop-detail .shop-detail-header .shop-detail-name {
  font-size: 16px;
  font-weight: bold;
  color: #00bf63;
  margin-bottom: 5px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-header .shop-detail-name {
    font-size: 20px;
  }
}
.shop-detail .shop-detail-img {
  text-align: center;
}
.shop-detail .shop-detail-info {
  margin-top: 5px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-info {
    margin-top: 20px;
  }
}
.shop-detail .shop-detail-info table {
  width: 100%;
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-info table {
    font-size: 16px;
  }
}
.shop-detail .shop-detail-info table th {
  font-weight: normal;
  color: #808080;
  text-align: left;
  width: 80px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-info table th {
    width: 100px;
  }
}
.shop-detail .shop-detail-info .shop-info-sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-info .shop-info-sub {
    margin-top: 16px;
  }
}
.shop-detail .shop-detail-info .shop-info-sub p {
  display: block;
  width: 48%;
  padding: 5px;
  font-size: 12px;
  border-radius: 3px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-info .shop-info-sub p {
    font-size: 16px;
  }
}
.shop-detail .shop-detail-info .shop-info-sub p:last-child {
  text-align: right;
}
.shop-detail .shop-detail-coupon {
  margin-top: 5px;
  background-color: #f1f8f1;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-coupon {
    font-size: 16px;
    padding: 15px;
    margin-top: 15px;
  }
}
.shop-detail .shop-detail-coupon .shop-detail-coupon-price span {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (min-width: 835px) {
  .shop-detail .shop-detail-coupon .shop-detail-coupon-price span {
    font-size: 24px;
  }
}
.shop-detail .row-btns {
  margin: 20px 0;
}
@media screen and (min-width: 835px) {
  .shop-detail .row-btns {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.shop-detail .row-btns .app-btn-wrap {
  margin: 10px 0;
}
@media screen and (min-width: 835px) {
  .shop-detail .row-btns .app-btn-wrap {
    margin: 0 20px;
  }
}
.shop-detail .shop-detail-sns {
  text-align: center;
}
.shop-detail .shop-detail-sns a {
  display: inline-block;
  margin: 0 3px;
}

.therapist-list {
  display: flex;
  flex-wrap: wrap;
}
.therapist-list .therapist-one {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2%;
  text-align: center;
}
.therapist-list .therapist-one:nth-child(3n) {
  margin-right: 0;
}
.therapist-list .therapist-one .therapist-img {
  position: relative;
  line-height: 1;
  padding-top: 100%;
}
.therapist-list .therapist-one .therapist-img .therapist-img-in {
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.therapist-list .therapist-one .therapist-img .therapist-img-in img {
  border-radius: 10px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.therapist-list .therapist-one .therapist-name {
  font-size: 12px;
  font-weight: bold;
  margin: 5px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.therapist-list .therapist-one .therapist-age {
  font-size: 12px;
  font-weight: bold;
  margin: 5px 0;
}
.therapist-list .therapist-one .therapist-btn {
  text-align: center;
}
.therapist-list .therapist-one .therapist-btn .app-btn {
  width: 80%;
  padding: 0;
  height: 36px;
}

.txt12 {
  font-size: 12px;
}

#schedule-title {
  scroll-margin: 120px;
}

.toggle-attend-info {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.toggle-attend-info p {
  border: 1px solid #c6f6c6;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  width: 300px;
  text-align: center;
  font-weight: bold;
}
.toggle-attend-info p .active {
  background: #c6f6c6;
}
.toggle-attend-info p .info-day {
  display: block;
  width: 100%;
}
.toggle-attend-info p .info-week {
  display: block;
  width: 100%;
}

.change-week {
  display: flex;
  justify-content: space-between;
}
.change-week a {
  font-size: 16px;
}

.week-title {
  font-size: 16px;
  margin-top: 20px;
  margin-left: 10px;
}

.schedule-counter {
  text-align: right;
}
.schedule-counter .font-20px {
  font-size: 20px;
}

.weekly {
  margin-top: 30px;
}
.weekly .schedule-therapist {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.weekly .schedule-therapist .therapist-img {
  position: relative;
  line-height: 1;
  padding-top: 100%;
  width: 120px;
  height: 120px;
}
.weekly .schedule-therapist .therapist-img .therapist-link {
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.weekly .schedule-therapist .therapist-img .therapist-link img {
  border-radius: 5px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.weekly .schedule-therapist .therapist-item {
  width: 556px;
  overflow-x: auto;
}
.weekly .schedule-therapist .therapist-item .therapist-name {
  font-size: 12px;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.weekly .schedule-therapist .therapist-item .therapist-age {
  font-size: 12px;
  font-weight: bold;
}
.weekly .schedule-therapist .therapist-item div {
  overflow-x: auto;
}
.weekly .schedule-therapist .therapist-item .therapist-weekly {
  width: 556px;
  border: 1px solid #ccc;
  border-spacing: 0px;
}
.weekly .schedule-therapist .therapist-item .therapist-weekly th {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background: #eee;
  font-weight: normal;
}
.weekly .schedule-therapist .therapist-item .therapist-weekly th:nth-child(7n) {
  border-right: none;
}
.weekly .schedule-therapist .therapist-item .therapist-weekly td {
  border-right: 1px solid #ccc;
  text-align: center;
}
.weekly .schedule-therapist .therapist-item .therapist-weekly td:nth-child(7n) {
  border-right: none;
}
.weekly .therapist-nothing {
  text-align: center;
}

.daily {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.daily .schedule-therapist {
  width: 30%;
  margin-right: 4%;
  margin-bottom: 2%;
}
.daily .schedule-therapist .therapist-name {
  font-size: 12px;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.daily .schedule-therapist .therapist-age {
  font-size: 12px;
  font-weight: bold;
}
@media screen and (max-width: 834px) {
  .daily .schedule-therapist {
    width: 48%;
  }
  .daily .schedule-therapist:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 835px) {
  .daily .schedule-therapist:nth-child(3n) {
    margin-right: 0;
  }
}
.daily .schedule-therapist .therapist-img {
  position: relative;
  line-height: 1;
  padding-top: 100%;
  aspect-ratio: 12/16;
}
.daily .schedule-therapist .therapist-img .therapist-link {
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.daily .schedule-therapist .therapist-img .therapist-link img {
  border-radius: 5px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.daily .schedule-therapist .therapist-img .therapist-dm {
  position: absolute;
  left: 1px;
  bottom: 8px;
  color: #fff;
  background: rgba(95, 174, 43, 0.9);
  border-radius: 999px;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  width: 60px;
}
@media screen and (min-width: 835px) {
  .daily .schedule-therapist .therapist-img .therapist-dm {
    left: 5px;
    bottom: 10px;
    font-size: 12px;
    width: 80px;
  }
}
.daily .schedule-therapist .therapist-name {
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .daily .schedule-therapist .therapist-name {
    font-size: 12px;
  }
}
.daily .schedule-therapist .therapist-age {
  font-size: 12px;
  font-weight: bold;
}
.daily .schedule-therapist .therapist-time {
  font-size: 16px;
  color: #ff0000;
}
.daily .therapist-nothing {
  margin: 0 auto;
}

.price-system .price-ttl {
  font-weight: bold;
  margin-top: 15px;
}
.price-system .price-tbl {
  margin-top: 10px;
}
.price-system .price-tbl table {
  width: 100%;
  border-collapse: collapse;
}
.price-system .price-tbl table th {
  width: 50%;
  padding: 10px;
  background-color: #fff;
  text-align: left;
  font-weight: normal;
  border: 1px solid #ccc;
}
.price-system .price-tbl table td {
  width: 50%;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #ccc;
}
.price-system .price-content {
  max-height: 360px;
  overflow: hidden;
  position: relative;
}
.price-system .price-content .price-accordion-btn {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  text-align: center;
  font-weight: bold;
  display: block;
  padding: 5px 0;
  background: linear-gradient(to bottom, transparent 0%, #f1f8f1 100%);
}
.price-system .price-content .price-accordion-btn.open {
  position: initial;
  background: none;
}
.price-system .price-supplement {
  margin-top: 5px;
  font-size: 12px;
  color: #808080;
  white-space: pre-wrap;
}
.price-system .price-cards {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.price-system .price-cards p {
  font-weight: bold;
}
.price-system .price-cards ul {
  display: flex;
  align-items: center;
}
.price-system .price-cards ul li {
  margin: 0 2px;
  width: 46px;
}

.tenpo-profile .tenpo-profile-ttl {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 16px;
}
.tenpo-profile .tenpo-profile-tbl {
  margin: 15px 0;
}
.tenpo-profile .tenpo-profile-tbl table {
  width: 100%;
  border-collapse: collapse;
}
.tenpo-profile .tenpo-profile-tbl table tr:first-child th {
  border-top: none;
}
.tenpo-profile .tenpo-profile-tbl table tr:first-child td {
  border-top: none;
}
.tenpo-profile .tenpo-profile-tbl table tr th {
  width: 30%;
  padding: 10px;
  background-color: #fff;
  text-align: left;
  font-weight: normal;
  border-top: 1px solid #ccc;
  vertical-align: top;
}
.tenpo-profile .tenpo-profile-tbl table tr td {
  width: 70%;
  padding: 10px;
  background-color: #fff;
  border-top: 1px solid #ccc;
}

.schedule-type-btns {
  display: flex;
  justify-content: space-between;
  margin: 15px 0;
}
.schedule-type-btns a {
  display: block;
  width: 48%;
  padding: 10px;
  text-align: center;
  background-color: #f1f8f1;
}
.schedule-type-btns a.active {
  background-color: #00bf63;
  color: #fff;
}

.current-date {
  text-align: center;
}

.schedule-week-therapist .schedule-week-therapist-one {
  margin-bottom: 20px;
}
.schedule-week-therapist .schedule-week-therapist-one .schedule-week-therapist-info {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.schedule-week-therapist .schedule-week-therapist-one .schedule-week-therapist-info .schedule-week-therapist-img {
  width: 80px;
  margin-right: 20px;
}
.schedule-week-therapist .schedule-week-therapist-one .schedule-week-therapist-info .schedule-week-therapist-img img {
  border-radius: 10px;
}
.schedule-week-therapist .schedule-week-therapist-one .schedule-week-therapist-info .schedule-week-therapist-name {
  font-weight: bold;
}
.schedule-week-therapist .schedule-week-therapist-one .schedule-week-therapist-calendar table {
  width: 100%;
  border-collapse: collapse;
}
.schedule-week-therapist .schedule-week-therapist-one .schedule-week-therapist-calendar table thead th {
  padding: 10px 0;
  width: 14.28%;
  background-color: #f1f8f1;
  text-align: center;
  font-weight: normal;
  border: 1px solid #ccc;
}
.schedule-week-therapist .schedule-week-therapist-one .schedule-week-therapist-calendar table tbody td {
  width: 14.28%;
  padding: 10px 0;
  background-color: #fff;
  text-align: center;
  font-weight: normal;
  border: 1px solid #ccc;
}

.coupon-list {
  margin-top: 30px;
}
.coupon-list a.coupon-item {
  display: block;
}
.coupon-list .coupon-item {
  margin-bottom: 20px;
  padding: 15px;
  border-radius: 10px;
  background-color: #f1f8f1;
  scroll-margin-top: 120px;
}
.coupon-list .coupon-item .coupon-item-header {
  display: flex;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-img {
  width: 120px;
  height: 120px;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-img img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-content {
  width: calc(100% - 135px);
  margin-left: 15px;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-content .coupon-item-title {
  font-size: 20px;
  font-weight: bold;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-content div {
  display: flex;
  align-items: baseline;
  margin-bottom: 20px;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-content .coupon-item-last-price {
  font-size: 16px;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-content .coupon-item-current-price {
  font-size: 14px;
  margin-bottom: 10px;
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-content .coupon-item-current-price span {
  font-size: 20px;
  color: #ff2300;
  font-weight: bold;
}
@media screen and (min-width: 835px) {
  .coupon-list .coupon-item .coupon-item-header .coupon-item-content .coupon-item-current-price span {
    font-size: 24px;
  }
}
.coupon-list .coupon-item .coupon-item-header .coupon-item-content .coupon-item-term {
  color: #808080;
  font-size: 16px;
}
.coupon-list .coupon-item .coupon-item-txt-ttl {
  font-size: 15px;
  font-weight: bold;
  margin: 10px 0 5px;
}
.coupon-list .coupon-item .coupon-item-txt {
  white-space: pre-wrap;
  word-wrap: break-word;
}

.news-list {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
.news-list .news-item {
  display: flex;
  width: 100%;
  margin-bottom: 15px;
  background-color: #f1f8f1;
  padding: 10px;
  border-radius: 10px;
}
@media screen and (min-width: 835px) {
  .news-list .news-item {
    width: 49%;
    margin-right: 2%;
  }
  .news-list .news-item:nth-child(2n) {
    margin-right: 0;
  }
}
.news-list .news-item .news-img {
  width: 100px;
  height: 100px;
}
.news-list .news-item .news-img img {
  border-radius: 5px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-list .news-item .news-img .news-no-img {
  -o-object-fit: contain;
     object-fit: contain;
}
.news-list .news-item .news-content {
  display: flex;
  flex-direction: column;
  width: calc(100% - 100px);
  margin-left: 10px;
  position: relative;
}
.news-list .news-item .news-content .news-ttl {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 16px;
  text-overflow: ellipsis;
  margin-bottom: 10px;
}
.news-list .news-item .news-content .news-info {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 12px;
  color: #808080;
  margin-bottom: 4px;
}
.news-list .news-item .news-content .news-info span {
  margin-right: 5px;
}
.news-list .news-item .news-content .news-date {
  color: #808080;
  font-size: 12px;
}
.news-list .news-item .news-content .news-cat-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
}
.news-list .news-item .news-content .news-cat-wrap .news-cat {
  font-size: 10px;
  padding: 2px 6px;
  border: 1px solid #808080;
  border-radius: 3px;
}

.news-list-items .news-detail-item-in {
  scroll-margin-top: 100px;
  margin-top: 20px;
  padding: 15px;
  border-radius: 10px;
  background-color: #f1f8f1;
}
.news-list-items .news-detail-item-in .text-wrap {
  display: flex;
  justify-content: space-between;
}
.news-list-items .news-detail-item-in .text-wrap .news-detail-ttl {
  font-size: 16px;
  color: #00bf63;
  margin-bottom: 4px;
}
.news-list-items .news-detail-item-in .text-wrap .news-cat {
  display: flex;
  align-items: center;
  font-size: 10px;
  padding: 2px 6px;
  border: 1px solid #808080;
  border-radius: 3px;
}
.news-list-items .news-detail-item-in .news-detail-date {
  color: #808080;
  font-size: 12px;
}
.news-list-items .news-detail-item-in .news-img {
  margin: 10px 0;
  text-align: center;
}

.post-content {
  padding: 10px 0px 10px 5px;
  margin-bottom: 20px;
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
}
.post-content .post-content__menu {
  margin-bottom: 0px;
  font-size: 14px;
  line-height: 28px;
}
.post-content .post-content__menu a {
  color: #4bbfe1;
  display: flex;
  gap: 5px;
  margin-bottom: 0.5em;
}
.post-content .post-content__menu a span {
  width: 2em;
  display: block;
}

.news-about-section {
  padding-top: 36px;
  padding-bottom: 28px;
}
@media screen and (min-width: 835px) {
  .news-about-section {
    padding: 40px 30px;
    margin-bottom: 100px;
  }
}

.news-links {
  margin-left: 17px;
}
.news-links li {
  list-style: auto;
  line-height: 2;
}
.news-links li a {
  text-decoration: underline;
}

.news-detail-list .news-detail-item {
  margin-top: -60px;
  padding-top: 60px;
}
@media screen and (min-width: 835px) {
  .news-detail-list .news-detail-item {
    margin-top: -96px;
    padding-top: 96px;
  }
}
.news-detail-list .news-detail-item .news-detail-item-in {
  margin-top: 20px;
  padding: 15px;
  border-radius: 10px;
  background-color: #f1f8f1;
}
.news-detail-list .news-detail-item .news-detail-item-in .text-wrap {
  display: flex;
  justify-content: space-between;
}
.news-detail-list .news-detail-item .news-detail-item-in .text-wrap .news-detail-ttl {
  font-size: 16px;
  color: #00bf63;
  margin-bottom: 4px;
}
.news-detail-list .news-detail-item .news-detail-item-in .text-wrap .news-cat {
  display: flex;
  align-items: center;
  font-size: 10px;
  padding: 2px 6px;
  border: 1px solid #808080;
  border-radius: 3px;
}
.news-detail-list .news-detail-item .news-detail-item-in .news-detail-date {
  color: #808080;
  font-size: 12px;
}
.news-detail-list .news-detail-item .news-detail-item-in .news-img {
  margin: 10px 0;
  text-align: center;
}

.topics-index-section .topics-index-search {
  margin: 20px 0 8px;
}
.topics-index-section .topics-index-out-row {
  text-align: center;
}
.topics-index-section .topics-index-out-row .app-btn {
  margin-bottom: 10px;
}

.topics-about-section {
  padding-top: 36px;
  padding-bottom: 28px;
}
@media screen and (min-width: 835px) {
  .topics-about-section {
    padding: 40px 30px;
    margin-bottom: 100px;
  }
}

.inquiry-section {
  padding-top: 40px;
  padding-bottom: 48px;
}
@media screen and (min-width: 835px) {
  .inquiry-section {
    padding-top: 60px;
    margin-bottom: 100px;
  }
}
.inquiry-section .section-title {
  margin-bottom: 36px;
}
@media screen and (min-width: 835px) {
  .inquiry-section .section-title {
    max-width: 455px;
    margin-bottom: 44px;
  }
}
.inquiry-section .text-01 {
  text-align: right;
  color: #666666;
  font-size: 12px;
  margin-bottom: 12px;
}
@media screen and (min-width: 835px) {
  .inquiry-section .text-01 {
    font-size: 14px;
  }
}
.inquiry-section .inquiry-form-box {
  padding: 25px 20px;
  background-color: #f1f8f1;
}
@media screen and (min-width: 835px) {
  .inquiry-section .inquiry-form-box {
    padding: 60px;
  }
}
.inquiry-section .inquiry-form-box .inquiry-button-row {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .inquiry-section .inquiry-form-box .inquiry-button-row {
    margin-top: 30px;
    margin-bottom: 0;
  }
}
.inquiry-section .inquiry-out-row {
  text-align: center;
  margin-top: 36px;
}
@media screen and (min-width: 835px) {
  .inquiry-section .inquiry-out-row {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 60px;
  }
}
.inquiry-section .inquiry-out-row .app-btn {
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .inquiry-section .inquiry-out-row .app-btn {
    margin-bottom: 0;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.contact-image-1 img {
  width: 100%;
}
.contact-image-1 .contact-btn {
  display: block;
  text-align: center;
}
.contact-image-1 .contact-btn img {
  width: 250px;
  cursor: pointer;
}
@media screen and (min-width: 835px) {
  .contact-image-1 .contact-btn img {
    width: auto;
  }
}

.contact-image-2 {
  padding: 10px 0;
}
.contact-image-2 img {
  width: 100%;
}

.contact-image-3 {
  padding-bottom: 30px;
}
.contact-image-3 img {
  width: 100%;
}
.contact-image-3 .contact-btn {
  display: block;
  text-align: center;
}
.contact-image-3 .contact-btn img {
  cursor: pointer;
}
@media screen and (min-width: 835px) {
  .contact-image-3 .contact-btn img {
    width: auto;
  }
}

.contact-image-4 {
  padding-bottom: 30px;
}
.contact-image-4 img {
  width: 100%;
}
.contact-image-4 .contact-btn {
  display: block;
  text-align: center;
}
.contact-image-4 .contact-btn img {
  cursor: pointer;
}
@media screen and (min-width: 835px) {
  .contact-image-4 .contact-btn img {
    width: auto;
  }
}

.contact-search-1 {
  padding-top: 30px;
  padding-bottom: 40px;
}
@media screen and (min-width: 835px) {
  .contact-search-1 {
    padding-top: 50px;
    padding-left: 60px;
    padding-right: 60px;
    padding-bottom: 55px;
  }
}
.contact-search-1 .section-title {
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .contact-search-1 .section-title {
    max-width: 415px;
    margin-bottom: 36px;
  }
}
.contact-search-1 .text-01 {
  text-align: center;
  font-size: 12px;
  margin-bottom: 8px;
}
@media screen and (min-width: 835px) {
  .contact-search-1 .text-01 {
    font-size: 14px;
    margin-bottom: 12px;
  }
}
.contact-search-1 .contact-image-4 {
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .contact-search-1 .contact-image-4 {
    margin-bottom: 48px;
  }
}
.contact-search-1 .contact-image-4 img {
  width: 100%;
}
.contact-search-1 .contact-image-5 img {
  width: 100%;
}
.contact-search-1 .text-02 {
  text-align: center;
  font-size: 12px;
  margin-bottom: 8px;
}
@media screen and (min-width: 835px) {
  .contact-search-1 .text-02 {
    font-size: 14px;
    margin-bottom: 12px;
  }
}

.contact-search-2 {
  padding-top: 30px;
  padding-bottom: 30px;
}
.contact-search-2 .section-title {
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .contact-search-2 .section-title {
    max-width: 415px;
  }
}
.contact-search-2 .text-03 {
  text-align: center;
  font-size: 12px;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .contact-search-2 .text-03 {
    font-size: 14px;
    margin-bottom: 18px;
  }
}
.contact-search-2 .text-04 {
  text-align: center;
  font-size: 12px;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .contact-search-2 .text-04 {
    font-size: 14px;
    margin-bottom: 18px;
  }
}
.contact-search-2 .buttons-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: -5px;
}
@media screen and (min-width: 835px) {
  .contact-search-2 .buttons-row {
    max-width: 455px;
    margin-left: auto;
    margin-right: auto;
  }
}
.contact-search-2 .buttons-row .app-solid-btn-sm {
  padding-left: 16px;
  padding-right: 16px;
  margin: 5px;
}
@media screen and (min-width: 835px) {
  .contact-search-2 .buttons-row .app-solid-btn-sm {
    font-size: 14px;
    padding-left: 20px;
    padding-right: 20px;
    height: 40px;
  }
}
.contact-search-2 .text-05 {
  text-align: center;
  font-size: 12px;
  margin-top: 10px;
  margin-bottom: 20px;
}
@media screen and (min-width: 835px) {
  .contact-search-2 .text-05 {
    font-size: 14px;
    margin-top: 28px;
    margin-bottom: 16px;
  }
}
.contact-search-2 .text-06 {
  text-align: center;
  font-size: 12px;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .contact-search-2 .text-06 {
    font-size: 14px;
  }
}

.contact-section-3 {
  padding-top: 50px;
  padding-bottom: 40px;
}
.contact-section-3 .section-title {
  margin-bottom: 30px;
}
.contact-section-3 .text-07 {
  text-align: center;
  font-size: 12px;
  line-height: 22px;
}
@media screen and (min-width: 835px) {
  .contact-section-3 .text-07 {
    font-size: 14px;
  }
}

.contact-section-4 {
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (min-width: 835px) {
  .contact-section-4 .section-title {
    max-width: 455px;
  }
}
.contact-section-4 .section-sub-title {
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .contact-section-4 .section-sub-title {
    margin-bottom: 40px;
  }
}
.contact-section-4 .text-08 {
  text-align: center;
  font-size: 12px;
  line-height: 22px;
}
@media screen and (min-width: 835px) {
  .contact-section-4 .text-08 {
    font-size: 14px;
    line-height: 26px;
  }
}

.contact-form-section {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (min-width: 835px) {
  .contact-form-section {
    padding: 60px;
    margin-bottom: 130px;
  }
}
.contact-form-section .scroll-point {
  position: absolute;
  top: -60px;
}
@media screen and (min-width: 835px) {
  .contact-form-section .scroll-point {
    top: -95px;
  }
}
.contact-form-section .section-title {
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .contact-form-section .section-title {
    margin-bottom: 24px;
  }
}
.contact-form-section .text-09 {
  text-align: right;
  color: #666666;
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .contact-form-section .text-09 {
    font-size: 14px;
  }
}
.contact-form-section .button-row {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .contact-form-section .button-row {
    margin-top: 30px;
  }
}

.app-contact-complete {
  text-align: center;
  padding: 40px;
}
.app-contact-complete .app-contact-complete-title {
  font-size: 20px;
  margin-bottom: 40px;
}
.app-contact-complete .app-contact-complete-btn {
  margin-top: 60px;
}

.page-contact .section-title {
  text-align: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  gap: 24px;
  max-width: 450px;
}
.page-contact .section-title::before, .page-contact .section-title::after {
  content: "";
  display: block;
  flex: 1;
  height: 8px;
  border-top: 1px solid #00BF63;
  border-bottom: 1px solid #00BF63;
}

.withdraw-section {
  padding-top: 40px;
  padding-bottom: 48px;
}
@media screen and (min-width: 835px) {
  .withdraw-section {
    padding-top: 60px;
    margin-bottom: 100px;
  }
}
.withdraw-section .section-title {
  justify-content: center;
  font-size: 16px;
  margin-bottom: 36px;
}
@media screen and (min-width: 835px) {
  .withdraw-section .section-title {
    font-size: 24px;
    max-width: 455px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 44px;
  }
}
.withdraw-section .text-01 {
  text-align: center;
  margin-bottom: 30px;
}
.withdraw-section .text-02 {
  text-align: center;
  margin-bottom: 30px;
}
.withdraw-section .form-button-row {
  text-align: center;
  margin: 20px;
}
.withdraw-section .form-button-row .app-btn.danger {
  background: linear-gradient(180deg, #ff0000 0%, #cc0000 100%);
}
.withdraw-section .withdraw-button-row {
  text-align: center;
  margin: 20px;
}

.link-banner-1 {
  padding-top: 44px;
  padding-bottom: 54px;
}
.link-banner-1 .section-title {
  margin-bottom: 30px;
}
.link-banner-1 .text-01 {
  text-align: center;
  font-size: 12px;
  line-height: 22px;
  margin-bottom: 32px;
}
@media screen and (min-width: 835px) {
  .link-banner-1 .text-01 {
    font-size: 14px;
    line-height: 26px;
  }
}
.link-banner-1 .link-banner-number {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}
@media screen and (min-width: 835px) {
  .link-banner-1 .link-banner-number {
    font-size: 16px;
    margin-bottom: 8px;
  }
}
.link-banner-1 .link-banner-block {
  padding: 18px;
  background-color: #F2F2F2;
  margin-bottom: 20px;
}
.link-banner-1 .link-banner-block .link-banner-text {
  font-size: 12px;
}
@media screen and (min-width: 835px) {
  .link-banner-1 .link-banner-block .link-banner-text {
    font-size: 16px;
  }
}
.link-banner-1 .link-banner-block .link-banner-code {
  margin-top: 16px;
  color: #666666;
  word-break: break-all;
}
.link-banner-1 .link-banner-btn {
  text-align: center;
  margin-top: 46px;
}
@media screen and (min-width: 835px) {
  .link-banner-1 .link-banner-btn {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.link-banner-1 .link-banner-btn .app-btn {
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .link-banner-1 .link-banner-btn .app-btn {
    margin-bottom: 0;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.terms-section {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (min-width: 835px) {
  .terms-section {
    padding-top: 60px;
  }
}
.terms-section .section-title {
  margin-bottom: 30px;
}
@media screen and (min-width: 835px) {
  .terms-section .section-title {
    max-width: 400px;
    margin-bottom: 60px;
  }
}
.terms-section .other-text {
  font-size: 12px;
  line-height: 22px;
}
@media screen and (min-width: 835px) {
  .terms-section .other-text {
    font-size: 14px;
    line-height: 26px;
  }
}
.terms-section .terms-table {
  width: 100%;
  border-collapse: collapse;
}
.terms-section .terms-table tr {
  border-bottom: 1px solid #CCCCCC;
}
.terms-section .terms-table th, .terms-section .terms-table td {
  text-align: left;
  font-size: 12px;
  padding: 15px 0;
}
.terms-section .terms-table th {
  width: 90px;
}
@media screen and (min-width: 835px) {
  .terms-section .terms-table th, .terms-section .terms-table td {
    font-size: 14px;
    padding: 20px 0;
  }
  .terms-section .terms-table th {
    width: 150px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
.terms-section .terms-outer-btn {
  text-align: center;
  margin-top: 30px;
}
@media screen and (min-width: 835px) {
  .terms-section .terms-outer-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px;
    margin-bottom: 100px;
  }
}
.terms-section .terms-outer-btn .app-btn {
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .terms-section .terms-outer-btn .app-btn {
    margin-bottom: 0;
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media screen and (min-width: 835px) {
  .member-terms-section {
    padding: 60px;
  }
}

.error-page {
  padding: 20px 0;
}
.error-page .error-page-title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.error-page .error-page-content .text-01 {
  text-align: center;
  margin-bottom: 20px;
}
.error-page .error-page-content .bottom-btn-row {
  text-align: center;
  margin-top: 36px;
}
@media screen and (min-width: 835px) {
  .error-page .error-page-content .bottom-btn-row {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 60px;
  }
}
.error-page .error-page-content .bottom-btn-row .app-btn {
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .error-page .error-page-content .bottom-btn-row .app-btn {
    margin-bottom: 0;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.diary-form-in {
  padding: 20px;
}
@media screen and (min-width: 835px) {
  .diary-form-in {
    padding: 40px;
  }
}
.diary-form-in .diary-form-one {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media screen and (min-width: 835px) {
  .diary-form-in .diary-form-one {
    margin-right: 30px;
  }
}
.diary-form-in .diary-form-one p {
  width: 100%;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (min-width: 835px) {
  .diary-form-in .diary-form-one p {
    width: 200px;
    margin-right: 30px;
  }
}
.diary-form-in .diary-form-one > div {
  width: 100%;
}
@media screen and (min-width: 835px) {
  .diary-form-in .diary-form-one > div {
    width: calc(100% - 230px);
  }
}
.diary-form-in .diary-form-one > div.diary-photo {
  text-align: center;
}
.diary-form-in .diary-form-one > div.diary-photo .photo-upload {
  display: none;
}
.diary-form-in .diary-form-one > div.diary-photo img {
  cursor: pointer;
}
.diary-form-in .diary-form-one > div textarea {
  width: 100%;
  border: 1px solid #ccc;
  font-size: 15px;
}
.diary-form-in .diary-form-one > div textarea.diary-title-textarea {
  height: 60px;
}
.diary-form-in .diary-form-one > div textarea.diary-content-textarea {
  height: 200px;
  padding: 12px 10px;
}

.schedule {
  padding-top: 20px;
}
.schedule .schedule-one {
  display: flex;
  align-items: center;
  margin: 10px 0;
}
@media screen and (min-width: 835px) {
  .schedule .schedule-one {
    margin: 20px 0;
  }
}
.schedule .schedule-one p {
  display: flex;
  align-items: center;
  width: 130px;
  margin-right: 10px;
}
.schedule .schedule-one p span {
  margin-right: 10px;
}
.schedule .schedule-one p .check-box {
  height: 18px;
}
@media screen and (min-width: 835px) {
  .schedule .schedule-one p {
    font-size: 16px;
    width: 200px;
  }
}
.schedule .schedule-one div {
  width: calc(100% - 140px);
  display: flex;
  align-items: center;
}
.schedule .schedule-one div select {
  width: calc(50% - 17px);
  margin: 0 5px;
  padding: 10px 0;
  border: 1px solid #ccc;
}
.schedule .next-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: right;
  padding-right: 5px;
}
.schedule .next-btn .app-outline-btn {
  padding: 5px 15px;
}

.schedule-note {
  font-size: 12px;
  margin-top: 20px;
}
@media screen and (min-width: 835px) {
  .schedule-note {
    font-size: 14px;
    margin-top: 40px;
  }
}

.faq-list {
  margin-top: 20px;
}
.faq-list .faq-one {
  margin-bottom: 20px;
}
.faq-list .faq-one .diary-form-one:last-child {
  margin-bottom: 0;
}

.diary-select {
  width: 100%;
  border: 1px solid #ccc;
  padding: 0 10px;
  height: 40px;
  font-size: 16px;
}

.therapist-list-top .therapist-list-top-txt {
  padding: 10px;
  text-align: center;
  background-color: #f1f8f1;
  font-weight: bold;
}
.therapist-list-top .therapist-list-top-banner {
  text-align: center;
}

.schedule-calendar {
  margin: 10px 0;
}
.schedule-calendar ul {
  display: flex;
}
.schedule-calendar ul li {
  flex: 1;
}
.schedule-calendar ul li a {
  display: block;
  text-align: center;
  padding: 5px 0;
  border: 1px solid #ccc;
  background-color: #f2f2f2;
}
.schedule-calendar ul li a.active {
  background-color: #00bf63;
  color: #fff;
}
.schedule-calendar ul li a span {
  display: block;
}

.search-areas-box {
  margin: 16px -3px 0;
  display: flex;
  flex-wrap: wrap;
}
.search-areas-box .search-area-group {
  width: calc(25% - 6px);
  margin: 3px;
}
.search-areas-box .search-area-group.open .app-outline-btn {
  background-color: #00bf63;
  color: #fff;
}
.search-areas-box .search-area-group .area-prefs-box {
  background-color: #f1f8f1;
  padding: 12px 14px;
  border-radius: 4px;
  display: none;
  position: relative;
  width: calc(400% + 18px);
  left: 0px;
  right: auto;
  margin-top: 12px;
}
.search-areas-box .search-area-group .area-prefs-box::after {
  content: "";
  display: block;
  width: 12px;
  height: 9px;
  background-image: url(/images/ic-triangle_up_lightgreen.png?4d2d45c28ce060df439cad8af869b206);
  background-repeat: no-repeat;
  position: absolute;
  bottom: 100%;
  left: 12%;
}
.search-areas-box .search-area-group .area-prefs-box .area-prefs-list {
  display: flex;
  flex-wrap: wrap;
  margin: -4px;
}
.search-areas-box .search-area-group .area-prefs-box .area-prefs-list .pref-span {
  display: inline-block;
  font-size: 12px;
  border-radius: 4px;
  background-color: white;
  border: 1px solid #cccccc;
  padding: 0px 6px;
  margin: 4px;
  cursor: pointer;
}
.search-areas-box .search-area-group.open {
  position: relative;
}
.search-areas-box .search-area-group:nth-child(4n-2) .area-prefs-box {
  left: auto;
  right: calc(100% + 6px);
}
.search-areas-box .search-area-group:nth-child(4n-2) .area-prefs-box::after {
  right: auto;
  left: calc((150% - 6px) / 4 - 5px);
}
.search-areas-box .search-area-group:nth-child(4n-1) .area-prefs-box {
  left: auto;
  right: calc(200% + 12px);
}
.search-areas-box .search-area-group:nth-child(4n-1) .area-prefs-box::after {
  right: auto;
  left: calc((250% - 6px) / 4 - 5px);
}
.search-areas-box .search-area-group:nth-child(4n) .area-prefs-box {
  left: auto;
  right: calc(300% + 18px);
}
.search-areas-box .search-area-group:nth-child(4n) .area-prefs-box::after {
  right: 12%;
  left: auto;
}
.search-areas-box .search-area-group .search-area-btn {
  width: 100%;
  padding: 10px 0;
  font-size: 12px;
  font-weight: bold;
}
@media screen and (min-width: 835px) {
  .search-areas-box .search-area-group .search-area-btn {
    font-size: 14px;
  }
}

.therapist-list {
  margin: 20px 0 0;
}

.mt15 {
  margin-top: 15px;
}

.therapist-tenpo {
  background-color: #f1f8f1;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tenpo-info {
  display: flex;
  align-items: center;
  width: 100%;
}
.tenpo-info .tenpo-img {
  width: 40px;
  height: 40px;
}
.tenpo-info .tenpo-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tenpo-info .tenpo-content {
  margin-left: 10px;
  font-size: 13px;
}
.tenpo-info .tenpo-content .tenpo-name {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}

.tenpo-favorite img {
  vertical-align: middle;
}

.therapist-detail .therapist-photos .therapist-images .current-image {
  position: relative;
  text-align: center;
  width: 100%;
  /* 必要に応じて親要素に合わせたサイズを指定 */
}
.therapist-detail .therapist-photos .therapist-images .current-image .mainImage {
  display: block;
  width: 100%;
  /* 親要素 .current-image に合わせる */
  height: auto;
  /* アスペクト比を維持 */
  border-radius: 10px;
}
.therapist-detail .therapist-photos .therapist-images .current-image .favorite {
  right: 10px;
}
.therapist-detail .therapist-photos .therapist-images .current-image img {
  display: block;
  border-radius: 10px;
}
.therapist-detail .therapist-photos .therapist-images .thumbnails {
  margin-top: 10px;
  display: flex;
  margin-bottom: 20px;
}
.therapist-detail .therapist-photos .therapist-images .thumbnails .thumbnail {
  margin-left: 1%;
  width: 19.2%;
  padding: 0;
  border-radius: 5px;
  -o-object-fit: cover;
     object-fit: cover;
}
.therapist-detail .therapist-photos .therapist-images .thumbnails .thumbnail:first-child {
  margin-left: 0px;
}
.therapist-detail .therapist-photos .therapist-title {
  font-size: 16px;
  margin-bottom: 5px;
}
.therapist-detail .therapist-photos .therapist-name {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.therapist-detail .therapist-photos .therapist-detail-name {
  white-space: wrap;
}
.therapist-detail .therapist-photos .therapist-age {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
}
.therapist-detail .therapist-photos .therapist-info {
  font-size: 16px;
  margin-bottom: 5px;
}
.therapist-detail .therapist-photos .therapist-info span {
  margin-right: 30px;
}
.therapist-detail .therapist-photos .therapist-info span:last-child {
  margin-right: 0;
}
.therapist-detail .therapist-photos .therapist-address {
  font-size: 16px;
}
.therapist-detail .therapist-photos .therapist-today-note {
  background-color: #f1f8f1;
  color: #00bf63;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  margin-top: 15px;
}
.therapist-detail .therapist-photos .app-btn img {
  margin-right: 5px;
}
.therapist-detail .therapist-photos .app-btn.disable {
  background: #ccc;
}
.therapist-detail .therapist-photos .dm-note {
  display: flex;
}
.therapist-detail .therapist-photos .dm-note .dm-note-ttl {
  width: 74px;
  background-color: #00bf63;
  color: #fff;
  text-align: center;
  font-size: 14px;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.therapist-detail .therapist-photos .dm-note .dm-note-txt {
  white-space: pre-line;
  width: calc(100% - 74px);
  padding: 13px;
  font-size: 12px;
  background-color: #f1f8f1;
}
.therapist-detail .therapist-photos .therapist-detail-sns {
  margin-top: 15px;
  text-align: center;
}
.therapist-detail .therapist-photos .therapist-detail-sns a,
.therapist-detail .therapist-photos .therapist-detail-sns div {
  display: inline-block;
  margin: 0 3px;
}
.therapist-detail .therapist-photos .sns-list {
  display: flex;
  justify-content: center;
}
.therapist-detail .therapist-photos .sns-list a {
  margin: 0 5px;
}

.section.no-top-section {
  padding-top: 0;
}

.schedule-tbl table {
  width: 100%;
  border-collapse: collapse;
}
.schedule-tbl table th {
  width: 50%;
  padding: 10px;
  text-align: center;
  font-weight: normal;
  border: 1px solid #ccc;
  background-color: #f1f8f1;
}
.schedule-tbl table td {
  width: 50%;
  padding: 10px;
  text-align: center;
  font-weight: normal;
  border: 1px solid #ccc;
}

.soudan-fields {
  display: flex;
  align-items: center;
  justify-content: center;
}
.soudan-fields select {
  width: 64px;
  height: 40px;
  border: none;
  border-radius: 5px;
  margin: 0 5px;
}

.fixed-diary {
  margin-bottom: 15px;
}
@media screen and (min-width: 835px) {
  .fixed-diary {
    max-width: 50%;
  }
}
.fixed-diary .fixed-diary-ttl {
  font-weight: bold;
  margin-bottom: 10px;
}
.fixed-diary .fixed-diary-inner {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.fixed-diary .fixed-diary-inner .fixed-diary-img {
  width: 160px;
  height: 160px;
  border-radius: 10px;
  overflow: hidden;
}
.fixed-diary .fixed-diary-inner .fixed-diary-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.fixed-diary .fixed-diary-inner .fixed-diary-content {
  width: calc(100% - 170px);
}
.fixed-diary .fixed-diary-inner .fixed-diary-content .fixed-diary-txt {
  font-size: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.fixed-diary .fixed-diary-inner .fixed-diary-content .fixed-diary-name {
  font-weight: bold;
  margin: 4px 0;
}
.fixed-diary .fixed-diary-inner .fixed-diary-content .fixed-diary-date {
  font-size: 12px;
  color: #808080;
}
.fixed-diary .fixed-diary-inner .fixed-diary-content .like-count {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 14px;
  display: flex;
  align-items: center;
}
.fixed-diary .fixed-diary-inner .fixed-diary-content .like-count img {
  margin-right: 5px;
}

.therapist-detail-profile .profile-txt {
  white-space: pre-line;
}
.therapist-detail-profile .profile-ttl {
  margin-top: 20px;
  margin-bottom: 5px;
  font-weight: bold;
}
.therapist-detail-profile .profile-items span {
  display: inline-block;
  padding: 5px 8px;
  border: 1px solid #ccc;
  background-color: #fff;
  margin: 4px 5px;
}

.faq-section .faq_tbl {
  width: 100%;
  border-collapse: collapse;
}
.faq-section .faq_tbl th {
  display: block;
  width: 100%;
  border: 1px solid #ccc;
  background-color: #f1f8f1;
  padding: 10px;
  text-align: left;
  font-weight: normal;
}
.faq-section .faq_tbl td {
  display: block;
  width: 100%;
  border: 1px solid #ccc;
  padding: 10px;
}

.js-shopFavorite,
.js-therapistFavorite {
  cursor: pointer;
}
.js-shopFavorite .inactive,
.js-therapistFavorite .inactive {
  display: block !important;
}
.js-shopFavorite .active,
.js-therapistFavorite .active {
  display: none !important;
}
.js-shopFavorite.active .active,
.js-therapistFavorite.active .active {
  display: block !important;
}
.js-shopFavorite.active .inactive,
.js-therapistFavorite.active .inactive {
  display: none !important;
}

.js-photoDiaryFavorite {
  cursor: pointer;
}
.js-photoDiaryFavorite .inactive {
  display: block !important;
}
.js-photoDiaryFavorite .active {
  display: none !important;
}
.js-photoDiaryFavorite.active .active {
  display: block !important;
}
.js-photoDiaryFavorite.active .inactive {
  display: none !important;
}

.js-therapistPhotoDiaryFavorite {
  cursor: pointer;
}
.js-therapistPhotoDiaryFavorite .inactive {
  display: block !important;
}
.js-therapistPhotoDiaryFavorite .active {
  display: none !important;
}
.js-therapistPhotoDiaryFavorite.active .active {
  display: block !important;
}
.js-therapistPhotoDiaryFavorite.active .inactive {
  display: none !important;
}

.diary-form {
  margin: 15px 0;
  overflow: hidden;
}
.diary-form .diary-search {
  float: left;
  display: flex;
  align-items: center;
  width: calc(100% - 90px);
}
.diary-form .diary-search input {
  width: calc(100% - 32px);
  height: 32px;
  border: 1px solid #ccc;
  padding: 0 5px;
}
.diary-form .diary-search button {
  width: 32px;
  height: 32px;
  background: #00BF63;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}
.diary-form .diary-type-btns {
  float: right;
  display: flex;
  margin: 2px 0;
  align-items: center;
}
.diary-form .diary-type-btns .diary-type-btn {
  margin-left: 10px;
  cursor: pointer;
}
.diary-form .diary-type-btns .diary-type-btn .active {
  display: none;
}
.diary-form .diary-type-btns .diary-type-btn .inactive {
  display: block;
}
.diary-form .diary-type-btns .diary-type-btn.active .active {
  display: block;
}
.diary-form .diary-type-btns .diary-type-btn.active .inactive {
  display: none;
}

.therapist-profile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #FFFFE9;
  padding: 10px;
}
.therapist-profile .therapist-profile-info {
  display: flex;
  align-items: center;
  width: 100%;
}
.therapist-profile .therapist-profile-info .therapist-profile-img {
  width: 50px;
  height: 50px;
  margin-right: 10px;
}
.therapist-profile .therapist-profile-info .therapist-profile-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.therapist-profile .therapist-profile-info .therapist-profile-name {
  font-size: 14px;
  font-weight: bold;
}
.therapist-profile .therapist-profile-favorite img {
  vertical-align: middle;
}

.diary-detail-page-ttl {
  font-size: 20px;
  font-weight: bold;
  color: #00BF63;
  padding: 20px;
}

.diary-detail .diary-detail-title {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
  margin-bottom: 5px;
}
.diary-detail .diary-detail-date {
  text-align: right;
  color: #808080;
}
.diary-detail .diary-detail-content {
  padding: 20px;
  background-color: #fff;
  margin: 10px 0 0;
  border-radius: 10px;
}
.diary-detail .diary-detail-img {
  text-align: center;
  margin: 0 0 10px;
}
.diary-detail .diary-detail-img img {
  border-radius: 10px;
}
.diary-detail .diary-detail-like {
  display: block;
  margin-top: 16px;
  text-align: right;
}
.diary-detail .diary-detail-like div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.diary-detail .diary-detail-like div span {
  margin: 0 5px;
  font-size: 16px;
}
.diary-detail .diary-detail-note {
  text-align: right;
  color: #808080;
  font-size: 12px;
  margin-top: 5px;
}
.diary-detail .diary-detail-btns-row {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}
.diary-detail .diary-detail-btns-row a.app-outline-btn {
  font-weight: bold;
  margin: 0 10px;
}
.diary-detail .diary-detail-btns-row a.app-outline-btn span {
  margin: 0 5px;
}

.page-count.no-bottom {
  margin-bottom: 0;
  margin-top: 15px;
}

.review-list .top-review-one {
  scroll-margin-top: 120px;
}
.review-list .top-review-one .top-review-txt {
  -webkit-line-clamp: unset;
}
.review-list .top-review-one .review-name {
  display: flex;
  justify-content: end;
  align-items: center;
}
.review-list .top-review-one .review-name img {
  margin-right: 4px;
}

.top-review-one .more-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #00BF63;
  font-weight: bold;
  cursor: pointer;
}
.top-review-one .more-btn img {
  margin-left: 4px;
}
.top-review-one .review-comment {
  margin-top: 10px;
  display: none;
}
.top-review-one .delete-btn {
  margin-top: 5px;
  text-align: right;
}
.top-review-one .delete-btn span {
  cursor: pointer;
  display: inline-block;
  border: 1px solid #00BF63;
  color: #00BF63;
  background-color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
}
.top-review-one .review-link {
  display: flex;
  justify-content: space-between;
}
.top-review-one .review-link .review-delete-wrap {
  display: flex;
  justify-content: right;
}
.top-review-one .review-link .review-delete-wrap form {
  display: flex;
  align-items: flex-end;
}
.top-review-one .review-link .review-delete-wrap .review-delete {
  color: #fff;
  background-color: #dc3545;
  cursor: pointer;
  border: none;
  height: 38px;
  width: 84px;
  border-radius: 6px;
}

.ranking .ranking-area-search {
  margin-bottom: 15px;
}
.ranking .ranking-area-search select {
  width: 100%;
  height: 40px;
  border: 1px solid #ccc;
}
.ranking .ranking-type {
  display: flex;
}
.ranking .ranking-type a {
  display: block;
  flex: 1;
  text-align: center;
  border: 1px solid #00BF63;
  padding: 12px 0;
  color: #00BF63;
  cursor: pointer;
}
.ranking .ranking-type a.active {
  background-color: #00BF63;
  color: #fff;
}
.ranking .ranking-item-wrap {
  display: none;
  cursor: pointer;
}
.ranking .ranking-list .ranking-item {
  display: flex;
  margin-top: 15px;
}
.ranking .ranking-list .ranking-item .ranking-img {
  width: 120px;
  height: 120px;
  position: relative;
  margin-right: 15px;
}
.ranking .ranking-list .ranking-item .ranking-img img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ranking .ranking-list .ranking-item .ranking-content {
  width: calc(100% - 135px);
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-info {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-info .ranking-name {
  font-weight: bold;
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-info .ranking-tenpo {
  font-size: 12px;
  color: #808080;
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-info .ranking-area {
  font-size: 12px;
  padding: 3px 8px;
  background-color: #F1F8F1;
  color: #00BF63;
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-sns {
  margin: 5px 0;
  display: flex;
  justify-content: center;
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-sns a {
  margin: 0 3px;
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-sns .dm-able {
  cursor: pointer;
}
.ranking .ranking-list .ranking-item .ranking-content .ranking-schedule {
  text-align: center;
  border: 1px solid #00BF63;
  color: #00BF63;
}
.ranking .more-btn {
  text-align: center;
  margin-top: 15px;
}
.ranking .more-btn div {
  display: inline-flex;
  width: 240px;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
  background-color: #F1F8F1;
  color: #00BF63;
  font-size: 16px;
  font-weight: bold;
}
.ranking .more-btn div span {
  margin-right: 4px;
}

.widget {
  background-color: #fff;
}
.widget .widget-diary-list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  width: 700px;
  margin: 0 auto;
}
.widget .widget-diary-list.wd-900 {
  width: 900px;
}
.widget .widget-diary-list.wd-sp {
  max-width: 370px;
  gap: 20px;
}
.widget .widget-diary-one {
  display: block;
  width: 120px;
}
.widget .widget-diary-one.wd-900 {
  width: 160px;
}
.widget .widget-diary-one.wd-sp {
  width: 110px;
}
.widget .widget-diary-one .widget-diary-img {
  width: 120px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
  line-height: 1;
  position: relative;
  background-color: #F1F8F1;
}
.widget .widget-diary-one .widget-diary-img.wd-900 {
  width: 160px;
  height: 160px;
}
.widget .widget-diary-one .widget-diary-img.wd-sp {
  width: 110px;
  height: 110px;
}
.widget .widget-diary-one .widget-diary-img > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.widget .widget-diary-one .widget-diary-img > img.empty-picture {
  -o-object-fit: contain;
     object-fit: contain;
  width: 80%;
  margin: auto;
}
.widget .widget-diary-one .widget-diary-editor {
  margin-top: 5px;
  display: flex;
  align-items: center;
}
.widget .widget-diary-one .widget-diary-editor .widget-diary-editor-img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 10px;
}
.widget .widget-diary-one .widget-diary-editor .widget-diary-editor-img.wd-900 {
  width: 35px;
  height: 35px;
}
.widget .widget-diary-one .widget-diary-editor .widget-diary-editor-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.widget .widget-diary-one .widget-diary-editor .widget-diary-content {
  width: calc(100% - 40px);
  font-size: 10px;
}
.widget .widget-diary-one .widget-diary-editor .widget-diary-content.wd-900 {
  font-size: 12px;
}
.widget .widget-diary-one .widget-diary-editor .widget-diary-content .widget-diary-ttl {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.widget .widget-diary-one .widget-diary-editor .widget-diary-content .widget-diary-date {
  color: #808080;
}
.widget .schedule-pc {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  justify-items: center !important;
}
.widget .schedule-pc-item {
  width: 135px !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}
.widget .schedule-pc-img {
  aspect-ratio: auto !important;
}
.widget .schedule-sp {
  justify-content: space-around;
  margin: auto;
  max-width: 425px;
}
.widget .schedule-sp-item {
  width: 48% !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}
