@charset "UTF-8";
/*******************************************************
  * Affinger6
*******************************************************/
#content-w {
  padding: 0 !important;
}

main {
  background-color: transparent !important;
  font-family: Avenir, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

#page-top {
  display: none !important;
}

body:not(.front-page) main {
  border: none !important;
}

/*******************************************************
  * 共通
*******************************************************/
.o-h1 {
  color: #303030;
  font-family: Avenir;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
@media (min-width: 1008px) {
  .o-h1--top {
    margin-top: 34px !important;
  }
}
.o-h1--margin {
  margin-top: 20px !important;
  margin-bottom: 64px !important;
}
.o-h1--margin2 {
  margin-top: 20px !important;
  margin-bottom: 64px !important;
}
@media (max-width: 1007px) {
  .o-h1--margin2 {
    margin-left: 20px !important;
  }
}
@media (max-width: 1007px) {
  .o-h1 {
    color: #303030;
    font-family: Avenir;
    font-size: 22px;
    font-style: normal;
    font-weight: 900;
    line-height: 160%;
  }
}

.o-h2 {
  color: #303030;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
@media (max-width: 1007px) {
  .o-h2 {
    color: #303030;
    font-family: Avenir;
    font-size: 18px;
    font-style: normal;
    font-weight: 900;
    line-height: 160%;
  }
}

.o-main {
  width: 1008px;
  margin: 0 auto;
  margin-top: 110px;
}
@media (max-width: 1007px) {
  .o-main {
    padding: 0;
    margin: 0 auto;
    margin-top: 64px;
    width: calc(100vw - 40px);
  }
}
@media (max-width: 1007px) {
  .o-main--spNoMargin {
    width: 100vw;
  }
  .o-main--spNoMargin .o-breadcrumb {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 1008px) {
  .o-main--form {
    margin-bottom: 64px;
  }
}
@media (max-width: 1007px) {
  .o-main--form {
    width: 100%;
  }
}
@media (max-width: 1007px) {
  .o-main--form .wrapSP {
    width: calc(100vw - 40px);
    margin: 0 auto;
  }
}

@media (max-width: 1007px) {
  .on_pc {
    display: none !important;
  }
}

@media (min-width: 1008px) {
  .on_sp {
    display: none !important;
  }
}

.o-inputText {
  padding: 8px 18px 8px 12px !important;
  border-radius: 4px;
  background: #f6f8f8;
  text-decoration: none;
  border: none;
  width: 336px !important;
}

.o-sectionHead__lead {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
  margin-top: 4px;
}

.o-breadcrumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  padding-top: 12px;
  padding-bottom: 12px;
}
@media (max-width: 1007px) {
  .o-breadcrumb {
    border-bottom: 1px solid #f6f8f8;
  }
}
.o-breadcrumb a {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
  text-decoration: none;
}
.o-breadcrumb a.o-breadcrumb__home {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 19.2px */
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2px;
}
.o-breadcrumb span {
  color: #000;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
}

.o-formWrapper {
  padding: 48px 172px;
  border-radius: 16px;
  background: #f6f8f8;
}
@media (max-width: 1007px) {
  .o-formWrapper {
    padding: 48px 20px;
    border-radius: 0;
  }
}
.o-formWrapper .o-formLinks {
  width: 100%;
  margin-top: 24px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.o-formWrapper .o-formLinks a {
  display: inline-block;
  margin-left: auto;
  overflow: hidden;
  color: #303030;
  text-align: right;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.o-formbuttonGroup {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 328px;
  flex-flow: column;
  width: 496px;
  margin: 0 auto;
  margin-top: 48px;
  margin-bottom: 24px;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-formbuttonGroup {
    width: calc(100% - 60px);
    gap: 16px;
    margin-top: 32px;
    margin-bottom: 80px;
  }
}
.o-formbuttonGroup button {
  width: 100%;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 32px */
  border-radius: 40px;
  height: 64px;
  text-align: center;
}
@media (max-width: 1007px) {
  .o-formbuttonGroup button {
    height: 54px;
    font-size: 16px;
  }
}
.o-formbuttonGroup button.buttonType1 {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff7f8;
  color: #fff;
  border: 1px solid rgba(255, 120, 138, 0.32);
}
.o-formbuttonGroup button.buttonType1:hover {
  background-color: #ff788a;
  color: #fff;
}
.o-formbuttonGroup button.buttonType2 {
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
  color: #ff788a;
}
.o-formbuttonGroup button.buttonType2:hover {
  background-color: #ff8048;
  color: #fff;
}

.o-inputItems {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 24px;
}
.o-inputItems .o-inputField {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 8px;
  width: 100%;
  position: relative;
}
.o-inputItems .o-inputField label {
  color: #303030;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 12px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
}
.o-inputItems .o-inputField input[type=text],
.o-inputItems .o-inputField input[type=password],
.o-inputItems .o-inputField input[type=email],
.o-inputItems .o-inputField input[type=number],
.o-inputItems .o-inputField input[type=url] {
  display: flex;
  height: 46px;
  padding: 12px !important;
  align-items: center;
  align-self: stretch;
  border-radius: 4px;
  border: 1px solid #303030;
  background: #fff;
  color: #303030;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-inputItems .o-inputField input[type=text]::-moz-placeholder, .o-inputItems .o-inputField input[type=password]::-moz-placeholder, .o-inputItems .o-inputField input[type=email]::-moz-placeholder, .o-inputItems .o-inputField input[type=number]::-moz-placeholder, .o-inputItems .o-inputField input[type=url]::-moz-placeholder {
  color: #888;
}
.o-inputItems .o-inputField input[type=text]::placeholder,
.o-inputItems .o-inputField input[type=password]::placeholder,
.o-inputItems .o-inputField input[type=email]::placeholder,
.o-inputItems .o-inputField input[type=number]::placeholder,
.o-inputItems .o-inputField input[type=url]::placeholder {
  color: #888;
}
.o-inputItems .o-inputField input[type=text]:focus,
.o-inputItems .o-inputField input[type=password]:focus,
.o-inputItems .o-inputField input[type=email]:focus,
.o-inputItems .o-inputField input[type=number]:focus,
.o-inputItems .o-inputField input[type=url]:focus {
  border-color: #49d47c;
  outline: none;
}
.o-inputItems .o-inputField input[type=text].is-invalid,
.o-inputItems .o-inputField input[type=password].is-invalid,
.o-inputItems .o-inputField input[type=email].is-invalid,
.o-inputItems .o-inputField input[type=number].is-invalid,
.o-inputItems .o-inputField input[type=url].is-invalid {
  border-color: #ff5c5c;
}
.o-inputItems .o-inputField .c-error {
  color: #ff5c5c;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  margin-bottom: 0px !important;
}
.o-inputItems .o-inputField .o-inputHelp {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-inputItems .o-inputField .o-inputField--cm {
  content: "cm";
  display: inline-block;
  position: absolute;
  left: 168px;
  top: 40px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
}
.o-inputItems .o-inputField .o-inputSubLabel {
  display: flex;
  padding: 2px 8px 1px 8px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 350;
  line-height: 160%;
}
.o-inputItems .o-inputField .o-inputSubLabel--gray {
  background: #888;
}
.o-inputItems .o-inputField .o-inputSubLabel--black {
  background: #303030;
}
.o-inputItems .o-inputField .o-profileImageInput {
  visibility: hidden;
  position: relative;
  margin: 0 auto;
  width: 202px !important;
  height: 202px;
  padding: 0 !important;
  cursor: pointer;
}
.o-inputItems .o-inputField .o-profileImageInput::before {
  position: absolute;
  visibility: visible;
  content: "";
  display: inline-block;
  width: 200px;
  height: 200px;
  background: #fff;
  outline: 1px solid #303030;
  border-radius: 500px;
  background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='60' viewBox='0 0 56 60' fill='none'><path fill-rule='evenodd' clip-rule='evenodd' d='M27.9992 32.9896C35.2671 32.9896 41.8767 35.0647 46.7392 37.9889C49.1658 39.448 51.2406 41.1703 52.7391 43.042C54.2133 44.8808 55.2992 47.0815 55.2992 49.4346C55.2992 51.9612 54.0525 53.9525 52.2568 55.3728C50.5581 56.7183 48.3165 57.6093 45.9353 58.2312C41.1487 59.478 34.7605 59.8996 27.9992 59.8996C21.2379 59.8996 14.8497 59.481 10.0631 58.2312C7.68195 57.6093 5.44032 56.7183 3.74165 55.3728C1.94289 53.9495 0.699219 51.9612 0.699219 49.4346C0.699219 47.0815 1.78515 44.8808 3.25935 43.039C4.75782 41.1703 6.82959 39.451 9.25929 37.9859C14.1217 35.0677 20.7344 32.9896 27.9992 32.9896ZM27.9992 38.9696C21.8628 38.9696 16.3421 40.7337 12.42 43.0928C10.4575 44.2709 8.97719 45.5506 8.02169 46.7466C7.03889 47.9725 6.76589 48.8994 6.76589 49.4346C6.76589 49.7994 6.87812 50.1851 7.53939 50.7084C8.29469 51.3064 9.60812 51.9253 11.6162 52.4485C15.6141 53.495 21.3593 53.9196 27.9992 53.9196C34.6422 53.9196 40.3843 53.492 44.3792 52.4485C46.3903 51.9253 47.7038 51.3064 48.4591 50.7084C49.1203 50.1851 49.2326 49.7994 49.2326 49.4346C49.2326 48.8964 48.9596 47.9725 47.9798 46.7466C47.0213 45.5506 45.541 44.2709 43.5784 43.0928C39.6563 40.7307 34.1357 38.9696 27.9992 38.9696ZM27.9992 0.0996094C32.0217 0.0996094 35.8794 1.67469 38.7237 4.47836C41.568 7.28203 43.1659 11.0846 43.1659 15.0496C43.1659 19.0146 41.568 22.8172 38.7237 25.6209C35.8794 28.4245 32.0217 29.9996 27.9992 29.9996C23.9768 29.9996 20.1191 28.4245 17.2748 25.6209C14.4305 22.8172 12.8326 19.0146 12.8326 15.0496C12.8326 11.0846 14.4305 7.28203 17.2748 4.47836C20.1191 1.67469 23.9768 0.0996094 27.9992 0.0996094ZM27.9992 6.07961C25.5857 6.07961 23.2711 7.02466 21.5645 8.70686C19.858 10.3891 18.8992 12.6706 18.8992 15.0496C18.8992 17.4286 19.858 19.7102 21.5645 21.3924C23.2711 23.0746 25.5857 24.0196 27.9992 24.0196C30.4127 24.0196 32.7273 23.0746 34.4339 21.3924C36.1405 19.7102 37.0992 17.4286 37.0992 15.0496C37.0992 12.6706 36.1405 10.3891 34.4339 8.70686C32.7273 7.02466 30.4127 6.07961 27.9992 6.07961Z' fill='url(%23paint0_linear_2999_13628)'/><path fill-rule='evenodd' clip-rule='evenodd' d='M27.9992 32.9896C35.2671 32.9896 41.8767 35.0647 46.7392 37.9889C49.1658 39.448 51.2406 41.1703 52.7391 43.042C54.2133 44.8808 55.2992 47.0815 55.2992 49.4346C55.2992 51.9612 54.0525 53.9525 52.2568 55.3728C50.5581 56.7183 48.3165 57.6093 45.9353 58.2312C41.1487 59.478 34.7605 59.8996 27.9992 59.8996C21.2379 59.8996 14.8497 59.481 10.0631 58.2312C7.68195 57.6093 5.44032 56.7183 3.74165 55.3728C1.94289 53.9495 0.699219 51.9612 0.699219 49.4346C0.699219 47.0815 1.78515 44.8808 3.25935 43.039C4.75782 41.1703 6.82959 39.451 9.25929 37.9859C14.1217 35.0677 20.7344 32.9896 27.9992 32.9896ZM27.9992 38.9696C21.8628 38.9696 16.3421 40.7337 12.42 43.0928C10.4575 44.2709 8.97719 45.5506 8.02169 46.7466C7.03889 47.9725 6.76589 48.8994 6.76589 49.4346C6.76589 49.7994 6.87812 50.1851 7.53939 50.7084C8.29469 51.3064 9.60812 51.9253 11.6162 52.4485C15.6141 53.495 21.3593 53.9196 27.9992 53.9196C34.6422 53.9196 40.3843 53.492 44.3792 52.4485C46.3903 51.9253 47.7038 51.3064 48.4591 50.7084C49.1203 50.1851 49.2326 49.7994 49.2326 49.4346C49.2326 48.8964 48.9596 47.9725 47.9798 46.7466C47.0213 45.5506 45.541 44.2709 43.5784 43.0928C39.6563 40.7307 34.1357 38.9696 27.9992 38.9696ZM27.9992 0.0996094C32.0217 0.0996094 35.8794 1.67469 38.7237 4.47836C41.568 7.28203 43.1659 11.0846 43.1659 15.0496C43.1659 19.0146 41.568 22.8172 38.7237 25.6209C35.8794 28.4245 32.0217 29.9996 27.9992 29.9996C23.9768 29.9996 20.1191 28.4245 17.2748 25.6209C14.4305 22.8172 12.8326 19.0146 12.8326 15.0496C12.8326 11.0846 14.4305 7.28203 17.2748 4.47836C20.1191 1.67469 23.9768 0.0996094 27.9992 0.0996094ZM27.9992 6.07961C25.5857 6.07961 23.2711 7.02466 21.5645 8.70686C19.858 10.3891 18.8992 12.6706 18.8992 15.0496C18.8992 17.4286 19.858 19.7102 21.5645 21.3924C23.2711 23.0746 25.5857 24.0196 27.9992 24.0196C30.4127 24.0196 32.7273 23.0746 34.4339 21.3924C36.1405 19.7102 37.0992 17.4286 37.0992 15.0496C37.0992 12.6706 36.1405 10.3891 34.4339 8.70686C32.7273 7.02466 30.4127 6.07961 27.9992 6.07961Z' fill='%23D9D9D9'/><defs><linearGradient id='paint0_linear_2999_13628' x1='0.699219' y1='4.84198' x2='10.5554' y2='4.87125' gradientUnits='userSpaceOnUse'><stop stop-color='%23FF6699'/><stop offset='0.599019' stop-color='%23FF788A'/><stop offset='1' stop-color='%23FF8048'/></linearGradient></defs></svg>");
  background-size: 80px;
  background-color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.o-inputItems .o-profileImageInputWrapper {
  margin: 0 auto;
  position: relative;
  display: flex;
  justify-content: center;
}
.o-inputItems .o-profileImageInputWrapper #cropPreview {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.o-inputItems .o-profileImageInputWrapper .o-profileImageInputSubButton {
  content: "";
  display: inline-block;
  width: 48px;
  height: 48px;
  background-color: #303030;
  border-radius: 500px;
  position: absolute;
  background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='16' fill='%23303030'/><path d='M14.142 9.25C14.3668 9.25003 14.5887 9.30059 14.7914 9.39796C14.994 9.49532 15.1722 9.637 15.3127 9.8125L16.3627 11.125H22.002C22.3998 11.125 22.7813 11.283 23.0626 11.5643C23.3439 11.8456 23.502 12.2272 23.502 12.625V21.25C23.502 21.6478 23.3439 22.0294 23.0626 22.3107C22.7813 22.592 22.3998 22.75 22.002 22.75H10.002C9.60413 22.75 9.2226 22.592 8.94129 22.3107C8.65999 22.0294 8.50195 21.6478 8.50195 21.25V10.75C8.50195 10.3522 8.65999 9.97064 8.94129 9.68934C9.2226 9.40804 9.60413 9.25 10.002 9.25H14.142ZM14.142 10.75H10.002V21.25H22.002V12.625H16.362C16.1371 12.625 15.9152 12.5744 15.7125 12.477C15.5099 12.3797 15.3317 12.238 15.1912 12.0625L14.142 10.75ZM16.5322 14.6298L18.123 16.2205C18.1946 16.2897 18.2517 16.3724 18.291 16.4639C18.3303 16.5554 18.351 16.6539 18.3519 16.7534C18.3528 16.853 18.3338 16.9518 18.2961 17.044C18.2584 17.1361 18.2027 17.2199 18.1322 17.2903C18.0618 17.3607 17.9781 17.4164 17.8859 17.4541C17.7937 17.4918 17.695 17.5108 17.5954 17.5099C17.4958 17.5091 17.3974 17.4884 17.3059 17.4491C17.2144 17.4098 17.1316 17.3526 17.0625 17.281L16.752 16.9705V19C16.752 19.1989 16.6729 19.3897 16.5323 19.5303C16.3916 19.671 16.2009 19.75 16.002 19.75C15.803 19.75 15.6123 19.671 15.4716 19.5303C15.331 19.3897 15.252 19.1989 15.252 19V16.9705L14.9415 17.281C14.8723 17.3526 14.7895 17.4098 14.698 17.4491C14.6065 17.4884 14.5081 17.5091 14.4085 17.5099C14.3089 17.5108 14.2102 17.4918 14.118 17.4541C14.0258 17.4164 13.9421 17.3607 13.8717 17.2903C13.8012 17.2199 13.7455 17.1361 13.7078 17.044C13.6701 16.9518 13.6511 16.853 13.652 16.7534C13.6529 16.6539 13.6736 16.5554 13.7129 16.4639C13.7522 16.3724 13.8093 16.2897 13.881 16.2205L15.471 14.6298C15.5406 14.56 15.6233 14.5047 15.7144 14.467C15.8054 14.4292 15.903 14.4098 16.0016 14.4098C16.1001 14.4098 16.1977 14.4292 16.2888 14.467C16.3798 14.5047 16.4625 14.56 16.5322 14.6298Z' fill='%23fff'/></svg>");
  background-size: 48px;
  bottom: 0;
  right: 0;
  cursor: pointer;
  z-index: 11;
}

.o-alert {
  padding: 24px;
  border-radius: 16px;
  background: #fff2f2;
  border: 1px solid #ff5c5c;
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 19.2px */
  margin-bottom: 32px;
}
.o-alert p {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
}
.o-alert--success {
  background: #f4fcf7;
  border: 1px solid #49d47c;
}
@media (max-width: 1007px) {
  .o-alert {
    margin: 0 auto;
    margin-right: 20px;
    margin-left: 20px;
    margin-bottom: 40px;
  }
}

/*******************************************************
  * モーダル
*******************************************************/
/* body固定（モーダル開時） */
body.modal-open {
  overflow: hidden;
}

/* ベース */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 32px);
  visibility: hidden; /* 閉時は見えない */
}

.modal[aria-hidden=true] {
  display: none !important;
}

/* オーバーレイ */
.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 247, 248, 0.64);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity 0.24s ease;
  z-index: 99998;
  -webkit-tap-highlight-color: transparent;
}

/* ダイアログ */
.modal__dialog {
  padding: 1px;
  border-radius: 16px;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  position: relative;
  width: 1008px;
  transform: translateY(14px) scale(0.98);
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.24s ease;
  opacity: 0;
  z-index: 99999;
}
@media (max-width: 1007px) {
  .modal__dialog {
    width: calc(100vw - 32px);
  }
}

.modal__dialogInner {
  background: #f6f8f8;
  border-radius: 16px;
}

/* 開く */
.modal.is-open {
  visibility: visible;
}

.modal.is-open .modal__overlay {
  opacity: 1;
}

.modal.is-open .modal__dialog {
  transform: none;
  opacity: 1;
}

/* 閉じアニメ（逆再生） */
.modal.is-closing .modal__overlay {
  opacity: 0;
}

.modal.is-closing .modal__dialog {
  transform: translateY(8px) scale(0.985);
  opacity: 0;
}

.modal__header {
  height: 64px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 16px 16px 0 0;
  padding: 0 32px;
  position: relative;
}

.modal__header__title {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1007px) {
  .modal__header__title {
    transform: translateX(0);
    left: 24px;
    font-size: 18px;
  }
}

/* 閉じるボタン */
.modal__header__back,
.modal__header__close {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  background-color: transparent !important;
  border: none !important;
  position: absolute;
}
.modal__header__back span,
.modal__header__close span {
  color: #303030;
  text-align: right;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
}
.modal__header__back img,
.modal__header__close img {
  width: 16px;
  height: 16px;
}
@media (max-width: 1007px) {
  .modal__header__back img,
  .modal__header__close img {
    display: none;
  }
}

.modal__header__back {
  left: 32px;
}

.modal__header__close {
  right: 32px;
}

.modal__conetnt {
  padding: 32px 172px 48px 172px;
}
@media (max-width: 1007px) {
  .modal__conetnt {
    padding: 24px;
  }
}

.modal__conetntSearch {
  /* チェックされた時の見た目 */
  /* アイコンを切り替え */
}
.modal__conetntSearch h3 {
  color: #303030;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.modal__conetntSearch .link-group {
  display: flex;
  align-self: stretch;
  flex-wrap: wrap;
  gap: 16px;
}
.modal__conetntSearch .link-group a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  padding-right: 10px;
  border-radius: 4px;
  font-weight: 900 !important;
  cursor: pointer;
  transition: all 0.2s;
  background: #fff;
  color: #303030;
  font-family: Avenir !important;
  font-size: 12px !important;
  font-style: normal;
  line-height: 150% !important;
  text-decoration: none;
}
.modal__conetntSearch .link-group a span {
  font-weight: 900 !important;
  font-family: Avenir !important;
  font-size: 12px;
}
.modal__conetntSearch .link-group a:hover {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #fff;
}
.modal__conetntSearch .link-group a:hover .icon {
  content: url("../images/common/right_arrow_white.svg");
}
.modal__conetntSearch .link-group a .icon {
  width: 16px;
  height: 16px;
}
.modal__conetntSearch .checkbox-group {
  display: flex;
  align-self: stretch;
  flex-wrap: wrap;
  gap: 16px;
}
.modal__conetntSearch input[type=checkbox] {
  display: none; /* デフォルトのチェックボックスは隠す */
}
.modal__conetntSearch .checkbox-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  padding-left: 10px;
  border-radius: 4px;
  font-weight: 900 !important;
  cursor: pointer;
  transition: all 0.2s;
  background: #fff;
  color: #303030;
  font-family: Avenir !important;
  font-size: 12px;
  font-style: normal;
  line-height: 150%;
}
.modal__conetntSearch .checkbox-btn span {
  font-weight: 900 !important;
  font-family: Avenir !important;
  font-size: 12px;
}
.modal__conetntSearch .checkbox-btn img.icon {
  width: 16px;
  height: 16px;
}
.modal__conetntSearch input[type=checkbox]:checked + .checkbox-btn {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #fff;
  border: none;
}
.modal__conetntSearch input[type=checkbox]:checked + .checkbox-btn img.icon {
  content: url("../images/common/check_on.svg");
}

#ageConfirmation .modal__dialog {
  width: 572px;
}
@media (max-width: 1007px) {
  #ageConfirmation .modal__dialog {
    width: calc(100vw - 32px);
  }
}
#ageConfirmation .modal__dialogInner {
  background-color: #fff !important;
  padding: 64px !important;
}
@media (max-width: 1007px) {
  #ageConfirmation .modal__dialogInner {
    padding: 48px 32px !important;
  }
}
#ageConfirmation img {
  margin: 0 auto;
  width: 204px;
  display: block;
}
@media (max-width: 1007px) {
  #ageConfirmation img {
    width: 131px;
  }
}
#ageConfirmation p {
  margin-top: 24px !important;
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  margin: 0 auto;
}
#ageConfirmation h5 {
  color: #888;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300 !important;
  line-height: 150%;
  margin-top: 32px;
}
#ageConfirmation h5 strong {
  font-weight: 900 !important;
}
#ageConfirmation .buttons {
  margin-top: 32px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 24px;
}
@media (max-width: 1007px) {
  #ageConfirmation .buttons {
    flex-flow: column;
    gap: 16px;
    align-items: center;
  }
}
#ageConfirmation .yesButton,
#ageConfirmation .noButton {
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1007px) {
  #ageConfirmation .yesButton,
  #ageConfirmation .noButton {
    font-size: 16px;
  }
}
#ageConfirmation .yesButton {
  width: 200px;
  height: 64px;
  border-radius: 40px;
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
  color: #ff788a;
}
@media (max-width: 1007px) {
  #ageConfirmation .yesButton {
    width: 100%;
    height: 54px;
  }
}
#ageConfirmation .yesButton:hover {
  color: #fff;
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #ff788a;
}
#ageConfirmation .noButton {
  width: 220px;
  height: 64px;
  border-radius: 40px;
  border: 1px solid rgba(255, 128, 72, 0.32);
  background: #fff7f4;
  color: #ff8048;
}
@media (max-width: 1007px) {
  #ageConfirmation .noButton {
    width: 100%;
    height: 54px;
  }
}
#ageConfirmation .noButton:hover {
  color: #fff;
  border: 1px solid rgba(255, 128, 72, 0.32);
  background: #ff8048;
}

/*******************************************************
  * ヘッダー
*******************************************************/
.o-header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 999;
  box-shadow: 0 8px 16px 0 rgba(246, 248, 248, 0.8);
}
@media (max-width: 1007px) {
  .o-header {
    border-bottom: none;
  }
}
.o-header__top {
  background: linear-gradient(63deg, #f69 0%, #ff788a 49.79%, #ff8048 100%);
  width: 100%;
  display: flex;
  height: 32px;
}
@media (max-width: 1007px) {
  .o-header__top {
    display: none;
  }
}
.o-header__top__inner {
  justify-content: left;
  align-items: center;
  width: 1008px;
  margin: 0 auto;
  display: flex;
}
.o-header__top__inner__left {
  display: flex;
  align-items: center;
}
.o-header__top__inner__right {
  display: flex;
  justify-content: right;
  align-items: center;
  margin-left: auto;
  gap: 16px;
}
.o-header__top__inner__right a {
  color: #fff;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.o-header__top__inner__right a:hover {
  text-decoration: underline;
}
.o-header__bottom {
  background: rgba(255, 255, 255, 0.88);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  width: 100%;
  display: flex;
  height: 78px;
}
@media (max-width: 1007px) {
  .o-header__bottom {
    height: 64px;
    justify-content: center;
  }
}
.o-header__bottom__inner {
  justify-content: left;
  align-items: center;
  width: 1008px;
  margin: 0 auto;
  display: flex;
}
@media (max-width: 1007px) {
  .o-header__bottom__inner {
    width: 100%;
    padding: 0 18px;
    justify-content: center;
  }
}
.o-header__bottom__inner__left {
  display: flex;
  align-items: center;
}
.o-header__bottom__inner__right {
  display: flex;
  justify-content: right;
  align-items: center;
  margin-left: auto;
  gap: 8px;
}
@media (max-width: 1007px) {
  .o-header__bottom__inner__right {
    display: none;
  }
}
.o-header__bottom__inner__right a {
  display: flex;
  padding: 10px 20px 8px 20px;
  border-radius: 40px;
  text-decoration: none;
}
.o-header__bottom__inner__right a:nth-child(1) {
  color: #f69;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  border: 1px solid rgba(255, 102, 153, 0.32);
  background: #fff6f9;
}
.o-header__bottom__inner__right a:nth-child(1):hover {
  border: 1px solid rgba(255, 102, 153, 0.32);
  background: #f69;
  color: #fff;
}
.o-header__bottom__inner__right a:nth-child(2) {
  color: #ff788a;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
}
.o-header__bottom__inner__right a:nth-child(2):hover {
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #ff788a;
  color: #fff;
}
.o-header__bottom__inner__right a:nth-child(3) {
  color: #ff8048;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  border: 1px solid rgba(255, 128, 72, 0.32);
  background: #fff7f4;
}
.o-header__bottom__inner__right a:nth-child(3):hover {
  border: 1px solid rgba(255, 128, 72, 0.32);
  background: #ff8048;
  color: #fff;
}
.o-header__spMenuButton {
  position: absolute;
  top: 18px;
  right: 18px;
}
.o-header__spMenuButton__button {
  -webkit-tap-highlight-color: transparent;
}
.o-header__spMenuButton__button:focus, .o-header__spMenuButton__button:active {
  outline: none;
  box-shadow: none;
}
.o-header__spMenuButton__button--close {
  display: none;
}
.o-header__spBottomMenu {
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  z-index: 999;
}
@media (min-width: 1007px) {
  .o-header__spBottomMenu {
    display: none;
  }
}
.o-header__spBottomMenu a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 54px;
  text-decoration: none;
  gap: 10px;
}
.o-header__spBottomMenu a span {
  margin-left: 13px;
  text-align: left;
}
.o-header__spBottomMenu a img {
  position: relative;
  top: 1px;
}
.o-header__spBottomMenu a:nth-child(1) {
  border: 2px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
  color: #ff788a;
  text-align: center;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
  line-height: 130%;
}
.o-header__spBottomMenu a:nth-child(2) {
  border: 2px solid rgba(255, 128, 72, 0.32);
  border-left: 0;
  background: #fff7f4;
  color: #ff8048;
  text-align: center;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
  line-height: 130%;
}

#spMenuContainer {
  display: none;
  position: fixed;
  top: 64px;
  padding-top: 32px;
  left: 0;
  background: rgba(255, 247, 248, 0.64);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  width: 100vw;
  z-index: 1001;
  height: calc(100vh - 64px);
}
#spMenuContainer .spMenuWrap {
  padding: 1px;
  border-radius: 16px;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  width: calc(100vw - 32px);
  z-index: 99999;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
}
#spMenuContainer .spMenuInner {
  background: #f6f8f8;
  border-radius: 16px !important;
  overflow: hidden;
}
#spMenuContainer .spMenuWrap__footer {
  height: 76px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0 0 16px 16px;
  padding: 0 16px;
  position: relative;
  display: flex;
  align-items: center;
}
#spMenuContainer .spMenuWrap__footer #spResultCount {
  display: block;
  color: #303030;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  width: 72px;
  text-align: right;
  margin-right: auto;
}
#spMenuContainer .spMenuWrap__footer #spResultCount strong {
  font-size: 28px;
  font-weight: 900;
  font-family: Avenir;
  line-height: 160%;
  text-align: right;
  width: 72px;
  height: 44px;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 49.79%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-right: 4px;
}
#spMenuContainer .spMenuWrap__footer .spFooterSearchButton {
  border-radius: 40px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff7f8;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  height: 44px;
  padding-left: 16px;
  padding-right: 24px;
  text-decoration: none;
  width: 203px;
}
@media (min-width: 1008px) {
  #spMenuContainer .spMenuWrap__footer .spFooterSearchButton {
    display: none;
  }
}
#spMenuContainer .spMenuWrap__footer .spFooterSearchButton img {
  width: 24px;
  height: 24px;
}
#spMenuContainer .spMenuWrap__footer .spFooterSearchButton span {
  color: #fff;
  font-family: Avenir;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  white-space: nowrap;
}
#spMenuContainer .spMenuWrap__header {
  height: 64px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 16px 16px 0 0;
  padding: 0 24px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#spMenuContainer .spMenuWrap__header h2 {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  text-align: center;
  font-size: 18px;
  padding: 0 !important;
  margin: 0 !important;
}
#spMenuContainer .spMenuWrap__header a {
  display: block;
  margin-left: auto;
  color: #303030;
  text-align: right;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 19.2px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
#spMenuContainer .spMenuWrap__contents {
  background: #f6f8f8;
  padding: 24px;
  padding-bottom: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  gap: 24px;
  overflow-y: scroll;
  height: 400px;
  padding-top: 30% !important;
}
#spMenuContainer .spMenuWrap__contents__item {
  width: 100%;
}
#spMenuContainer .spMenuWrap__contents__item input {
  display: flex;
  width: 100%;
  padding: 12px 16px;
  align-items: center;
  border-radius: 4px;
  background: #fff;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 150%;
  color: #303030;
  border: none;
}
#spMenuContainer .spMenuWrap__contents__item h2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  padding: 0 !important;
  margin: 0 !important;
  margin-bottom: 16px !important;
}
@media (max-width: 1007px) {
  #spMenuContainer .spMenuWrap__contents__item h2 {
    gap: 3.5px;
  }
}
@media (max-width: 1007px) {
  #spMenuContainer .spMenuWrap__contents__item h2 img {
    width: 22px;
    height: 22px;
  }
}
#spMenuContainer .spMenuWrap__contents__item .searchField1 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 8px;
}
#spMenuContainer .spMenuWrap__contents__item .searchField2 {
  display: inline-flex;
  align-items: center;
  align-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
#spMenuContainer .spMenuWrap__contents__item .searchField2 button {
  display: flex;
  padding: 12px 31px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  background: #fff;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  border: none;
  line-height: 150%; /* 18px */
}
#spMenuContainer .spMenuWrap__contents__item .searchField2 button.active {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #f6f8f8;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #fff;
}
#spMenuContainer .spMenuWrap__contents__item .c-select {
  position: relative;
  width: 100%;
  max-width: 620px;
}
#spMenuContainer .spMenuWrap__contents__item .c-select::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%) rotate(0);
  transition: transform 0.18s ease;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9c9c9'><path d='M7 10l5 5 5-5z'/></svg>");
}
#spMenuContainer .spMenuWrap__contents__item .c-select:focus-within::after {
  transform: translateY(-50%) rotate(180deg);
}
#spMenuContainer .spMenuWrap__contents__item .c-select--sm .c-select__control {
  height: 38px;
  font-size: 14px;
}
#spMenuContainer .spMenuWrap__contents__item .c-select--lg .c-select__control {
  height: 54px;
  font-size: 17px;
}
#spMenuContainer .spMenuWrap__contents__item .c-select__control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: block;
  width: 100%;
  height: 46px;
  padding: 0 40px 0 16px;
  border-radius: 4px;
  background: #fff;
  color: #303030;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  line-height: 1;
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}
#spMenuContainer .spMenuWrap__contents__item .c-select__control:hover {
  border-color: #d8d8d8;
}
#spMenuContainer .spMenuWrap__contents__item .c-select__control:focus {
  outline: none;
  border-color: #ff7aa8;
  box-shadow: 0 0 0 3px rgba(255, 122, 168, 0.2);
}
#spMenuContainer .spMenuWrap__contents__item .c-select__control:invalid {
  color: #9aa0a6;
}
#spMenuContainer .spMenuWrap__contents__item .c-select__control:disabled {
  color: #b6b6b6;
  background: #f7f7f7;
  border-color: #e5e5e5;
  cursor: not-allowed;
}
#spMenuContainer .spMenuWrap__contents__item .c-select:has(.c-select__control:disabled)::after {
  filter: grayscale(1) opacity(0.6);
}

/*******************************************************
  * フッター
*******************************************************/
#footer-wrapper,
#footer-in {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

.o-footer {
  background-image: url("../images/footer/footer-bg.svg");
  background-size: 109%;
  background-position: 67% 70%;
  background-color: #fff7f8;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-footer {
    margin-bottom: 58px;
  }
}
.o-footer__inner {
  width: 1008px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 64px 0;
  height: 100%;
}
@media (max-width: 1007px) {
  .o-footer__inner {
    width: calc(100vw - 80px);
    padding: 24px 0;
    padding-top: 38px;
    flex-flow: column;
  }
}
.o-footer__inner__left {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: column;
  height: -webkit-fill-available;
}
@media (max-width: 1007px) {
  .o-footer__inner__left {
    height: auto;
    margin-bottom: 42px;
    justify-content: flex-start;
    width: 100%;
  }
}
.o-footer__inner__left img {
  width: 135px;
  height: 56px;
}
@media (max-width: 1007px) {
  .o-footer__inner__left img {
    width: 86.8px;
    height: 36px;
    margin-right: auto;
  }
}
.o-footer__inner__left p {
  color: #888;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.o-footer__inner__right {
  width: 727px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.64);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  padding: 32px;
}
@media (max-width: 1007px) {
  .o-footer__inner__right {
    width: 100%;
    padding: 16px;
  }
}
.o-footer__inner__right p {
  color: #303030;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  margin-bottom: 16px;
}
.o-footer__inner__right ul {
  display: flex;
  align-items: center;
  align-content: center;
  gap: 11px;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  margin-bottom: 32px;
}
.o-footer__inner__right ul li {
  padding-right: 12px;
  position: relative;
  display: flex;
}
.o-footer__inner__right ul li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background-color: #f6f8f8;
  background: linear-gradient(92deg, #f69 -140.23%, #ff788a 87.72%, #ff8048 240.31%), #303030;
}
.o-footer__inner__right ul li:last-child::after {
  display: none;
}
.o-footer__inner__right ul li a {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-footer__inner__right ul li a:hover {
  font-weight: bold;
  color: #ff788a !important;
}
.o-footer .o-copyRight {
  color: #888;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  margin-top: 32px;
}

/*******************************************************
  * Section1
*******************************************************/
.o-section1 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: -160px;
  padding-top: 111px;
  background-image: url("../images/top/image1_pc.jpg");
  background-size: cover;
  background-position: bottom;
  height: 618px;
}
@media (max-width: 1007px) {
  .o-section1 {
    margin-bottom: -40px;
    flex-flow: column;
    flex-direction: column-reverse;
    gap: 24px;
    padding-top: 0;
    background-image: none;
    height: 420px;
  }
}
.o-section1__inner {
  width: 496px;
  margin-left: calc((100vw - 1008px) / 2);
  margin-top: 32px;
}
@media (max-width: 1007px) {
  .o-section1__inner {
    width: 100%;
    margin-left: 0;
  }
}
.o-section1__inner > .o-h1--top {
  color: #fff;
}
@media (max-width: 1007px) {
  .o-section1__inner > .o-h1--top {
    color: #303030;
  }
}
.o-section1__inner > p {
  color: #ffffff;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  margin-top: 4px;
  margin-bottom: 16px;
}
@media (max-width: 1007px) {
  .o-section1__inner > p {
    margin-bottom: 0;
    color: #303030;
  }
}
.o-section1__inner__search {
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
@media (max-width: 1007px) {
  .o-section1__inner__search {
    display: none;
  }
}
.o-section1__inner__search__field {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 1px solid #f6f8f8;
  background: rgba(255, 255, 255, 0.8);
  height: 68px;
  padding-left: 16px;
  padding-right: 16px;
}
.o-section1__inner__search__field:last-child {
  border-bottom: none;
}
.o-section1__inner__search__field > label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  width: 128px;
}
.o-section1__inner__search__field > label span {
  color: #303030;
  font-family: Avenir;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.o-section1__inner__search__field > a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  padding: 8px 18px 8px 12px;
  border-radius: 4px;
  background: #f6f8f8;
  text-decoration: none;
  margin-right: 16px;
  cursor: pointer;
}
.o-section1__inner__search__field > a span {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-section1__inner__search__field > a span strong {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.o-section1__inner__search__field input {
  font-size: 12px !important;
}
.o-section1__inner__search__field > span {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-section1__inner__searchButtons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f6f8f8;
  border-radius: 0 0 16px 16px;
  height: 76px;
  padding-left: 16px;
  padding-right: 16px;
}
@media (max-width: 1007px) {
  .o-section1__inner__searchButtons {
    display: none;
  }
}
.o-section1__inner__searchButtons__clearButton {
  cursor: pointer;
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  display: block;
  padding: 5px 12px 4px 12px;
}
.o-section1__inner__searchButtons > span {
  display: block;
  color: #303030;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.o-section1__inner__searchButtons > span strong {
  font-size: 28px;
  font-weight: 900;
  font-family: Avenir;
  line-height: 160%;
  text-align: right;
  width: 72px;
  height: 44px;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 49.79%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-right: 4px;
}
.o-section1__inner__searchButtons__searchButton {
  border-radius: 40px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 24px 10px 16px;
  gap: 4px;
  text-decoration: none;
  cursor: pointer;
}
.o-section1__inner__searchButtons__searchButton:hover {
  background: linear-gradient(91deg, rgba(255, 102, 153, 0.7) 0%, rgba(255, 120, 138, 0.7) 59.9%, rgba(255, 128, 72, 0.7) 100%), #fff;
}
.o-section1__inner__searchButtons__searchButton span {
  color: #fff;
  font-family: Avenir;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.o-section1__background {
  width: 478px;
}
@media (max-width: 1007px) {
  .o-section1__background {
    width: 100%;
    text-align: center;
  }
}
.o-section1 .select2Wrap {
  width: 336px;
}
@media (max-width: 1007px) {
  .o-section1 .select2Wrap {
    width: 100%;
  }
}
.o-section1 .select2-container--default .select2-selection--single {
  background-color: #f7f9f9;
  border: none;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 14px;
  color: #333;
  height: auto;
  min-height: 42px;
  box-shadow: none;
}
.o-section1 .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
}
.o-section1 .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
}
.o-section1 .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
}

/*******************************************************
  * Section2
*******************************************************/
.o-section2 {
  margin-top: 64px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 32px;
  width: 100%;
}
.o-section2__text {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
}
.o-section2__spSearchButton {
  border-radius: 40px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff7f8;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  height: 54px;
  width: 90%;
  margin: 0 auto;
  text-decoration: none;
}
@media (min-width: 1008px) {
  .o-section2__spSearchButton {
    display: none;
  }
}
.o-section2__spSearchButton img {
  width: 22px;
  height: 22px;
}
.o-section2__spSearchButton span {
  color: #fff;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.o-section2 .select2Wrap {
  width: 312px;
}
@media (max-width: 1007px) {
  .o-section2 .select2Wrap {
    width: 100%;
  }
}
.o-section2 .select2-container--default .select2-selection--single {
  background-color: #f7f9f9;
  border: none;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 14px;
  color: #333;
  height: auto;
  min-height: 42px;
  box-shadow: none;
}
.o-section2 .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
}
.o-section2 .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
}
.o-section2 .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
}
.o-section2__item {
  width: 100%;
}
.o-section2__item h2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1007px) {
  .o-section2__item h2 {
    gap: 3.5px;
  }
}
@media (max-width: 1007px) {
  .o-section2__item h2 img {
    width: 22px;
    height: 22px;
  }
}
.o-section2__item__links {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 9px;
  width: 100%;
  margin-top: 16px;
  flex-wrap: wrap;
}
@media (max-width: 1007px) {
  .o-section2__item__links {
    flex-wrap: wrap;
    gap: 8px;
  }
}
.o-section2__item__links a {
  display: flex;
  padding-top: 12px;
  padding-bottom: 12px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: #f6f8f8;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
  text-decoration: none;
  padding-left: 32px;
  padding-right: 32px;
}
.o-section2__item__links a:hover, .o-section2__item__links a.active {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #f6f8f8;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #fff;
}

/*******************************************************
  * Section3
*******************************************************/
.o-section3--forSingleShop {
  margin-top: 64px;
}
@media (max-width: 1007px) {
  .o-section3--forSingleShop {
    width: calc(100vw - 40px);
  }
  .o-section3--forSingleShop .o-section3__reviews {
    gap: 24px;
  }
}
.o-section3 h2 {
  margin: 0 !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}
.o-section3__reviews {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 27px;
}
@media (max-width: 1007px) {
  .o-section3__reviews {
    overflow-x: scroll;
    gap: 16px;
  }
}
@media (max-width: 1007px) {
  .o-section3__reviews__item {
    width: 318px;
    min-width: 318px;
  }
}
.o-section3__reviews__item__images {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3px;
}
.o-section3__reviews__item__images img {
  width: 104px;
  height: 104px !important;
  flex: 0 0 104px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  display: block;
  border-radius: 6px;
}
.o-section3__reviews__item__images img:first-child {
  border-radius: 8px 0 0 8px;
}
.o-section3__reviews__item__images img:last-child {
  border-radius: 0 8px 8px 0;
}
.o-section3__reviews__item__subject {
  margin-top: 12px;
  display: flex;
  gap: 6px;
  width: 100%;
}
.o-section3__reviews__item__subject a {
  padding-right: 7px;
  position: relative;
  display: flex;
  color: #888;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
.o-section3__reviews__item__subject a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background-color: #f6f8f8;
  background: linear-gradient(92deg, #f69 -140.23%, #ff788a 87.72%, #ff8048 240.31%), #303030;
}
.o-section3__reviews__item__subject a:last-child::after {
  display: none;
}
.o-section3__reviews__item__title {
  width: 100%;
  margin-top: 2px;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 180%;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.o-section3__reviews__item__text {
  width: 100%;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 12px;
}
.o-section3__reviews__item__footer {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
}
.o-section3__reviews__item__footer__gradientBorder {
  display: inline-block;
  padding: 1px;
  border-radius: 50%;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
}
.o-section3__reviews__item__footer__gradientBorder img {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
}
.o-section3__reviews__item__footer__name {
  overflow: hidden;
  color: #303030;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
.o-section3__reviews__item__footer__date {
  margin-left: auto;
  color: #303030;
  text-align: right;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}

/*******************************************************
  * Section4
*******************************************************/
.o-section4 h2 {
  margin: 0 !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}
.o-section4__reviews {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 27px;
}
@media (max-width: 1007px) {
  .o-section4__reviews {
    overflow-x: scroll;
    gap: 16px;
  }
}
.o-section4__reviews__itemBorder {
  padding: 1px;
  border-radius: 16px;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
}
@media (max-width: 1007px) {
  .o-section4__reviews__itemBorder {
    width: 318px;
    min-width: 318px;
  }
}
.o-section4__reviews__item {
  background-color: #fff;
  padding: 16px;
  border-radius: 16px;
}
.o-section4__reviews__item__images {
  width: 286px;
  height: 177px;
  overflow: hidden;
  border-radius: 8px; /* 角丸いらなければ削除 */
  flex: 0 0 286px; /* 親がflexなら横幅固定 */
}
.o-section4__reviews__item__images img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* はみ出しをトリミング */
  -o-object-position: center;
     object-position: center; /* 中央で切り取り */
  display: block;
}
.o-section4__reviews__item__title {
  width: 100%;
  margin-top: 12px;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 180%;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* 2行でカット */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.o-section4__reviews__item__text {
  width: 100%;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 4px;
  margin-bottom: 12px;
}
.o-section4__reviews__item__footer {
  margin-top: 12px;
  display: flex;
  gap: 6px;
  width: 100%;
}
.o-section4__reviews__item__footer a {
  padding-right: 7px;
  position: relative;
  display: flex;
  color: #888;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
.o-section4__reviews__item__footer a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background-color: #f6f8f8;
  background: linear-gradient(92deg, #f69 -140.23%, #ff788a 87.72%, #ff8048 240.31%), #303030;
}
.o-section4__reviews__item__footer a:last-child::after {
  display: none;
}

/*******************************************************
  * Section5
*******************************************************/
.o-section5 h2 {
  margin: 0 !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}
.o-section5__reviews {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 32px;
}
@media (max-width: 1007px) {
  .o-section5__reviews {
    width: 100%;
  }
}
.o-section5__reviews__itemBorder {
  padding: 1px;
  border-radius: 16px;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
}
@media (max-width: 1007px) {
  .o-section5__reviews__itemBorder {
    width: 100%;
  }
}
.o-section5__reviews__item {
  background-color: #fff;
  padding: 32px;
  border-radius: 16px;
}
@media (max-width: 1007px) {
  .o-section5__reviews__item {
    padding: 16px;
  }
}
.o-section5__reviews__item__header {
  display: flex;
  gap: 6px;
  width: 100%;
}
.o-section5__reviews__item__header a {
  padding-right: 7px;
  position: relative;
  display: flex;
  color: #888;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
.o-section5__reviews__item__header a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 10px;
  background-color: #f6f8f8;
  background: linear-gradient(92deg, #f69 -140.23%, #ff788a 87.72%, #ff8048 240.31%), #303030;
}
.o-section5__reviews__item__header a:last-child::after {
  display: none;
}
.o-section5__reviews__item__average {
  display: flex;
  gap: 4px;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 16px;
}
.o-section5__reviews__item__average h3 {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 14px;
  margin-top: 2px;
}
.o-section5__reviews__item__contents {
  display: flex;
  width: 100%;
}
.o-section5__reviews__item__contents img {
  width: 460px;
  height: 284px;
}
.o-section5__reviews__item__title {
  width: 100%;
  margin-top: 8px;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 180%;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1007px) {
  .o-section5__reviews__item__title {
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 16px;
  }
}
.o-section5__reviews__item__text {
  width: 100%;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 16px;
  margin-bottom: 0;
}
@media (max-width: 1007px) {
  .o-section5__reviews__item__text {
    font-size: 22px;
    -webkit-line-clamp: 3;
  }
}
.o-section5__reviews__item__contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-section5__reviews__item__contents {
    flex-flow: column;
    gap: 16px;
  }
}
.o-section5__reviews__item__contents > img {
  width: 480px;
  height: 284px !important;
  -o-object-fit: cover;
     object-fit: cover; /* 枠いっぱいに埋める（中央トリミング） */
}
@media (max-width: 1007px) {
  .o-section5__reviews__item__contents > img {
    width: 100%;
    aspect-ratio: 318/196; /* 幅100%時も縦横比を維持 */
    height: 196px !important;
    height: auto; /* aspect-ratio で高さ自動算出 */
  }
}
.o-section5__reviews__item__contents__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 8px;
  min-width: 417px;
}
@media (max-width: 1007px) {
  .o-section5__reviews__item__contents__list {
    gap: 4px;
    width: 100%;
    min-width: 100%;
  }
}
.o-section5__reviews__item__contents__list__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-section5__reviews__item__contents__list__item {
    gap: 16px;
  }
}
.o-section5__reviews__item__contents__list__item__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  gap: 2px;
  width: 56px;
  min-width: 56px;
  max-width: 56px;
}
.o-section5__reviews__item__contents__list__item__title img {
  width: 40px;
  height: 40px;
}
.o-section5__reviews__item__contents__list__item__title span {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  white-space: nowrap;
}
.o-section5__reviews__item__contents__list__item p {
  color: #303030;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.o-section5__reviews__item__contents__list a {
  display: flex;
  padding: 16px 0;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 40px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff;
  color: #fff;
  text-align: center;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  width: 100%;
  text-decoration: none;
  margin-top: 4px;
}
.o-section5__reviews__item__contents__list a:hover {
  background: linear-gradient(91deg, rgba(255, 102, 153, 0.7) 0%, rgba(255, 120, 138, 0.7) 59.9%, rgba(255, 128, 72, 0.7) 100%), #fff;
  color: #fff;
}
@media (max-width: 1007px) {
  .o-section5__reviews__item__contents__list a {
    font-size: 16px;
    margin-top: 12px;
    padding: 14px 0;
  }
}
.o-section5__reviews__item .rating {
  --max: 5; /* 最大星数 */
  --value: 0; /* JSで data-rating から入れる。直接書いてもOK */
  --size: 16px; /* 星の大きさ */
  position: relative;
  width: calc(var(--size) * var(--max));
  height: var(--size);
}
.o-section5__reviews__item .rating__base,
.o-section5__reviews__item .rating__fill {
  position: absolute;
  inset: 0;
  background-repeat: repeat-x;
  background-size: var(--size) var(--size);
}
.o-section5__reviews__item .rating__base {
  background-image: url("../images/section5/star-empty.svg");
}
.o-section5__reviews__item .rating__fill {
  background-image: url("../images/section5/star-filled.svg");
  width: calc(var(--value) / var(--max) * 100%);
  overflow: hidden; /* ここで半端分をクリップ */
}

/*******************************************************
  * Section6
*******************************************************/
.o-section6__title {
  margin: 0 auto;
  display: block;
}
.o-section6__contents {
  margin-top: 48px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: column;
  gap: 48px;
}
.o-section6__contents__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: column;
  gap: 32px;
}
@media (min-width: 1008px) {
  .o-section6__contents__item:nth-child(even) .o-section6__contents__item__main {
    flex-direction: row-reverse;
  }
}
@media (max-width: 1007px) {
  .o-section6__contents__item {
    gap: 24px;
  }
}
.o-section6__contents__item__main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
  padding-left: 32px;
  padding-right: 32px;
}
@media (max-width: 1007px) {
  .o-section6__contents__item__main {
    gap: 24px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
  }
}
.o-section6__contents__item__main__description {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 24px;
}
.o-section6__contents__item__main__description h2 {
  color: #303030;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1007px) {
  .o-section6__contents__item__main__description h2 {
    font-size: 18px;
  }
}
.o-section6__contents__item__main__description p {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-section6__contents__item__main__image img {
  width: 460px;
  height: 460px;
  max-width: 460px !important;
}
@media (max-width: 1007px) {
  .o-section6__contents__item__main__image img {
    width: 100%;
    height: auto;
  }
}
.o-section6__contents__item__buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-section6__contents__item__buttons {
    width: 100%;
    flex-flow: column;
    padding-left: 10px;
    padding-right: 10px;
    justify-content: center;
  }
}
.o-section6__contents__item__buttons__button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  padding-top: 16px;
  padding-bottom: 16px;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-section6__contents__item__buttons__button {
    padding-top: 14px;
    padding-bottom: 14px;
  }
}
.o-section6__contents__item__buttons__button:first-child {
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
  border-radius: 40px;
}
.o-section6__contents__item__buttons__button:first-child span {
  color: #ff788a;
}
.o-section6__contents__item__buttons__button:last-child {
  border-radius: 40px;
  border: 1px solid rgba(255, 128, 72, 0.32);
  background: #fff7f4;
}
.o-section6__contents__item__buttons__button:last-child span {
  color: #ff8048;
}
.o-section6__contents__item__buttons__button img {
  width: 24px;
  height: 24px;
}
@media (max-width: 1007px) {
  .o-section6__contents__item__buttons__button img {
    width: 20px;
    height: 20px;
  }
}
.o-section6__contents__item__buttons__button span {
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
@media (max-width: 1007px) {
  .o-section6__contents__item__buttons__button span {
    font-size: 20px;
  }
}

/* Cropper のクロップ枠を丸く見せる */
.cropper-view-box,
.cropper-face {
  border-radius: 50% !important;
}

/* 周囲を暗くして丸を強調（好みで調整） */
.cropper-view-box {
  outline: none !important;
  box-shadow: 0 0 0 2000px rgba(0, 0, 0, 0.45) !important;
}

/* 補助線・中心マークを消す（好み） */
.cropper-dashed,
.cropper-center {
  display: none !important;
}

/* プレビュー用の丸枠（任意） */
#cropPreview,
.cropper-preview--circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  overflow: hidden;
  background: #f7f7f7;
  border: 1px solid #ddd;
}

.o-mypageContainer {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
@media (max-width: 1007px) {
  .o-mypageContainer {
    flex-flow: column;
    margin-top: 64px;
    gap: 4px;
  }
}
.o-mypageContainer aside {
  width: 312px;
  max-width: 312px;
  height: -webkit-fill-available;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
@media (max-width: 1007px) {
  .o-mypageContainer aside {
    width: 100%;
    max-width: 100%;
  }
}
.o-mypageContainer aside .buttonWrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px;
}
@media (max-width: 1007px) {
  .o-mypageContainer aside .buttonWrap {
    flex-flow: row;
    justify-content: center;
    margin-bottom: 16px;
    align-items: center;
    gap: 4px;
  }
}
.o-mypageContainer aside .buttonWrap .button {
  display: flex;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  align-self: center;
  border-radius: 4px;
  color: #888;
  text-align: center;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  border: none;
  width: 100%;
  border-radius: 16px 0 0 16px;
  border-top: 1px solid rgba(136, 136, 136, 0.4);
  border-bottom: 1px solid rgba(136, 136, 136, 0.4);
  border-left: 1px solid rgba(136, 136, 136, 0.4);
  background: #f6f8f8;
}
@media (max-width: 1007px) {
  .o-mypageContainer aside .buttonWrap .button {
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 16px 16px 0 0;
    border-top: 1px solid rgba(136, 136, 136, 0.4);
    border-right: 1px solid rgba(136, 136, 136, 0.4);
    border-left: 1px solid rgba(136, 136, 136, 0.4);
  }
}
.o-mypageContainer aside .buttonWrap .button.active {
  border-radius: 16px 0 0 16px;
  border-top: 1px solid rgba(136, 136, 136, 0.4);
  border-bottom: 1px solid rgba(136, 136, 136, 0.4);
  border-left: 1px solid rgba(136, 136, 136, 0.4);
  background: #303030;
  color: #fff;
}
@media (max-width: 1007px) {
  .o-mypageContainer aside .buttonWrap .button.active {
    border-radius: 16px 16px 0 0;
    background: #303030;
  }
}
.o-mypageContainer aside .bottomButtonWrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-mypageContainer aside .bottomButtonWrap {
    display: none;
  }
}
.o-mypageContainer aside .bottomButtonWrap .buttonType1 {
  color: #ff788a;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  line-height: 160%; /* 32px */
  display: flex;
  height: 64px;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 40px;
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
  text-decoration: none;
}
.o-mypageContainer aside .bottomButtonWrap .buttonType1:hover {
  background-color: #ff788a;
}
.o-mypageContainer aside .bottomButtonWrap .buttonType1:hover span {
  color: #fff;
}
.o-mypageContainer aside .bottomButtonWrap .buttonType1 span {
  font-weight: 900 !important;
}
.o-mypageContainer aside .bottomButtonWrap .buttonType2 {
  color: #ff8048;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900 !important;
  line-height: 160%; /* 32px */
  display: flex;
  height: 64px;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 40px;
  border: 1px solid rgba(255, 128, 72, 0.32);
  background: #fff7f4;
  text-decoration: none;
}
.o-mypageContainer aside .bottomButtonWrap .buttonType2:hover {
  background-color: #ff8048;
}
.o-mypageContainer aside .bottomButtonWrap .buttonType2:hover span {
  color: #fff;
}
.o-mypageContainer aside .bottomButtonWrap .buttonType2 span {
  font-weight: 900 !important;
}
.o-mypageContainer .bottomButtonWrap_sp {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: calc(100vw - 62px);
  margin: 0 auto;
  margin-top: 16px;
  margin-bottom: 64px;
}
@media (min-width: 1008px) {
  .o-mypageContainer .bottomButtonWrap_sp {
    display: none;
  }
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType1 {
  color: #ff788a;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  line-height: 160%; /* 32px */
  display: flex;
  height: 64px;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 40px;
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
  text-decoration: none;
  width: 100%;
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType1:hover {
  background-color: #ff788a;
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType1:hover span {
  color: #fff;
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType1 span {
  font-weight: 900 !important;
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType2 {
  color: #ff8048;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900 !important;
  line-height: 160%; /* 32px */
  display: flex;
  height: 64px;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 40px;
  border: 1px solid rgba(255, 128, 72, 0.32);
  background: #fff7f4;
  text-decoration: none;
  width: 100%;
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType2:hover {
  background-color: #ff8048;
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType2:hover span {
  color: #fff;
}
.o-mypageContainer .bottomButtonWrap_sp .buttonType2 span {
  font-weight: 900 !important;
}
.o-mypageContainer .o-mypageProfilesWrapper {
  width: 660px;
  padding: 48px;
  border-radius: 16px;
  background: #f6f8f8;
  justify-content: center;
  align-items: flex-start;
  flex-flow: column;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-mypageContainer .o-mypageProfilesWrapper {
    max-width: 100%;
    width: 100%;
    padding: 48px 0;
    border-radius: 0;
  }
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileImageInputWrapperBorder {
  margin: auto;
  width: 131px;
  height: 131px;
  position: relative;
  border-radius: 200px;
  padding: 2px;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileImageInputWrapperBorder .o-profileImageInputWrapper > img {
  width: 130px;
  height: 130px;
  border-radius: 200px;
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileImageInputWrapperBorder .o-profileImageEdit {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background-color: #303030;
  border-radius: 500px;
  position: absolute;
  background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><rect width='16' height='16' rx='8' fill='%23303030'/><g clip-path='url(%23clip0)'><g transform='translate(8 8) scale(0.75) translate(-8 -8)'><path fill-rule='evenodd' clip-rule='evenodd' d='M9.26471 2.01948C9.50065 1.78352 9.8165 1.6446 10.1499 1.63016C10.4832 1.61572 10.8099 1.7268 11.0654 1.94148L11.15 2.01948L13.9787 4.84815C14.2145 5.08406 14.3533 5.39976 14.3677 5.73298C14.3822 6.0662 14.2712 6.39273 14.0567 6.64815L13.9787 6.73348L7.10271 13.6095C6.88137 13.8308 6.58919 13.9672 6.27738 13.9948L6.16005 13.9995H2.67138C2.32471 13.9995 2.03871 13.7368 2.00205 13.3995L1.99805 13.3261V9.83748C1.99812 9.52445 2.10834 9.22142 2.30938 8.98148L2.38938 8.89482L9.26471 2.01948ZM8.11405 5.05548L3.33138 9.83815V12.6662H6.16071L10.9434 7.88348L8.11405 5.05548ZM10.2074 2.96215L9.05671 4.11282L11.8854 6.94148L13.036 5.79082L10.2074 2.96215Z' fill='white'/></g></g><defs><clipPath id='clip0'><rect width='16' height='16' fill='white'/></clipPath></defs></svg>");
  background-size: 32px;
  bottom: 4px;
  right: 4px;
  cursor: pointer;
  z-index: 11;
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileItem {
  width: 100%;
  cursor: pointer;
  position: relative;
}
@media (max-width: 1007px) {
  .o-mypageContainer .o-mypageProfilesWrapper .o-profileItem {
    width: calc(100% - 40px);
    margin: 0 auto;
  }
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileItem--height {
  width: 220px;
}
@media (max-width: 1007px) {
  .o-mypageContainer .o-mypageProfilesWrapper .o-profileItem--height {
    margin-right: auto;
    margin-left: 20px;
  }
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileItem--height::before {
  content: "cm";
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  bottom: 12px;
  right: 38px;
  position: absolute;
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileItem::after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 16px;
  background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 16' fill='none'><g clip-path='url(%23clip0_2151_13061)'><path fill-rule='evenodd' clip-rule='evenodd' d='M9.76471 2.01948C10.0007 1.78352 10.3165 1.6446 10.6499 1.63016C10.9832 1.61572 11.3099 1.7268 11.5654 1.94148L11.65 2.01948L14.4787 4.84815C14.7145 5.08406 14.8533 5.39976 14.8677 5.73298C14.8822 6.0662 14.7712 6.39273 14.5567 6.64815L14.4787 6.73348L7.60271 13.6095C7.38137 13.8308 7.08919 13.9672 6.77738 13.9948L6.66005 13.9995H3.17138C2.82471 13.9995 2.53871 13.7368 2.50205 13.3995L2.49805 13.3261V9.83748C2.49812 9.52445 2.60834 9.22142 2.80938 8.98148L2.88938 8.89482L9.76471 2.01948ZM8.61405 5.05548L3.83138 9.83815V12.6662H6.66071L11.4434 7.88348L8.61405 5.05548ZM10.7074 2.96215L9.55671 4.11282L12.3854 6.94148L13.536 5.79082L10.7074 2.96215Z' fill='%23888888'/></g><defs><clipPath id='clip0_2151_13061'><rect width='16' height='16' fill='white' transform='translate(0.5)'/></clipPath></defs></svg>");
  position: absolute;
  right: 0;
  bottom: 16px;
  right: 12px;
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileItem label {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 19.2px */
}
.o-mypageContainer .o-mypageProfilesWrapper .o-profileItem p {
  margin-top: 8px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
  display: flex;
  height: 46px;
  padding-left: 12px;
  padding-right: 12px;
  align-items: center;
  align-self: stretch;
  border-radius: 4px;
  border: 1px solid #303030;
  background: #fff;
}

.o-formTitleSection {
  margin-top: 20px;
  margin-bottom: 32px;
}
@media (max-width: 1007px) {
  .o-formTitleSection {
    margin-top: 32px;
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
  }
}
@media (max-width: 1007px) {
  .o-formTitleSection h1 {
    margin-bottom: 8px !important;
  }
}
.o-formTitleSection p {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
}

.o-post-review {
  /* ネイティブUIは隠す（でもフォーカスは当たる） */
  /* ボタン化ラベル */
  /* チェック済み（checkbox/radio 共通） */
  /* アイコン（チェックON/OFFの切替） */
  /* フォーカス見える化（キーボード操作◎） */
  /* 無効状態 */
  /* レイアウト補助（横並び/折返し） */
  /* ▼ 既存のスタイルに追加/修正（SassでもCSSでもOK） ▼ */
}
.o-post-review form {
  display: flex;
  flex-flow: column;
  gap: 24px;
}
.o-post-review .select2-container {
  width: 100% !important;
}
.o-post-review .select2-container--default .select2-selection--single {
  height: 46px;
  border: 1px solid #303030 !important;
  border-radius: 4px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
.o-post-review .select2-container--default .select2-selection--single[aria-expanded=true]::before {
  transform: translateY(-50%) rotate(180deg);
}
.o-post-review .select2-container--default .select2-selection--single::before {
  content: "";
  right: 12px;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  display: inline-block;
  width: 17px;
  height: 16px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* fill を currentColor にしてあるので色は親の color に追従 */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'><path fill-rule='evenodd' clip-rule='evenodd' d='M9.30977 10.5923C9.12227 10.7796 8.86811 10.8848 8.60311 10.8848C8.33811 10.8848 8.08394 10.7796 7.89644 10.5923L4.12444 6.82164C3.93693 6.63405 3.83163 6.37965 3.83169 6.11441C3.83175 5.84917 3.93718 5.59482 4.12477 5.40731C4.31237 5.2198 4.56677 5.1145 4.83201 5.11456C5.09725 5.11462 5.3516 5.22005 5.53911 5.40765L8.60311 8.47098L11.6671 5.40698C11.7593 5.31143 11.8696 5.23519 11.9916 5.18273C12.1136 5.13026 12.2448 5.10261 12.3776 5.1014C12.5103 5.10018 12.642 5.12542 12.7649 5.17564C12.8879 5.22587 12.9996 5.30007 13.0935 5.39392C13.1874 5.48776 13.2617 5.59938 13.3121 5.72225C13.3624 5.84512 13.3878 5.97679 13.3867 6.10957C13.3856 6.24235 13.3581 6.37358 13.3057 6.49561C13.2534 6.61764 13.1772 6.72802 13.0818 6.82031L9.31044 10.5923L9.30977 10.5923Z' fill='currentColor'/></svg>");
}
.o-post-review .select2-selection__rendered {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-post-review .select2-selection__placeholder {
  color: #888888 !important;
}
.o-post-review .select2-selection__arrow {
  display: none;
}
.o-post-review .o-inputSelect {
  position: relative;
  width: 100%;
}
.o-post-review .o-inputSelect select {
  border-radius: 4px;
  border: 1px solid #303030;
  background: #fff;
  height: 46px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
}
.o-post-review .o-inputSelect select::-ms-expand {
  display: none;
}
.o-post-review .o-inputSelect select:disabled {
  color: #888888 !important;
}
.o-post-review .o-inputSelect select::after {
  content: "";
  right: 12px;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  display: inline-block;
  width: 17px;
  height: 16px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'><path fill-rule='evenodd' clip-rule='evenodd' d='M9.30977 10.5923C9.12227 10.7796 8.86811 10.8848 8.60311 10.8848C8.33811 10.8848 8.08394 10.7796 7.89644 10.5923L4.12444 6.82164C3.93693 6.63405 3.83163 6.37965 3.83169 6.11441C3.83175 5.84917 3.93718 5.59482 4.12477 5.40731C4.31237 5.2198 4.56677 5.1145 4.83201 5.11456C5.09725 5.11462 5.3516 5.22005 5.53911 5.40765L8.60311 8.47098L11.6671 5.40698C11.7593 5.31143 11.8696 5.23519 11.9916 5.18273C12.1136 5.13026 12.2448 5.10261 12.3776 5.1014C12.5103 5.10018 12.642 5.12542 12.7649 5.17564C12.8879 5.22587 12.9996 5.30007 13.0935 5.39392C13.1874 5.48776 13.2617 5.59938 13.3121 5.72225C13.3624 5.84512 13.3878 5.97679 13.3867 6.10957C13.3856 6.24235 13.3581 6.37358 13.3057 6.49561C13.2534 6.61764 13.1772 6.72802 13.0818 6.82031L9.31044 10.5923L9.30977 10.5923Z' fill='currentColor'/></svg>");
}
.o-post-review .o-inputSelect::after {
  content: "";
  right: 12px;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  display: inline-block;
  width: 17px;
  height: 16px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'><path fill-rule='evenodd' clip-rule='evenodd' d='M9.30977 10.5923C9.12227 10.7796 8.86811 10.8848 8.60311 10.8848C8.33811 10.8848 8.08394 10.7796 7.89644 10.5923L4.12444 6.82164C3.93693 6.63405 3.83163 6.37965 3.83169 6.11441C3.83175 5.84917 3.93718 5.59482 4.12477 5.40731C4.31237 5.2198 4.56677 5.1145 4.83201 5.11456C5.09725 5.11462 5.3516 5.22005 5.53911 5.40765L8.60311 8.47098L11.6671 5.40698C11.7593 5.31143 11.8696 5.23519 11.9916 5.18273C12.1136 5.13026 12.2448 5.10261 12.3776 5.1014C12.5103 5.10018 12.642 5.12542 12.7649 5.17564C12.8879 5.22587 12.9996 5.30007 13.0935 5.39392C13.1874 5.48776 13.2617 5.59938 13.3121 5.72225C13.3624 5.84512 13.3878 5.97679 13.3867 6.10957C13.3856 6.24235 13.3581 6.37358 13.3057 6.49561C13.2534 6.61764 13.1772 6.72802 13.0818 6.82031L9.31044 10.5923L9.30977 10.5923Z' fill='currentColor'/></svg>");
}
.o-post-review input[type=checkbox].choice-input,
.o-post-review input[type=radio].choice-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.o-post-review .choice-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 20px;
  padding-left: 10px;
  border-radius: 4px;
  font-weight: 900;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
  color: #303030;
  outline: 1px solid #303030;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-family: Avenir, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 12px;
  line-height: 150%;
  width: auto;
}
.o-post-review .choice-btn .text {
  font-weight: 900;
  font-size: 12px;
  line-height: 150%;
}
.o-post-review .choice-btn .icon {
  width: 16px;
  height: 16px;
}
.o-post-review .choice-input:checked + .choice-btn {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff;
  color: #fff;
  outline: none;
}
.o-post-review .choice-input + .choice-btn .icon {
  content: url("../images/common/check_off.svg");
}
.o-post-review .choice-input:checked + .choice-btn .icon {
  content: url("../images/common/check_on.svg");
}
.o-post-review .choice-input:focus-visible + .choice-btn {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}
.o-post-review .choice-input:disabled + .choice-btn {
  opacity: 0.5;
  cursor: not-allowed;
}
.o-post-review .choice-input:checked:disabled + .choice-btn {
  opacity: 1 !important;
  cursor: not-allowed;
}
.o-post-review .choice-group {
  width: 100%;
}
.o-post-review .choice-group,
.o-post-review .choice-stack {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2列・均等 */
  gap: 8px;
}
@media (max-width: 360px) {
  .o-post-review .choice-group,
  .o-post-review .choice-stack {
    grid-template-columns: 1fr;
  }
}
.o-post-review .o-earnPriceForm {
  position: relative;
}
.o-post-review .o-earnPriceForm::after {
  content: "円";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-post-review .o-heightForm {
  position: relative;
}
.o-post-review .o-heightForm::after {
  content: "cm";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-post-review .o-weightForm {
  position: relative;
}
.o-post-review .o-weightForm::after {
  content: "kg";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 32px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-post-review .o-AgeForm {
  position: relative;
}
.o-post-review .o-AgeForm::after {
  content: "歳";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-post-review .o-TimeForm {
  position: relative;
}
.o-post-review .o-TimeForm::after {
  content: "時";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
.o-post-review .o-bust {
  position: relative;
}
.o-post-review .o-bust::after {
  content: "カップ";
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  color: #303030;
  font-family: Avenir, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 160%;
  pointer-events: none;
}
.o-post-review textarea {
  border-radius: 4px;
  border: 1px solid #303030;
  background: #fff;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
  height: 46px;
  padding: 12px;
}
@media (max-width: 1007px) {
  .o-post-review textarea {
    height: 92px;
  }
}
.o-post-review textarea::-moz-placeholder {
  color: #888;
}
.o-post-review textarea::placeholder {
  color: #888;
}
.o-post-review .o-uploadWrap {
  display: flex;
  gap: 8px;
}
@media (max-width: 1007px) {
  .o-post-review .o-uploadWrap {
    overflow-x: scroll;
    width: 100%;
  }
}
.o-post-review .o-upload_file {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 216px;
}
.o-post-review .o-upload_file input[type=file] {
  display: none; /* ラベルクリックで開く */
}
.o-post-review .o-upload_file .uploadIcon {
  width: 32px;
  height: 32px;
  border-radius: 32px;
  display: grid;
  place-items: center;
  background-color: #000;
  border-radius: 4px;
  cursor: pointer;
  position: absolute;
  position: absolute;
  border-radius: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 10px;
  bottom: 10px;
  z-index: 9;
}
.o-post-review .o-upload_file .uploadIcon img {
  width: 18px;
  height: 18px;
}
.o-post-review .o-upload_file .previewImage {
  width: 216px;
  height: 216px;
  position: relative;
  border: 1px #303030 solid;
  display: grid;
  place-items: center;
  overflow: hidden;
  cursor: pointer;
  background: #fff;
  text-align: center;
}
.o-post-review .o-upload_file .previewImage img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
}
.o-post-review .o-form_title {
  color: #303030;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  margin: 0 !important;
  margin-bottom: 8px !important;
  padding: 0 !important;
}
.o-post-review .o-inputHelp {
  margin-top: -8px;
}

.o-post-reviewConfirm input[type=text],
.o-post-reviewConfirm input[type=password],
.o-post-reviewConfirm input[type=email],
.o-post-reviewConfirm input[type=number],
.o-post-reviewConfirm input[type=url],
.o-post-reviewConfirm textarea {
  pointer-events: none !important;
}

.o-stepContainer {
  width: 760px;
  margin: 64px auto;
}
@media (max-width: 1007px) {
  .o-stepContainer {
    width: calc(100vw - 40px);
  }
}
.o-stepContainer .itemForSp {
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
}
@media (min-width: 1008px) {
  .o-stepContainer .itemForSp {
    display: none;
  }
}
.o-stepContainer .itemForSp .label {
  background-color: #fff7f8;
  color: #ff788a;
  font-family: Avenir;
  font-size: 10px;
  font-weight: 900;
  line-height: 160%;
  padding: 4px 0;
  border-radius: 4px;
  width: 65px;
  display: block;
  text-align: center;
}
.o-stepContainer .itemForSp .title {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 900;
  line-height: 160%;
  width: 100%;
}
.o-stepContainer .o-steps {
  container-type: inline-size; /* これがポイント */
  --item-w: 96px;
  --steps: 4;
  /* 親幅を 100cqi で参照 */
  --edge-gap: calc((100cqi - (var(--steps) * var(--item-w))) / (var(--steps) - 1));
  --center-gap: calc(var(--item-w) + var(--edge-gap));
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%; /* ← もう固定値不要 */
  position: relative;
  /* ベースライン：両端は各itemの中心位置に合わせる */
}
.o-stepContainer .o-steps::after {
  content: "";
  position: absolute;
  left: calc(var(--item-w) / 2);
  right: calc(var(--item-w) / 2);
  bottom: -12px;
  height: 4px;
  background-color: #f6f8f8;
  z-index: 1; /* ★ 下げておく */
}
.o-stepContainer .o-steps .item {
  width: var(--item-w);
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  /* ドット */
  /* ★ 完了のドットにも色を適用（見えない問題の保険） */
  /* ★ 完了ライン：親で計算した gap を幅に使う */
}
.o-stepContainer .o-steps .item::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #d9d9d9;
  z-index: 7;
}
.o-stepContainer .o-steps .item.active::after {
  border: 4px solid #f69;
  background: linear-gradient(0deg, #fff 100%, #fff 100%), linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #d9d9d9;
  box-sizing: border-box;
}
.o-stepContainer .o-steps .item.done::after {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #d9d9d9;
}
.o-stepContainer .o-steps .item.done::before {
  content: "";
  position: absolute;
  bottom: -12px;
  left: calc(var(--item-w) / 2); /* 自身の中心から右方向へ引く */
  width: var(--center-gap);
  height: 4px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #f6f8f8;
  z-index: 5; /* ベースライン(1)より上、ドット(7)より下 */
}
.o-stepContainer .o-steps .item .label {
  color: #fff;
  background-color: #d9d9d9;
  font-family: Avenir;
  font-size: 10px;
  font-weight: 900;
  line-height: 160%;
  padding: 4px 0;
  border-radius: 4px;
  width: 65px;
  display: block;
  text-align: center;
}
@media (max-width: 1007px) {
  .o-stepContainer .o-steps .item .label {
    display: none;
  }
}
.o-stepContainer .o-steps .item.active .label {
  background-color: #fff7f8;
  color: #ff788a;
}
.o-stepContainer .o-steps .item .title {
  color: #888;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 900;
  line-height: 160%;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-stepContainer .o-steps .item .title {
    display: none;
  }
}
.o-stepContainer .o-steps .item.active .title {
  color: #303030;
}

.frv-confirmTitle {
  color: #ff788a !important;
  font-family: Avenir;
  font-size: px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 16px */
  text-align: center;
  margin: 0 auto;
}

.frv-confirmCard {
  width: 400px;
  margin: 0 auto;
  background: #f6f8f8;
  display: flex;
  padding: 48px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
@media (max-width: 1007px) {
  .frv-confirmCard {
    width: auto;
    padding: 48px 32px;
  }
}
.frv-confirmCard .frv-codeBox {
  display: flex;
  padding: 32px 12px;
  justify-content: center;
  align-items: center;
  gap: 24px;
  align-self: stretch;
  border-radius: 16px;
  background: #fff;
  color: #303030;
  font-family: Avenir;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 38.4px */
  margin-bottom: 24px;
}
.frv-confirmCard .frv-btn--copy {
  display: flex;
  padding: 16px 88px 16px 80px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  width: 100%;
  border-radius: 40px;
  background: #888;
  color: #fff;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  margin-bottom: 24px;
  border: none !important;
}
@media (max-width: 1007px) {
  .frv-confirmCard .frv-btn--copy {
    padding: 16px 40px 16px 40px;
  }
}
.frv-confirmCard .frv-lead {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
  width: 100%;
  margin-bottom: 24px;
}
@media (max-width: 1007px) {
  .frv-confirmCard .frv-lead {
    margin-bottom: 0;
  }
}

.frv-btn--line {
  display: flex;
  padding: 12.581px 69.194px 12.581px 62.903px;
  justify-content: center;
  align-items: center;
  gap: 3.145px;
  align-self: stretch;
  border-radius: 31.452px;
  background: #06c755;
  color: #fff;
  font-family: Avenir;
  font-size: 15.726px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 25.161px */
  width: auto;
}
@media (min-width: 1008px) {
  .frv-btn--line {
    display: none;
  }
}

.frv-qrPanel {
  display: flex;
  height: 400px;
  padding: 12px;
  justify-content: center;
  align-items: center;
  gap: 24px;
  align-self: stretch;
  border-radius: 24px;
  background: #fff;
  margin: 0 auto;
}
.frv-qrPanel .frv-qrPanel__inner {
  width: 352px;
  height: 352px;
  aspect-ratio: 1/1;
  border-radius: 18.526px;
  background: #d9d9d9;
  display: flex;
  justify-content: center;
  align-items: center;
}
.frv-qrPanel .frv-qrPanel__inner img {
  width: 320px;
  height: 320px;
}
@media (max-width: 1007px) {
  .frv-qrPanel {
    display: none;
  }
}

/*******************************************************
  * Section12
*******************************************************/
.o-section12__reviews {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 32px;
}
@media (max-width: 1007px) {
  .o-section12__reviews {
    width: 100%;
  }
}
.o-section12__reviews__itemBorder {
  width: 100%;
}
@media (max-width: 1007px) {
  .o-section12__reviews__itemBorder {
    width: 100%;
  }
}
.o-section12__reviews__item {
  background-color: #fff;
}
.o-section12__reviews__item__header {
  display: flex;
  gap: 6px;
  width: 100%;
}
.o-section12__reviews__item__header a {
  padding-right: 7px;
  position: relative;
  display: flex;
  color: #888;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
.o-section12__reviews__item__header a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 10px;
  background-color: #f6f8f8;
  background: linear-gradient(92deg, #f69 -140.23%, #ff788a 87.72%, #ff8048 240.31%), #303030;
}
.o-section12__reviews__item__header a:last-child::after {
  display: none;
}
.o-section12__reviews__item__average {
  display: flex;
  gap: 4px;
  justify-content: flex-start;
  align-items: center;
}
.o-section12__reviews__item__average h3 {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 14px;
  margin-top: 2px;
}
.o-section12__reviews__item__contents {
  display: flex;
  width: 100%;
}
.o-section12__reviews__item__contents img {
  width: 460px;
  height: 284px;
}
.o-section12__reviews__item__title {
  width: 100%;
  margin-top: 8px;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 180%;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1007px) {
  .o-section12__reviews__item__title {
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 16px;
  }
}
.o-section12__reviews__item__text {
  width: 100%;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  display: -webkit-box;
  margin-top: 16px;
}
@media (max-width: 1007px) {
  .o-section12__reviews__item__text {
    font-size: 22px;
  }
}
.o-section12__reviews__item__contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-section12__reviews__item__contents {
    flex-flow: column;
    gap: 16px;
  }
}
.o-section12__reviews__item__contents > img {
  width: 100%;
  height: 410px;
}
@media (max-width: 1007px) {
  .o-section12__reviews__item__contents > img {
    width: 100%;
  }
}
.o-section12__reviews__item__contents__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 8px;
  min-width: 417px;
}
@media (max-width: 1007px) {
  .o-section12__reviews__item__contents__list {
    gap: 4px;
    width: 100%;
    min-width: 100%;
  }
}
.o-section12__reviews__item__contents__list__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-section12__reviews__item__contents__list__item {
    gap: 16px;
  }
}
.o-section12__reviews__item__contents__list__item__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  gap: 2px;
  width: 56px;
  min-width: 56px;
  max-width: 56px;
}
.o-section12__reviews__item__contents__list__item__title img {
  width: 40px;
  height: 40px;
}
.o-section12__reviews__item__contents__list__item__title span {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  white-space: nowrap;
}
.o-section12__reviews__item__contents__list__item p {
  color: #303030;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.o-section12__reviews__item__contents__list a {
  display: flex;
  padding: 16px 0;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 40px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff;
  color: #fff;
  text-align: center;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  width: 100%;
  text-decoration: none;
  margin-top: 4px;
}
@media (max-width: 1007px) {
  .o-section12__reviews__item__contents__list a {
    font-size: 16px;
    margin-top: 12px;
    padding: 14px 0;
  }
}
.o-section12__reviews__item .rating {
  --max: 5; /* 最大星数 */
  --value: 0; /* JSで data-rating から入れる。直接書いてもOK */
  --size: 16px; /* 星の大きさ */
  position: relative;
  width: calc(var(--size) * var(--max));
  height: var(--size);
}
.o-section12__reviews__item .rating__base,
.o-section12__reviews__item .rating__fill {
  position: absolute;
  inset: 0;
  background-repeat: repeat-x;
  background-size: var(--size) var(--size);
}
.o-section12__reviews__item .rating__base {
  background-image: url("../images/section5/star-empty.svg");
}
.o-section12__reviews__item .rating__fill {
  background-image: url("../images/section5/star-filled.svg");
  width: calc(var(--value) / var(--max) * 100%);
  overflow: hidden; /* ここで半端分をクリップ */
}

.o-shopDetailPageContainer {
  display: grid;
  grid-template-columns: 1fr 318px;
  grid-template-rows: 1fr;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-shopDetailPageContainer {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 64px;
    padding-bottom: 64px;
  }
}
.o-shopDetailPageContainer .side {
  display: flex;
  flex-flow: column;
  gap: 32px;
}

/*******************************************************
  * Section13
*******************************************************/
.o-section13 {
  margin-top: 64px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 32px;
  width: 100%;
}
.o-section13 .select2Wrap {
  width: 312px;
}
@media (max-width: 1007px) {
  .o-section13 .select2Wrap {
    width: 100%;
  }
}
.o-section13 .select2-container--default .select2-selection--single {
  background-color: #f7f9f9;
  border: none;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 14px;
  color: #333;
  height: auto;
  min-height: 42px;
  box-shadow: none;
}
.o-section13 .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
}
.o-section13 .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
}
.o-section13 .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
}
.o-section13__item {
  width: 100%;
}
.o-section13__item h2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1007px) {
  .o-section13__item h2 {
    gap: 3.5px;
  }
}
@media (max-width: 1007px) {
  .o-section13__item h2 img {
    width: 22px;
    height: 22px;
  }
}
.o-section13__item__links {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 9px;
  width: 100%;
  margin-top: 16px;
  flex-wrap: wrap;
}
@media (max-width: 1007px) {
  .o-section13__item__links {
    flex-wrap: wrap;
    gap: 8px;
  }
}
.o-section13__item__links a {
  display: flex;
  padding-top: 12px;
  padding-bottom: 12px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: #f6f8f8;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%;
  text-decoration: none;
  padding-left: 32px;
  padding-right: 32px;
}
.o-section13__item__links a:hover, .o-section13__item__links a.active {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #f6f8f8;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  color: #fff;
}

.o-tabButtons {
  display: flex;
  gap: 4px;
  margin-bottom: 48px;
}
.o-tabButtons .o-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #888;
  text-align: center;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 25.6px */
  border-radius: 16px 16px 0 0;
  border-top: 1px solid rgba(136, 136, 136, 0.4);
  border-right: 1px solid rgba(136, 136, 136, 0.4);
  border-left: 1px solid rgba(136, 136, 136, 0.4);
  background: #f6f8f8;
  width: 100%;
  height: 50px;
  margin-top: 48px;
}
.o-tabButtons .o-tab.active {
  border-radius: 16px 16px 0 0;
  background: #303030;
  color: #fff;
}

.o-tableContent .tr {
  display: grid;
  grid-template-columns: 96px 1fr;
}
.o-tableContent .tr:first-child .th {
  border-top: 1px solid #f69;
}
.o-tableContent .tr:first-child .td {
  border-top: 1px solid rgba(136, 136, 136, 0.4);
}
.o-tableContent .tr .th {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #f69;
  background: #fff7f8;
  color: #ff788a;
  text-align: center;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 125%; /* 17.5px */
  padding: 16px;
}
.o-tableContent .tr .th span {
  font-weight: 900;
}
.o-tableContent .tr .td {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  border-bottom: 1px solid #f69;
  background: #ffffff;
  border-bottom: 1px solid rgba(136, 136, 136, 0.4);
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
  padding: 16px;
}
.o-tableContent .tr .td a {
  text-decoration: underline !important;
}

.o-section14__reviews {
  display: grid;
  gap: 16px;
}
.o-section14__reviews__item {
  padding: 16px;
  border-radius: 16px;
  border: 1px solid #f69;
}
@media (max-width: 1007px) {
  .o-section14__reviews__item {
    width: auto;
    min-width: auto;
  }
}
.o-section14__reviews__item__images {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
.o-section14__reviews__item__images img {
  width: 100%;
  overflow: hidden;
}
.o-section14__reviews__item__images img:first-child {
  border-radius: 8px 0 0 8px;
}
.o-section14__reviews__item__images img:last-child {
  border-radius: 0 8px 8px 0;
}
.o-section14__reviews__item__subject {
  margin-top: 12px;
  display: flex;
  gap: 6px;
  width: 100%;
}
.o-section14__reviews__item__subject a {
  padding-right: 7px;
  position: relative;
  display: flex;
  color: #888;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
.o-section14__reviews__item__subject a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background-color: #f6f8f8;
  background: linear-gradient(92deg, #f69 -140.23%, #ff788a 87.72%, #ff8048 240.31%), #303030;
}
.o-section14__reviews__item__subject a:last-child::after {
  display: none;
}
.o-section14__reviews__item__title {
  width: 100%;
  margin-top: 2px;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 180%;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.o-section14__reviews__item__text {
  width: 100%;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
  display: -webkit-box;
  margin-top: 12px;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 12px;
}
.o-section14__reviews__item__footer {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
}
.o-section14__reviews__item__footer__gradientBorder {
  display: inline-block;
  padding: 1px;
  border-radius: 50%;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
}
.o-section14__reviews__item__footer__gradientBorder img {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
}
.o-section14__reviews__item__footer__name {
  position: relative;
  display: flex;
  gap: 6px;
}
.o-section14__reviews__item__footer__name__name {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
}
.o-section14__reviews__item__footer__name__date {
  overflow: hidden;
  color: #303030;
  text-align: right;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
}
.o-section14__reviews__item__footer__name img {
  position: relative;
}
.o-section14__reviews__item__footer__button {
  color: #fff;
  text-align: center;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 16px */
  display: flex;
  padding: 6px 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 18px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff7f8;
  text-decoration: none;
  margin-left: auto;
}

/* Paging (Reviews) */
.o-pagingReview {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 28px 0 8px;
}
.o-pagingReview__chev {
  display: inline-block;
  font-size: 22px;
  line-height: 1;
  transform: translateY(-1px);
}
.o-pagingReview__prev, .o-pagingReview__next, .o-pagingReview__num {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid #e9e9ec;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: #222;
  font-weight: 600;
  transition: transform 0.06s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.o-pagingReview__prev:hover, .o-pagingReview__next:hover, .o-pagingReview__num:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.o-pagingReview__prev:active, .o-pagingReview__next:active, .o-pagingReview__num:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.o-pagingReview__num.is-current {
  color: #fff;
  border: none;
  box-shadow: 0 6px 16px rgba(255, 105, 97, 0.35);
  background: linear-gradient(135deg, #ff7a85 0%, #ff6f6f 40%, #ff6fae 100%);
}
.o-pagingReview__ellipsis {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7f7fa;
  border: 1px solid #e9e9ec;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: #a0a3ad;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.o-pagingReview__prev.is-disabled, .o-pagingReview__next.is-disabled {
  opacity: 0.4;
  pointer-events: none;
  background: #fafafa;
}
.o-pagingReview__status {
  margin-top: 10px;
  text-align: center;
  color: #2b2e38;
  font-size: 14px;
}

/* タブの最小スタイル（必要なら上書きOK） */
.o-tabButtons {
  display: flex;
  gap: 8px;
  margin: 20px 0;
}
.o-tabButtons .o-tab {
  border-bottom: none;
  margin-top: 24px;
}
.tabContent {
  display: none;
}

.tabContent.active {
  display: block;
}

/* ==============================
   口コミ画像：正方形トリミング
   ============================== */
.o-section14__reviews__item__images {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
@media (max-width: 1007px) {
  .o-section14__reviews__item__images--forReviewTable {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.o-section14__reviews__item__images .o-square {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 8px;
  background: #f6f7f9;
}

.o-section14__reviews__item__images .o-square > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}

/* aspect-ratio 非対応フォールバック（正方形） */
@supports not (aspect-ratio: 1/1) {
  .o-section14__reviews__item__images .o-square {
    height: 0;
    padding-top: 100%;
  }
  .o-section14__reviews__item__images .o-square > img {
    position: absolute;
    inset: 0;
  }
}
/* ==============================
   店舗アイキャッチ：5:3 (横1 : 縦0.6)
   PCでも横幅いっぱいになるように
   ============================== */
.o-section12__reviews__item__contents {
  margin-top: 16px;
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 5/3;
  overflow: hidden;
  border-radius: 12px;
  background: #f6f7f9;
  align-self: stretch;
}

.o-section12__reviews__item__contents > img,
.o-section12__reviews__item__contents > img.o-shopEyecatch {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}

/* aspect-ratio 非対応フォールバック（5:3） */
@supports not (aspect-ratio: 1/1) {
  .o-section12__reviews__item__contents {
    height: 0;
    padding-top: 60%;
  }
  .o-section12__reviews__item__contents > img {
    position: absolute;
    inset: 0;
  }
}
/* ==============================
   自由項目ラベルの強調
   ============================== */
.o-section14__reviews__item__text .o-freeLabel {
  font-weight: 700;
  margin-right: 0.25em;
}

.o-freeLabel {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
}
.o-freeLabel + p {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 160%; /* 22.4px */
}

.friendTab {
  --ft-bg: #f6f8f8;
  --ft-text: #2f2f2f;
  --ft-muted: #888;
  --ft-white: #fff;
  --ft-accent: #ff788a;
  --ft-accent-weak: #ff788a52;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 48px 24px;
  background: var(--ft-bg);
  border-radius: 16px;
}
@media (max-width: 1007px) {
  .friendTab {
    margin-bottom: 0 !important;
  }
}
.friendTab__card {
  width: 100%;
  max-width: 496px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.friendTab__head {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.friendTab__title {
  color: var(--ft-text);
  font-family: "Avenir-Black", Helvetica, Arial, sans-serif;
  font-weight: 800;
  font-size: 20px;
  line-height: 32px;
  margin: 0;
  text-align: left;
}
.friendTab__lead {
  color: var(--ft-text);
  font-family: "Avenir-Light", Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
  text-align: left;
}
.friendTab__urlBox {
  background: var(--ft-white);
  border-radius: 16px;
  padding: 32px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.friendTab__url {
  font-family: "Avenir-Black", Helvetica, Arial, sans-serif;
  font-weight: 900;
  color: var(--ft-muted);
  font-size: 20px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: auto;
  max-width: 100%;
}
.friendTab__copyBtn {
  width: 100%;
  border: 0;
  border-radius: 40px;
  background: var(--ft-muted);
  color: var(--ft-white);
  font-family: "Avenir-Black", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 32px;
  padding: 16px 80px;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.friendTab__copyBtn:hover {
  opacity: 0.9;
}
.friendTab__copyBtn:active {
  opacity: 0.85;
}
.friendTab__infoWrap {
  width: 100%;
  display: flex;
  justify-content: center;
}
.friendTab__infoCard {
  width: 100%;
  max-width: 498px;
  border-radius: 40px;
  border: 1px solid var(--ft-accent-weak);
  background: linear-gradient(0deg, #fff7f8 0%, #fff7f8 100%);
  padding: 16px 24px;
}
.friendTab__infoTitle {
  text-align: center;
  color: var(--ft-accent);
  font-family: "Avenir-Black", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-size: 20px;
  line-height: 32px;
}
.friendTab__infoBody {
  margin-top: 8px;
  color: var(--ft-text);
  font-size: 14px;
  line-height: 1.7;
}
.friendTab__bullets {
  margin: 0;
  padding-left: 18px;
}
.friendTab__bullets li {
  margin: 4px 0;
}
.friendTab__toast {
  position: fixed;
  left: 50%;
  bottom: 80px;
  transform: translateX(-50%) translateY(12px);
  background: rgba(34, 34, 34, 0.9);
  color: #fff;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.18s ease, opacity 0.18s ease;
}
.friendTab__toast.is-show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
@media (max-width: 560px) {
  .friendTab {
    padding: 32px 16px;
  }
  .friendTab__url {
    font-size: 16px;
  }
  .friendTab__copyBtn {
    font-size: 16px;
    padding: 14px 24px;
  }
  .friendTab__infoCard {
    border-radius: 24px;
    padding: 14px 16px;
  }
}

/*******************************************************
  * Section17
*******************************************************/
.o-section17 .o-tableContentWrapper {
  background: #f6f8f8;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 48px;
  padding-bottom: 48px;
  width: 1008px;
  max-width: 1008px;
}
@media (max-width: 1007px) {
  .o-section17 .o-tableContentWrapper {
    width: calc(100% - 80px);
    max-width: 100%;
    padding-left: 40px;
    padding-right: 40px;
  }
}
.o-section17 .o-tableContentWrapper .o-tableContentInSection17 {
  width: 632px;
  background-color: #fff;
  padding: 16px;
}
@media (max-width: 1007px) {
  .o-section17 .o-tableContentWrapper .o-tableContentInSection17 {
    width: 100%;
  }
}
.o-section17__reviews {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 32px;
}
@media (max-width: 1007px) {
  .o-section17__reviews {
    width: 100%;
  }
}
.o-section17__reviews__itemBorder {
  width: 100%;
}
@media (max-width: 1007px) {
  .o-section17__reviews__itemBorder {
    width: 100%;
  }
}
.o-section17__reviews__item {
  background-color: #fff;
}
.o-section17__reviews__item__header {
  display: flex;
  gap: 6px;
  width: 100%;
}
.o-section17__reviews__item__header a {
  padding-right: 7px;
  position: relative;
  display: flex;
  color: #888;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
.o-section17__reviews__item__header a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 10px;
  background-color: #f6f8f8;
  background: linear-gradient(92deg, #f69 -140.23%, #ff788a 87.72%, #ff8048 240.31%), #303030;
}
.o-section17__reviews__item__header a:last-child::after {
  display: none;
}
.o-section17__reviews__item__average {
  display: flex;
  gap: 4px;
  justify-content: flex-start;
  align-items: center;
}
.o-section17__reviews__item__average h3 {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 14px;
  margin-top: 2px;
}
.o-section17__reviews__item__contents {
  display: flex;
  width: 100%;
}
.o-section17__reviews__item__contents img {
  width: 460px;
  height: 284px;
}
.o-section17__reviews__item__title {
  color: #303030;
  font-family: Avenir;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 38.4px */
  margin-bottom: 32px !important;
}
@media (max-width: 1007px) {
  .o-section17__reviews__item__title {
    font-size: 22px;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
.o-section17__reviews__item__text {
  width: 100%;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  display: -webkit-box;
  margin-top: 16px;
}
@media (max-width: 1007px) {
  .o-section17__reviews__item__text {
    font-size: 22px;
  }
}
.o-section17__reviews__item__contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-section17__reviews__item__contents {
    flex-flow: column;
    gap: 16px;
  }
}
.o-section17__reviews__item__contents > img {
  width: 100%;
  height: 410px;
}
@media (max-width: 1007px) {
  .o-section17__reviews__item__contents > img {
    width: 100%;
  }
}
.o-section17__reviews__item__contents__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 8px;
  min-width: 417px;
}
@media (max-width: 1007px) {
  .o-section17__reviews__item__contents__list {
    gap: 4px;
    width: 100%;
    min-width: 100%;
  }
}
.o-section17__reviews__item__contents__list__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-section17__reviews__item__contents__list__item {
    gap: 16px;
  }
}
.o-section17__reviews__item__contents__list__item__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  gap: 2px;
  width: 56px;
  min-width: 56px;
  max-width: 56px;
}
.o-section17__reviews__item__contents__list__item__title img {
  width: 40px;
  height: 40px;
}
.o-section17__reviews__item__contents__list__item__title span {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  white-space: nowrap;
}
.o-section17__reviews__item__contents__list__item p {
  color: #303030;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.o-section17__reviews__item__contents__list a {
  display: flex;
  padding: 16px 0;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 40px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff;
  color: #fff;
  text-align: center;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  width: 100%;
  text-decoration: none;
  margin-top: 4px;
}
@media (max-width: 1007px) {
  .o-section17__reviews__item__contents__list a {
    font-size: 16px;
    margin-top: 12px;
    padding: 14px 0;
  }
}
.o-section17__reviews__item .rating {
  --max: 5; /* 最大星数 */
  --value: 0; /* JSで data-rating から入れる。直接書いてもOK */
  --size: 16px; /* 星の大きさ */
  position: relative;
  width: calc(var(--size) * var(--max));
  height: var(--size);
}
.o-section17__reviews__item .rating__base,
.o-section17__reviews__item .rating__fill {
  position: absolute;
  inset: 0;
  background-repeat: repeat-x;
  background-size: var(--size) var(--size);
}
.o-section17__reviews__item .rating__base {
  background-image: url("../images/section5/star-empty.svg");
}
.o-section17__reviews__item .rating__fill {
  background-image: url("../images/section5/star-filled.svg");
  width: calc(var(--value) / var(--max) * 100%);
  overflow: hidden; /* ここで半端分をクリップ */
}

.o-tableContentInSection17 .tr {
  display: grid;
  grid-template-columns: 96px 1fr;
}
@media (max-width: 1007px) {
  .o-tableContentInSection17 .tr {
    grid-template-columns: 1fr;
  }
}
.o-tableContentInSection17 .tr:first-child .th {
  border-top: 1px solid #f69;
}
@media (max-width: 1007px) {
  .o-tableContentInSection17 .tr:first-child .th {
    border-top: none;
  }
}
.o-tableContentInSection17 .tr:first-child .td {
  border-top: 1px solid rgba(136, 136, 136, 0.4);
}
@media (max-width: 1007px) {
  .o-tableContentInSection17 .tr:first-child .td {
    border-top: none;
  }
}
.o-tableContentInSection17 .tr .th {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #f69;
  background: #fff7f8;
  color: #ff788a;
  text-align: center;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 125%; /* 17.5px */
  padding: 16px;
}
.o-tableContentInSection17 .tr .th span {
  font-weight: 900;
}
.o-tableContentInSection17 .tr .td {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  border-bottom: 1px solid #f69;
  background: #ffffff;
  border-bottom: 1px solid rgba(136, 136, 136, 0.4);
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
  padding: 16px;
}
@media (max-width: 1007px) {
  .o-tableContentInSection17 .tr .td {
    border-bottom: none;
  }
}
.o-tableContentInSection17 .tr .td a {
  text-decoration: underline !important;
}

.o-shopDetailPageContainer {
  display: grid;
  grid-template-columns: 1fr 318px;
  grid-template-rows: 1fr;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-shopDetailPageContainer {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 64px;
    padding-bottom: 64px;
  }
}
.o-shopDetailPageContainer .side {
  display: flex;
  flex-flow: column;
  gap: 32px;
}

.bannderImageGroup img:first-child {
  margin-bottom: 12px;
}

/*******************************************************
  Namespace: nb- (copied from original .o-*)
*******************************************************/
/* main wrapper */
.nb-main {
  margin-top: 123px;
  width: 100%;
  padding: 0;
  margin-bottom: 0;
}
@media (max-width: 1007px) {
  .nb-main {
    padding: 0;
    margin-top: 64px;
  }
}

/* headings */
.nb-h2 {
  color: #303030;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.nb-h2--marginBottom {
  margin-bottom: 32px !important;
}
@media (max-width: 1007px) {
  .nb-h2--marginBottom {
    margin-bottom: 16px !important;
  }
}
@media (max-width: 1007px) {
  .nb-h2 {
    font-size: 18px;
  }
}

/* breadcrumb */
.nb-breadcrumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: calc((100vw - 1008px) / 2);
  padding-right: calc((100vw - 1008px) / 2);
  margin: 0 auto;
  background: linear-gradient(0deg, rgba(255, 247, 248, 0.5) 0%, rgba(255, 247, 248, 0.5) 100%), linear-gradient(0deg, #fff 0%, #fff 100%), #f6f8f8;
}
@media (max-width: 1007px) {
  .nb-breadcrumb {
    border-bottom: 1px solid #f6f8f8;
    padding-left: 20px;
    padding-right: 20px;
    overflow-x: scroll;
  }
}
.nb-breadcrumb a {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 300;
  line-height: 160%;
  text-decoration: none;
  white-space: nowrap !important;
}
.nb-breadcrumb a.nb-breadcrumb__home {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 900;
  line-height: 160%;
  display: flex;
  align-items: center;
  gap: 2px;
}
.nb-breadcrumb span {
  color: #000;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 300;
  line-height: 160%;
  white-space: nowrap !important;
}

/* two-column container */
.nb-shopDetailPageContainer {
  display: grid;
  grid-template-columns: 1fr 318px;
  grid-template-rows: 1fr;
  gap: 27px;
  padding-left: calc((100vw - 1008px) / 2);
  padding-right: calc((100vw - 1008px) / 2);
  background: linear-gradient(0deg, rgba(255, 247, 248, 0.5) 0%, rgba(255, 247, 248, 0.5) 100%), linear-gradient(0deg, #fff 0%, #fff 100%), #f6f8f8;
}
@media (max-width: 1007px) {
  .nb-shopDetailPageContainer {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 64px;
    padding-bottom: 64px;
  }
}
.nb-shopDetailPageContainer .nb-side {
  display: flex;
  flex-flow: column;
  gap: 40px;
  margin-top: 30px;
}
@media (min-width: 1008px) {
  .nb-shopDetailPageContainer .nb-side {
    padding-bottom: 24px;
  }
}
@media (max-width: 1007px) {
  .nb-shopDetailPageContainer .nb-side {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ---- Section4 (hero cards) ---- */
.nb-section4 {
  padding-left: calc((100vw - 1008px) / 2);
  padding-right: calc((100vw - 1008px) / 2);
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (max-width: 1007px) {
  .nb-section4 {
    border-bottom: 1px solid #f6f8f8;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.nb-section4 h2 {
  margin: 0 !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}
.nb-section4__reviews {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
@media (max-width: 1007px) {
  .nb-section4__reviews {
    overflow-x: scroll;
    gap: 16px;
  }
}
.nb-section4__reviews__itemBorder {
  padding: 1px;
  border-radius: 16px;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
}
@media (max-width: 1007px) {
  .nb-section4__reviews__itemBorder {
    width: 318px;
    min-width: 318px;
  }
}
.nb-section4__reviews__item {
  background-color: #fff;
  padding: 16px;
  border-radius: 16px;
}
.nb-section4__reviews__item__images {
  width: 286px;
  height: 177px;
  overflow: hidden;
  border-radius: 8px;
  flex: 0 0 286px;
}
.nb-section4__reviews__item__images img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.nb-section4__reviews__item__title {
  width: 100%;
  margin-top: 12px;
  color: #ff788a;
  font-family: Avenir;
  font-size: 16px;
  font-weight: 900;
  line-height: 180%;
  display: -webkit-box;
  text-decoration: none;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  border-bottom: 1px dashed #ff788a;
}
.nb-section4__reviews__item__text {
  width: 100%;
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 300;
  line-height: 180%;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 4px;
  margin-bottom: 12px;
}
.nb-section4__reviews__item__footer {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
}

/* Section3 footer text bits used inside hero footer */
.nb-section3__reviews__item__footer__name a {
  overflow: hidden !important;
  color: #888 !important;
  font-family: Avenir !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  text-decoration: none !important;
}

.nb-section3__reviews__item__footer__date {
  margin-left: auto;
  color: #888;
  text-align: right;
  font-family: Avenir;
  font-size: 10px;
  font-weight: 300;
}

/* ---- Section14 (list cards + related) ---- */
.nb-section14 {
  width: 663px;
}
@media (max-width: 1007px) {
  .nb-section14 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1007px) and (max-width: 1007px) {
  .nb-section14 {
    width: calc(100vw - 60px);
  }
}
.nb-section14__reviews {
  display: grid;
  gap: 16px;
}
.nb-section14__reviews__item {
  padding: 12px;
  border-radius: 16px;
  background-color: #fff;
  display: flex;
  gap: 28px;
}
@media (max-width: 1007px) {
  .nb-section14__reviews__item {
    flex-flow: column;
    gap: 0;
  }
}
.nb-section14__reviews__item__title {
  width: 100%;
  margin-top: 2px;
  font-family: Avenir;
  font-size: 14px;
  font-weight: 900;
  line-height: 180%;
  background: linear-gradient(63deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nb-section14__reviews__item__text {
  width: 100%;
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 300;
  line-height: 180%;
  display: -webkit-box;
  margin-top: 12px;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 12px;
}
.nb-section14__reviews__item__footer {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 1007px) {
  .nb-section14__reviews__item__footer {
    width: calc(100vw - 60px);
  }
}
.nb-section14__reviews__item__footer__gradientBorder {
  display: inline-block;
  padding: 1px;
  border-radius: 50%;
  background: linear-gradient(90deg, #ff6699 0%, #ff788a 60%, #ff8048 100%);
}
.nb-section14__reviews__item__footer__gradientBorder img {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
}
.nb-section14__reviews__item__footer__name {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 6px;
  align-items: center;
}
.nb-section14__reviews__item__footer__name__name a {
  overflow: hidden;
  color: #888 !important;
  text-decoration: none !important;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%; /* 18px */
}
.nb-section14__reviews__item__footer__name__date {
  overflow: hidden;
  color: #888;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 350;
  line-height: 180%; /* 18px */
}
.nb-section14__reviews__item__footer__name img {
  position: relative;
}
.nb-section14__reviews__item__footer__button {
  color: #fff;
  text-align: center;
  font-family: Avenir;
  font-size: 10px;
  font-weight: 900;
  line-height: 160%;
  display: flex;
  padding: 6px 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 18px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #fff7f8;
  text-decoration: none;
  margin-left: auto;
}

/* square image helper for section14 */
.nb-square {
  position: relative;
  width: 260px;
  height: 160px;
  overflow: hidden;
  border-radius: 8px;
  background: #f6f7f9;
}
@media (max-width: 1007px) {
  .nb-square {
    width: calc(100vw - 60px);
    height: 200px;
  }
}
.nb-square img {
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 と同じ */
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  display: block;
}

@supports not (aspect-ratio: 1/1) {
  .nb-square {
    height: 0;
    padding-top: 100%;
  }
  .nb-square img {
    position: absolute;
    inset: 0;
  }
}
/* free label */
.nb-section14__reviews__item__text .nb-freeLabel {
  overflow: hidden;
  color: #ff788a;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 180%; /* 28.8px */
  text-decoration: none !important;
  border-bottom: 1px dashed #ff788a;
  width: 343px;
  display: block;
  white-space: nowrap;
}
@media (max-width: 1007px) {
  .nb-section14__reviews__item__text .nb-freeLabel {
    width: calc(100vw - 60px);
  }
}

.nb-section14__reviews__item__text .nb-freeText {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* ← ここを行数にする */
  overflow: hidden;
  /* 元の見た目 */
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  width: 343px;
  margin-bottom: 0 !important;
  margin-top: 12px !important;
}
@media (max-width: 1007px) {
  .nb-section14__reviews__item__text .nb-freeText {
    width: calc(100vw - 60px);
  }
}

.nb-section14__reviews__item__text {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 19.2px */
}

.nb-freeLabel {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-weight: 300;
  line-height: 160%;
}
.nb-freeLabel + p {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-weight: 600;
  line-height: 160%;
}

/* ---- Section12 (single article) ---- */
/* ------------------------------
 * single: .nb-section12
 * ------------------------------ */
.nb-section12 {
  font-family: Avenir, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #303030;
  border-radius: 16px;
  background: #fff;
  padding: 32px;
  margin-top: 21px;
}
.nb-section12 .nb-article__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.nb-section12 .nb-article__meta .nb-article__cats {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.nb-section12 .nb-article__meta .nb-article__cats a {
  overflow: hidden;
  color: #888;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%; /* 21.6px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.nb-section12 .nb-article__meta .nb-article__cats a:hover {
  opacity: 0.8;
}
.nb-section12 .nb-article__meta .nb-article__cats .nb-article__cats__sep {
  color: #b9b9b9;
  font-size: 12px;
}
.nb-section12 .nb-article__meta .nb-article__date {
  overflow: hidden;
  color: #000;
  text-align: right;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%; /* 21.6px */
}
.nb-section12 .nb-article__title {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 38.4px */
}
.nb-section12 .nb-article__eyecatch {
  position: relative;
  width: 100%;
  margin: 0 0 16px;
  border-radius: 16px;
  overflow: hidden;
  background: #fff5f7;
  margin-top: 16px;
}
.nb-section12 .nb-article__eyecatch .nb-article__eyecatch__img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 3/2; /* だいたいスクショ比率 */
}
.nb-section12 .nb-article__lead {
  margin: 0 0 20px;
  padding: 16px 18px;
  background: #fff1f3;
  border-radius: 12px;
  font-weight: 700;
  line-height: 1.9;
}
.nb-section12 .nb-article__body {
  /* WP本文の基本タイポ */
  font-weight: 400;
  line-height: 1.9;
}
.nb-section12 .nb-article__body p {
  margin: 0 0 1.2em;
}
.nb-section12 .nb-article__body ul,
.nb-section12 .nb-article__body ol {
  margin: 0 0 1.2em 1.2em;
}
.nb-section12 .nb-article__body li {
  margin: 0.2em 0;
}
.nb-section12 .nb-article__body h2,
.nb-section12 .nb-article__body h3,
.nb-section12 .nb-article__body h4 {
  font-weight: 900;
  line-height: 1.5;
  margin: 1.8em 0 0.8em;
  letter-spacing: 0.01em;
}
.nb-section12 .nb-article__body h2 {
  padding-left: 12px;
  border-left: 4px solid #ff788a;
}
.nb-section12 .nb-article__body h3 {
  color: #ff788a;
}
.nb-section12 .nb-article__body h4 {
  color: #666;
}
.nb-section12 .nb-article__body img,
.nb-section12 .nb-article__body figure {
  max-width: 100%;
  height: auto;
}
.nb-section12 .nb-article__body figure {
  margin: 1.2em 0;
}
.nb-section12 .nb-article__body blockquote {
  margin: 1.4em 0;
  padding: 14px 16px;
  background: #fafafa;
  border-left: 4px solid #ececec;
  border-radius: 8px;
}
.nb-section12 .nb-article__body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.4em 0;
  font-size: 0.95em;
}
.nb-section12 .nb-article__body table th,
.nb-section12 .nb-article__body table td {
  border: 1px solid #ececec;
  padding: 10px 12px;
}
.nb-section12 .nb-article__body table th {
  background: #fff8f9;
  font-weight: 800;
  white-space: nowrap;
}
.nb-section12 .nb-article__info {
  margin-top: 24px;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.nb-section12 .nb-article__info .nb-article__info__row {
  display: grid;
  grid-template-columns: 160px 1fr;
  align-items: stretch;
  border-top: 1px solid #f2f2f2;
}
.nb-section12 .nb-article__info .nb-article__info__row:first-child {
  border-top: 0;
}
.nb-section12 .nb-article__info .nb-article__info__row .nb-article__info__th {
  background: #fff8f9;
  padding: 12px 14px;
  font-weight: 800;
  color: #ff788a;
  border-right: 1px solid #f2f2f2;
}
.nb-section12 .nb-article__info .nb-article__info__row .nb-article__info__td {
  padding: 12px 14px;
}
.nb-section12 .nb-article__info .nb-article__info__row .nb-article__info__td a {
  color: #ff788a;
  text-decoration: none;
  border-bottom: 1px dashed #ff788a;
}
.nb-section12 .nb-article__info .nb-article__info__row .nb-article__info__td a:hover {
  opacity: 0.8;
}
.nb-section12 .nb-article__cta {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}
.nb-section12 .nb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 14px;
  text-decoration: none;
  transition: transform 0.08s ease, box-shadow 0.12s ease;
}
.nb-section12 .nb-btn--primary {
  color: #fff;
  background: linear-gradient(135deg, #ff6a88 0%, #ff9966 100%);
  box-shadow: 0 6px 16px rgba(255, 120, 138, 0.32);
}
.nb-section12 .nb-btn--primary:hover {
  transform: translateY(-1px);
}
.nb-section12 .nb-btn--primary:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(255, 120, 138, 0.28);
}

/* ============ SP ============ */
@media (max-width: 1007px) {
  .nb-section12 {
    padding: 16px 20px;
  }
  .nb-section12 .nb-article__meta .nb-article__date {
    font-size: 11px;
  }
  .nb-section12 .nb-article__meta .nb-article__cats a {
    font-size: 11px;
  }
  .nb-section12 .nb-article__title {
    font-size: 22px;
    margin: 4px 0 12px;
  }
  .nb-section12 .nb-article__eyecatch {
    border-radius: 12px;
  }
  .nb-section12 .nb-article__eyecatch .nb-article__eyecatch__img {
    aspect-ratio: 16/9;
  }
  .nb-section12 .nb-article__lead {
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 16px;
  }
  .nb-section12 .nb-article__body {
    font-size: 14px;
    line-height: 1.9;
  }
  .nb-section12 .nb-article__body h2 {
    font-size: 18px;
  }
  .nb-section12 .nb-article__body h3 {
    font-size: 16px;
  }
  .nb-section12 .nb-article__body h4 {
    font-size: 15px;
  }
  .nb-section12 .nb-article__info .nb-article__info__row {
    grid-template-columns: 112px 1fr;
  }
  .nb-section12 .nb-article__info .nb-article__info__row .nb-article__info__th,
  .nb-section12 .nb-article__info .nb-article__info__row .nb-article__info__td {
    padding: 10px 12px;
  }
  .nb-section12 .nb-btn {
    min-width: 200px;
    height: 42px;
    font-size: 13px;
  }
}
/* ============ PC ============ */
@media (min-width: 1008px) {
  .nb-section12 .nb-article__title {
    font-size: 30px;
  }
  .nb-section12 .nb-article__body {
    font-size: 16px;
  }
  .nb-section12 .nb-article__lead {
    font-size: 15px;
  }
  .nb-section12 .nb-article__info {
    margin-top: 28px;
  }
}
/* ---- Section13 (sidebar groups) ---- */
.nb-section13 {
  margin-top: 64px;
  display: flex;
  flex-flow: column;
  gap: 32px;
  width: 100%;
}

.nb-section13__item {
  width: 100%;
}
.nb-section13__item h2 {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 1007px) {
  .nb-section13__item h2 {
    gap: 3.5px;
  }
}
.nb-section13__item .nb-side__list {
  display: flex;
  flex-flow: column;
  gap: 12px;
  margin-top: 16px;
}
.nb-section13__item .nb-side__list a {
  padding: auto;
  padding: 8px;
  gap: 16px;
}
.nb-section13__item .nb-side__list a img {
  width: 143px;
  height: 88px;
  -o-object-fit: cover;
     object-fit: cover; /* 比率維持＋はみ出す分はトリミング */
  -o-object-position: center;
     object-position: center; /* 中央基準でトリミング */
  display: block;
  border-radius: 6px;
  overflow: hidden;
}
.nb-section13__item__links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
  margin-top: 16px;
  flex-wrap: wrap;
}
@media (max-width: 1007px) {
  .nb-section13__item__links {
    flex-wrap: wrap;
    gap: 8px;
  }
}
.nb-section13__item__links a {
  display: flex;
  padding: 12px 32px;
  border-radius: 4px;
  background: #fff;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  gap: 16px;
  background: #f6f8f8;
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 900;
  line-height: 150%;
  text-decoration: none;
  background-color: #fff;
  color: #ff788a;
}
.nb-section13__item__links a img {
  width: 143px !important;
  height: 88.5px !important;
}
.nb-section13__item__links a .nb-side__meta {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 4px;
  width: 142px;
}
.nb-section13__item__links a .nb-side__title {
  display: block;
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 21px */
  color: #ff788a;
  width: 100%;
  cursor: pointer;
}
.nb-section13__item__links a .nb-side__title__2line {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* ← 行数 */
  overflow: hidden;
  /* 元の見た目 */
  color: #ff788a;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 21px */
  width: 100%;
}
.nb-section13__item__links a .nb-side__sub__item {
  overflow: hidden;
  color: #888;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 180%; /* 18px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  position: relative;
}
.nb-section13__item__links a .nb-side__sub__item:first-child {
  margin-right: 8px;
}
.nb-section13__item__links a .nb-side__sub__item:first-child::after {
  content: "";
  width: 1px;
  height: 10px;
  background-color: #ff6699;
  position: absolute;
  top: 1px;
  right: -5px;
}

/* paging (copied) */
.nb-pagingReview {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 28px 0 8px;
}
.nb-pagingReview__chev {
  display: inline-block;
  font-size: 22px;
  line-height: 1;
  transform: translateY(-1px);
}
.nb-pagingReview__prev, .nb-pagingReview__next, .nb-pagingReview__num {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid #e9e9ec;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: #222;
  font-weight: 600;
  transition: transform 0.06s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.nb-pagingReview__prev:hover, .nb-pagingReview__next:hover, .nb-pagingReview__num:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.nb-pagingReview__prev:active, .nb-pagingReview__next:active, .nb-pagingReview__num:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.nb-pagingReview__num.is-current {
  color: #fff;
  border: none;
  box-shadow: 0 6px 16px rgba(255, 105, 97, 0.35);
  background: linear-gradient(135deg, #ff7a85 0%, #ff6f6f 40%, #ff6fae 100%);
}
.nb-pagingReview__ellipsis {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7f7fa;
  border: 1px solid #e9e9ec;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: #a0a3ad;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.nb-pagingReview__prev.is-disabled, .nb-pagingReview__next.is-disabled {
  opacity: 0.4;
  pointer-events: none;
  background: #fafafa;
}
.nb-pagingReview__status {
  margin-top: 10px;
  text-align: center;
  color: #2b2e38;
  font-size: 14px;
}

/* small banner pair */
.nb-bannderImageGroup img:first-child {
  margin-bottom: 12px;
}

.nb-pagingReview {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
}
@media (max-width: 1007px) {
  .nb-pagingReview {
    flex-flow: wrap;
    gap: 8px;
  }
}
.nb-pagingReview .nb-pagingReview__status {
  color: #303030;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 24px */
}
.nb-pagingReview .page-numbers {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: Avenir;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (max-width: 1007px) {
  .nb-pagingReview .page-numbers {
    width: 36px;
    height: 36px;
  }
}
.nb-pagingReview .page-numbers.prev,
.nb-pagingReview .page-numbers.next {
  position: relative;
  background: #fff;
  color: #888888;
  border: 1px solid #ececec;
  font-size: 0;
  letter-spacing: 0;
  padding: 0;
  top: inherit;
  left: inherit;
  width: 44px;
  display: flex;
}
.nb-pagingReview .page-numbers.prev::before,
.nb-pagingReview .page-numbers.next::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}
.nb-pagingReview .page-numbers.prev::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'><path d='M11.5 3L5.55174 8.94826C5.52316 8.97684 5.52316 9.02316 5.55174 9.05174L11.5 15' stroke='currentColor' stroke-width='2' stroke-linecap='round'/></svg>");
}
.nb-pagingReview .page-numbers.next::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'><path d='M6.5 3L12.4483 8.94826C12.4768 8.97684 12.4768 9.02316 12.4483 9.05174L6.5 15' stroke='currentColor' stroke-width='2' stroke-linecap='round'/></svg>");
}
.nb-pagingReview a.page-numbers:not(.prev):not(.next) {
  color: #fff;
  background: linear-gradient(135deg, #ff6a88 0%, #ff9966 100%);
}
.nb-pagingReview .page-numbers.current {
  color: #fff;
  background: #1f1f1f;
}

.nb-section12__related {
  margin-top: 32px;
}
@media (min-width: 1008px) {
  .nb-section12__related {
    margin-top: 40px;
  }
}

/* =========================================
   o-section6 : 「フレビュー」とは？
   PC/SPブレークポイント:
   - SP:  max-width:1007px
   - PC:  min-width:1008px
========================================= */
.o-section6 {
  --pink-1: #ff6a88;
  --pink-2: #ff9966;
  --text: #3b3b3b;
  --muted: #7a7a7a;
  --line: #ff788a;
  padding: 56px 0 80px;
  color: var(--text);
  margin-bottom: 0;
  padding-bottom: 24px;
  background: linear-gradient(180deg, #fff 0%, #fff7f8 100%);
  padding-left: calc((100vw - 1008px) / 2);
  padding-right: calc((100vw - 1008px) / 2);
  /* アイテム共通 */
  /* ---------- SP ---------- */
  /* ---------- PC ---------- */
}
.o-section6 .o-section6__title {
  display: flex;
  justify-content: center;
  margin-bottom: 32px;
}
.o-section6 .o-section6__title img {
  display: block;
  height: 38px;
}
.o-section6 .o-section6__items {
  width: min(1040px, 92%);
  margin: 0 auto;
}
.o-section6 .o-section6__item {
  position: relative;
  display: grid;
  gap: 28px;
  align-items: center;
  padding: 38px 0;
  /* 上下の細いライン（薄いピンク） */
  /* CTA（グラデ枠のピルボタン） */
}
.o-section6 .o-section6__item:first-child::before {
  display: none;
}
.o-section6 .o-section6__item:last-child::after {
  display: none;
}
.o-section6 .o-section6__item::before, .o-section6 .o-section6__item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--line) 0%, var(--line) 100%);
}
.o-section6 .o-section6__item::before {
  top: 0;
}
.o-section6 .o-section6__item::after {
  bottom: 0;
}
.o-section6 .o-section6__item .o-section6__media {
  overflow: hidden;
  border-radius: 12px;
}
.o-section6 .o-section6__item .o-section6__media img {
  display: block;
  width: 488px;
  height: 248px;
}
.o-section6 .o-section6__item .o-section6__body {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.o-section6 .o-section6__item .o-section6__body .o-section6__heading {
  font-weight: 800;
  line-height: 1.55;
  margin: 0 0 14px;
  color: #ff5f7b; /* 見出しだけ少し強めのピンク */
}
.o-section6 .o-section6__item .o-section6__body .o-section6__text {
  margin: 0 0 18px;
  line-height: 1.9;
  color: var(--text);
  opacity: 0.92;
}
.o-section6 .o-section6__item .o-section6__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 40px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  line-height: 1;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--pink-1), var(--pink-2)) border-box;
  border: 1px solid #ffced5;
  color: #ff788a;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 32px */
  width: -webkit-fill-available;
}
.o-section6 .o-section6__item .o-section6__cta:hover {
  border: 1px solid #ffced5;
  background: #ff788a;
  color: #fff;
}
.o-section6 .o-section6__item .o-section6__cta--orange {
  border: 1px solid #ffd1bd;
  color: #ff8048;
}
.o-section6 .o-section6__item .o-section6__cta--orange:hover {
  border: 1px solid #ffd1bd;
  color: #fff;
  background: #ff8048;
}
.o-section6 .o-section6__item .o-section6__cta--pink {
  border: 1px solid #ffdadf;
  color: #ff6699;
  background: #fff;
}
.o-section6 .o-section6__item .o-section6__cta--pink:hover {
  border: 1px solid #ffdadf;
  color: #fff;
  background: #f69;
}
@media (max-width: 1007px) {
  .o-section6 {
    padding: 40px 0 56px;
    width: calc(100vw - 40px);
    padding-left: 20px;
    padding-right: 20px;
  }
  .o-section6__spSearchSection {
    margin-top: 40px;
  }
  .o-section6 .o-section6__title {
    margin-bottom: 0;
    margin: 0 !important;
  }
  .o-section6 .o-section6__title img {
    height: 35px;
  }
  .o-section6 .o-section6__items {
    width: 100%;
  }
  .o-section6 .o-section6__item {
    grid-template-columns: 1fr; /* 縦積み */
  }
  .o-section6 .o-section6__item .o-section6__media img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .o-section6 .o-section6__item .o-section6__body .o-section6__heading {
    font-size: 20px;
  }
  .o-section6 .o-section6__item .o-section6__body .o-section6__text {
    font-size: 14px;
  }
  .o-section6 .o-section6__item .o-section6__cta {
    padding: 16px 20px;
    font-size: 16px;
  }
}
@media (min-width: 1008px) {
  .o-section6 {
    /* 画像を右にして左右交互に見せる */
  }
  .o-section6 .o-section6__item {
    grid-template-columns: 1fr 1fr;
  }
  .o-section6 .o-section6__item .o-section6__body .o-section6__heading {
    font-family: Avenir;
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: 160%; /* 32px */
  }
  .o-section6 .o-section6__item .o-section6__body .o-section6__text {
    font-family: Avenir;
    font-size: 12px;
    font-style: normal;
    font-weight: 300;
    line-height: 160%; /* 19.2px */
  }
  .o-section6 .o-section6__item--reverse {
    grid-auto-flow: dense;
  }
  .o-section6 .o-section6__item--reverse .o-section6__media {
    grid-column: 2;
  }
  .o-section6 .o-section6__item--reverse .o-section6__body {
    grid-column: 1;
  }
}

/* =========================================================
   Counseling / カウンセリング予約ページ
   すべて .conselingPage の下に閉じ込めています
   ※ 既存の .on_pc / .on_sp, .modal, パンくずは共通利用
   ※ 変数は既存のCSS変数があればそれを優先（なければフォールバック）
   ========================================================= */
.counselingButton {
  display: inline-flex;
  padding: 16px 64px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 80px;
  border: 1.4px solid #fff;
  background: #ff8048;
  box-shadow: 4px 4px 0 0 rgba(255, 128, 72, 0.32);
  color: #fff;
  font-family: Avenir;
  font-size: 22px !important;
  font-style: normal;
  font-weight: 900 !important;
  line-height: 160% !important; /* 35.2px */
  text-decoration: none;
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.counselingButton:hover {
  background-color: #ffa67f;
  color: #fff !important;
}
@media (max-width: 1007px) {
  .counselingButton {
    display: flex;
    width: 80%;
    padding: 16px 0;
    justify-content: center;
    align-items: center;
    gap: 4px;
    border-radius: 40px;
    border: 1.4px solid #fff;
    background: #ff8048;
    box-shadow: 4px 4px 0 0 rgba(255, 128, 72, 0.32);
    color: #fff;
    font-family: Avenir;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 900 !important;
    line-height: 160% !important;
  }
}
.counselingButton.afterHeroSp {
  margin: 0 auto;
  margin-top: 30px;
}
.counselingButton img {
  height: 64px;
}
@media (max-width: 1007px) {
  .counselingButton img {
    height: 58px;
  }
}

.counseling-main {
  margin-top: 0;
}

.o-counseling .o-breadcrumb {
  margin-top: 110px;
  width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1007px) {
  .o-counseling .o-breadcrumb {
    width: calc(100% - 40px);
    margin-top: 64px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.o-counseling .hero {
  background-image: url("../images/counseling/hero_pc.png");
  width: 100%;
  height: 624px;
  background-size: cover;
  background-position: center bottom;
  position: relative;
}
@media (max-width: 1007px) {
  .o-counseling .hero {
    background-image: url("../images/counseling/hero_sp.png");
    height: 400px;
  }
}
.o-counseling .hero__inner {
  width: 412px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(52px);
          backdrop-filter: blur(52px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-flow: column;
  padding: 40px;
  position: absolute;
  left: 1008px;
  top: 50%;
  transform: translateY(-50%);
}
.o-counseling .hero .sp_text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.o-counseling__section1 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  width: 1024px;
  margin: 0 auto;
}
.o-counseling__section1 .left {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  flex-flow: column;
  width: 676px;
}
.o-counseling__section1 .spanWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 4px;
}
.o-counseling__section1 h2 {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800;
  line-height: 150% !important; /* 50.4px */
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1007px) {
  .o-counseling__section1 h2 {
    color: #303030 !important;
    font-family: Avenir;
    font-size: 28px !important;
    font-style: normal;
    font-weight: 800;
    line-height: 140% !important; /* 39.2px */
  }
}
.o-counseling__section1 h2 strong {
  background: #ffff48;
  padding: 8px 8px 4px 8px;
}
.o-counseling__section1 p {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 18px !important;
  font-style: normal;
  font-weight: 400;
  line-height: 160% !important; /* 28.8px */
  margin: 0 !important;
}
@media (max-width: 1007px) {
  .o-counseling__section1 p {
    color: #303030 !important;
    font-family: Avenir;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 160% !important; /* 25.6px */
  }
}
.o-counseling__section1 span {
  color: #909090;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 21.6px */
  display: block;
}
@media (max-width: 1007px) {
  .o-counseling__section1 span {
    color: #909090;
    font-family: Avenir;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%; /* 18px */
  }
}
.o-counseling__section1 img {
  width: 282px;
  height: 385px;
}
@media (max-width: 1007px) {
  .o-counseling__section1 img {
    width: 186.345px;
    height: 254.29px;
  }
}
.o-counseling__section2 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 26px;
  width: 100%;
}
.o-counseling__section2 .inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  margin-top: -24px;
}
.o-counseling__section2 .left {
  width: 112px;
  position: relative;
  top: 40px;
}
.o-counseling__section2 h2 {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: 150% !important; /* 50.4px */
  padding: 0 !important;
}
@media (max-width: 1007px) {
  .o-counseling__section2 h2 {
    color: #303030 !important;
    font-family: Avenir;
    font-size: 28px !important;
    font-style: normal;
    font-weight: 800 !important;
    line-height: 200% !important; /* 39.2px */
    margin: 0 !important;
  }
}
.o-counseling__section2 h2 strong {
  background: #ffff48;
  padding: 8px 8px 4px 8px;
  font-weight: 800 !important;
}
.o-counseling__section2 p {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 18px !important;
  font-style: normal;
  font-weight: 400;
  line-height: 160% !important; /* 28.8px */
}
@media (max-width: 1007px) {
  .o-counseling__section2 p {
    color: #303030 !important;
    font-family: Avenir;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 160% !important; /* 25.6px */
    margin: 0 !important;
  }
}
.o-counseling__section2 span {
  color: #909090;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 21.6px */
  display: block;
}
@media (max-width: 1007px) {
  .o-counseling__section2 span {
    color: #909090;
    font-family: Avenir;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%; /* 18px */
  }
}
.o-counseling__section2 img {
  width: 282px;
  height: 385px;
}
@media (max-width: 1007px) {
  .o-counseling__section2 img {
    max-width: 80%;
  }
}
.o-counseling__section3 {
  width: 100%;
  text-align: center;
  margin-top: 24px;
  text-align: center;
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
}
@media (max-width: 1007px) {
  .o-counseling__section3 {
    position: relative;
  }
}
.o-counseling__section3 img {
  width: 898px;
}
@media (max-width: 1007px) {
  .o-counseling__section3 img {
    width: calc(100vw - 40px);
  }
}
.o-counseling__section3 .counselingButton {
  position: relative;
  bottom: 43px;
}
.o-counseling__section3 .counselingButton:hover {
  background-color: #ffa67f;
  color: #fff !important;
}
@media (max-width: 1007px) {
  .o-counseling__section3 .counselingButton {
    position: absolute;
  }
}
.o-counseling__section4 {
  width: 1008px;
  margin: 0 auto;
  margin-top: 24px;
}
@media (max-width: 1007px) {
  .o-counseling__section4 {
    width: 100%;
  }
}
.o-counseling__section4 img {
  width: 100%;
}
@media (max-width: 1007px) {
  .o-counseling__section4 img {
    width: 100%;
  }
}
.o-counseling__section5 {
  background-image: url("../images/counseling/section5_bk.svg");
  width: 100%;
  margin-top: 80px;
  background-size: cover;
  background-position: center;
  padding-bottom: 80px;
  margin-bottom: 0px;
}
@media (max-width: 1007px) {
  .o-counseling__section5 {
    width: calc(100% - 40px);
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 64px;
    padding-bottom: 64px;
    background-position: 100% 13%;
    background-size: 100%;
    background-image: url("../images/counseling/section5_bk_sp.svg");
  }
}
.o-counseling__section5 h2 {
  color: #303030 !important;
  text-align: center;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: 140%; /* 50.4px */
}
@media (max-width: 1007px) {
  .o-counseling__section5 h2 {
    color: #303030 !important;
    text-align: center;
    font-family: Avenir;
    font-size: 28px !important;
    font-style: normal;
    font-weight: 800 !important;
    line-height: 140% !important; /* 39.2px */
  }
}
.o-counseling__section5 .inner {
  width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 16px;
}
@media (max-width: 1007px) {
  .o-counseling__section5 .inner {
    width: 100%;
  }
}
.o-counseling__section5 .inner .item {
  display: grid;
  grid-template-columns: 488px 488px;
  gap: 16px;
}
@media (max-width: 1007px) {
  .o-counseling__section5 .inner .item:nth-child(2) .texts img {
    margin-top: -90px;
  }
}
@media (max-width: 1007px) {
  .o-counseling__section5 .inner .item {
    grid-template-columns: 100%;
    gap: 0;
  }
}
.o-counseling__section5 .inner .item > img {
  overflow: hidden;
  border-radius: 24px;
}
@media (max-width: 1007px) {
  .o-counseling__section5 .inner .item > img {
    border-radius: 16px;
  }
}
.o-counseling__section5 .inner .item .texts {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
}
.o-counseling__section5 .inner .item .texts > img {
  height: 36px;
}
@media (max-width: 1007px) {
  .o-counseling__section5 .inner .item .texts > img {
    height: 24px;
    margin-top: -16px;
    position: relative;
    left: 8px;
  }
}
.o-counseling__section5 .inner .item .texts p {
  color: #303030;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 28.8px */
}
.o-counseling__section5 .counselingButton {
  margin: 24px auto;
  margin-bottom: 0px;
}
.o-counseling__section6 {
  background-image: url("../images/counseling/section6_bk.svg");
  background-size: cover;
  background-position: bottom;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 96px;
}
@media (max-width: 1007px) {
  .o-counseling__section6 {
    background-image: url("../images/counseling/section6_bk_sp.svg");
    padding-top: 64px;
    padding-bottom: 78px;
  }
}
.o-counseling__section6__title {
  margin: 0 auto;
  height: 62px;
  display: block;
  margin-bottom: 48px;
}
@media (max-width: 1007px) {
  .o-counseling__section6__title {
    height: 78px;
    margin-bottom: 32px;
  }
}
.o-counseling__section6 .inner {
  width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 1007px) {
  .o-counseling__section6 .inner {
    overflow-x: scroll;
    width: calc(100vw - 40px);
    grid-template-columns: 296px 296px 296px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.o-counseling__section6 .inner .item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: column;
}
.o-counseling__section6 .inner .item .image1 {
  width: 309px;
}
@media (max-width: 1007px) {
  .o-counseling__section6 .inner .item .image1 {
    width: 328px;
  }
}
.o-counseling__section6 .inner .item .image2 {
  height: 32px;
  margin-bottom: 16px;
}
.o-counseling__section6 .inner .item .title {
  color: #303030;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 32px */
}
.o-counseling__section7 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  width: 1024px;
  margin: 0 auto;
  margin-top: -120px;
}
@media (max-width: 1007px) {
  .o-counseling__section7 {
    flex-flow: column;
    width: calc(100% - 40px);
    padding-left: 20px;
    padding-right: 20px;
    margin-top: -70px;
  }
}
.o-counseling__section7 div {
  width: 676px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  gap: 24px;
}
@media (max-width: 1007px) {
  .o-counseling__section7 div {
    width: 100%;
    align-items: center;
  }
}
.o-counseling__section7 div h2 {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: 140% !important; /* 50.4px */
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 1007px) {
  .o-counseling__section7 div h2 {
    color: #303030;
    font-family: Avenir;
    font-size: 28px !important;
    font-style: normal;
    font-weight: 800;
    line-height: 140% !important; /* 39.2px */
    text-align: center;
  }
}
.o-counseling__section7 div h2 strong {
  background: #ffff48;
  padding: 8px 8px 4px 8px;
}
.o-counseling__section7 div p {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 18px !important;
  font-style: normal;
  font-weight: 400;
  line-height: 160% !important; /* 28.8px */
}
@media (max-width: 1007px) {
  .o-counseling__section7 div p {
    font-size: 16px !important;
    text-align: center;
  }
}
.o-counseling__section7 img {
  width: 300px;
}
@media (max-width: 1007px) {
  .o-counseling__section7 img {
    width: 186px;
    margin-bottom: 16px;
  }
}
.o-counseling__section8 {
  width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-flow: column;
  background-image: url("../images/counseling/section8.png");
  border-radius: 48px;
  padding: 80px;
  background-size: cover;
}
@media (max-width: 1007px) {
  .o-counseling__section8 {
    width: calc(100% - 88px);
    border-radius: 20px !important;
    background-position-x: 70%;
    padding: 64px 24px;
    margin-left: 20px;
    margin-right: 20px;
  }
}
.o-counseling__section8 h2 {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: 160% !important; /* 57.6px */
  margin-top: 0;
  padding: 0;
  margin-bottom: 32px;
  max-width: 448px;
}
@media (max-width: 1007px) {
  .o-counseling__section8 h2 {
    font-size: 28px !important;
    max-width: 100%;
    margin: 0 !important;
    margin-bottom: 32px !important;
    padding: 0 !important;
  }
}
.o-counseling__section8 p {
  color: #303030 !important;
  font-family: Avenir;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 180% !important;
  margin-bottom: 8px;
  margin-top: 0;
  padding: 0;
  max-width: 448px;
}
@media (max-width: 1007px) {
  .o-counseling__section8 p {
    font-size: 14px !important;
    max-width: 100%;
  }
}
.o-counseling__section8 p:last-child {
  margin-bottom: 32px;
}
.o-counseling__section8 .counselingButton {
  margin-left: unset;
  margin-top: 32px;
}
@media (max-width: 1007px) {
  .o-counseling__section8 .counselingButton {
    width: -webkit-fill-available;
  }
}
.o-counseling__section9 {
  width: 100vw;
  overflow: hidden;
}
.o-counseling__section9 h2 {
  color: #303030 !important;
  text-align: center;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800;
  line-height: 160% !important; /* 57.6px */
  padding: 0 !important;
  margin: 0 !important;
  margin-top: 65px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 48px !important;
}
@media (max-width: 1007px) {
  .o-counseling__section9 h2 {
    font-size: 28px !important;
    margin-top: 42px !important;
  }
}
.o-counseling__section9 .inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 32px;
  overflow: visible;
  will-change: transform;
}
.o-counseling__section9 .inner.is-looping {
  animation: section9-loop var(--s9-duration, 30s) linear infinite;
}
.o-counseling__section9 .inner:hover .inner {
  animation-play-state: paused;
}
@keyframes section9-loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-1 * var(--s9-distance, 1000px)));
  }
}
@media (prefers-reduced-motion: reduce) {
  .o-counseling__section9 .inner .inner {
    animation: none !important;
  }
}
.o-counseling__section9 .inner .item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  width: -moz-fit-content;
  width: fit-content;
  width: 480px;
}
@media (max-width: 1007px) {
  .o-counseling__section9 .inner .item {
    width: 360px;
  }
}
.o-counseling__section9 .inner .item img {
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  display: block;
  width: 480px;
  min-width: 480px;
  height: 248px;
}
@media (max-width: 1007px) {
  .o-counseling__section9 .inner .item img {
    width: 360px;
    min-width: 360px;
    height: 186px;
    border-radius: 12px;
  }
}
.o-counseling__section9 .inner .item p {
  padding: 0 !important;
  margin: 0 !important;
  margin-top: 16px !important;
  color: #303030;
  font-family: Avenir;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 180% !important; /* 25.2px */
}
.o-counseling__section9 .inner .item span {
  margin-top: 8px !important;
  display: block;
  color: #303030;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
  line-height: 160%; /* 25.6px */
  margin-left: auto;
}
.o-counseling__section9 .counselingButton {
  margin: 0 auto;
  margin-top: 48px;
  margin-bottom: 80px;
}
.o-counseling__section10 {
  width: 100%;
  background: #fff7f4;
  padding: 80px 0;
  margin-bottom: 0;
}
.o-counseling__section10 .inner {
  width: 488px;
  margin: 0 auto;
}
@media (max-width: 1007px) {
  .o-counseling__section10 .inner {
    width: calc(100% - 40px);
    padding-left: 20px;
    padding-right: 20px;
  }
}
.o-counseling__section10 h2 {
  color: #303030 !important;
  text-align: center;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800;
  line-height: 160% !important; /* 57.6px */
  margin: 0 !important;
  padding: 0 !important;
  margin-bottom: 32px !important;
}
@media (max-width: 1007px) {
  .o-counseling__section10 h2 {
    font-size: 28px !important;
  }
}
.o-counseling__section10 p {
  color: #303030 !important;
  text-align: center;
  font-family: Avenir;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 180% !important; /* 25.2px */
  margin: 0 !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}
.o-counseling__section10 p:last-child {
  margin-bottom: 0 !important;
}
.o-counseling__section10 ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex-flow: column;
  margin-bottom: 16px;
}
.o-counseling__section10 ul li {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 25.2px */
}
.o-counseling__section10 .sns {
  text-decoration: none;
  color: #303030;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 25.2px */
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 4px 12px;
  background-color: #fff;
  border-radius: 8px;
  margin: 0 auto;
  margin-bottom: 32px;
  gap: 8px;
}
.o-counseling__section10 .sns img {
  width: 20px;
  height: 20px;
}
.o-counseling__section10 span {
  color: #909090;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 21.6px */
  margin-bottom: 4px;
}
.o-counseling__section10 span:last-child {
  margin-bottom: 0;
}
.o-counseling__section10 .counselingButton {
  margin: 0 auto;
  margin-top: 48px;
}

.o-affiliate .doButton {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}
.o-affiliate .doButton.afterHeroSp {
  margin: 0 auto;
  margin-top: 30px;
}
.o-affiliate .doButton img {
  height: 64px;
}
@media (max-width: 1007px) {
  .o-affiliate .doButton img {
    height: 58px;
  }
}
.o-affiliate .o-breadcrumb {
  margin-top: 110px;
  width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1007px) {
  .o-affiliate .o-breadcrumb {
    width: calc(100% - 40px);
    margin-top: 64px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.o-affiliate .hero {
  background-image: url("../images/affiliate/hero_pc.png");
  width: 100%;
  height: 624px;
  background-size: cover;
  background-position: center bottom;
  position: relative;
}
@media (max-width: 1007px) {
  .o-affiliate .hero {
    background-image: url("../images/affiliate/hero_sp.png");
    height: 400px;
  }
}
.o-affiliate .hero__inner {
  width: 412px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(52px);
          backdrop-filter: blur(52px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-flow: column;
  padding: 40px;
  position: absolute;
  right: 1008px;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 1007px) {
  .o-affiliate .hero__inner {
    width: calc(100vw - 104px);
    padding: 32px;
    position: absolute;
    left: 50%;
    top: 25%;
    transform: translate(-50%, -50%);
    background: transparent;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
  }
}
.o-affiliate .hero__inner .hero_text {
  width: 285px;
}
.o-affiliate .hero .sp_text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.o-affiliate .hero_texth2 {
  color: #303030 !important;
  text-align: center;
  font-family: Avenir;
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800;
  line-height: 140% !important; /* 50.4px */
  margin: 0 !important;
  padding: 0 !important;
  margin-top: 64px !important;
  margin-bottom: 48px !important;
}
@media (max-width: 1007px) {
  .o-affiliate .hero_texth2 {
    color: #303030 !important;
    text-align: center;
    font-family: Avenir;
    font-size: 28px !important;
    font-style: normal;
    font-weight: 800 !important;
    line-height: 140% !important; /* 39.2px */
  }
}
.o-affiliate__tabs {
  width: 100%;
  border-bottom: rgba(136, 136, 136, 0.4) 1px solid;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4px;
  margin-bottom: 48px;
}
@media (max-width: 1007px) {
  .o-affiliate__tabs {
    width: calc(100% - 40px);
    padding-left: 20px;
    padding-right: 20px;
  }
}
.o-affiliate__tabs a {
  overflow: hidden;
  color: #888;
  text-align: center;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 25.6px */
  border-radius: 16px 16px 0 0;
  border-radius: 16px 16px 0 0;
  border-top: 1px solid rgba(136, 136, 136, 0.4);
  border-right: 1px solid rgba(136, 136, 136, 0.4);
  border-left: 1px solid rgba(136, 136, 136, 0.4);
  background: #f6f8f8;
  display: flex;
  padding: 12px 60px 12px 60px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex: 1 0 0;
  width: calc((100% - 1088px) / 2);
  max-width: calc((100% - 1088px) / 2);
  display: block;
  text-decoration: none;
}
@media (max-width: 1007px) {
  .o-affiliate__tabs a {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.o-affiliate__tabs a.current {
  color: #fff;
  background: #303030;
}
.o-affiliate__steps {
  width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 48px;
}
@media (max-width: 1007px) {
  .o-affiliate__steps {
    width: calc(100% - 40px);
    margin: 0 auto;
    margin-top: 48px;
    gap: 24px;
  }
}
.o-affiliate__steps__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 1007px) {
  .o-affiliate__steps__item {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media (max-width: 1007px) {
  .o-affiliate__steps__item__step {
    position: absolute;
    left: 16px;
    bottom: -16px;
  }
}
.o-affiliate__steps__item__step img {
  height: 32px !important;
  display: block;
}
.o-affiliate__steps__item__texts {
  width: 488px;
}
@media (max-width: 1007px) {
  .o-affiliate__steps__item__texts {
    width: 100%;
  }
}
.o-affiliate__steps__item__texts__title {
  display: block;
  color: #f69;
  font-family: Avenir;
  font-size: 18px;
  font-style: normal;
  font-weight: 900;
  line-height: 180%; /* 32.4px */
  margin-top: 24px;
  margin-bottom: 16px;
}
.o-affiliate__steps__item__texts__description {
  display: block;
  color: #303030;
  font-family: Avenir;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 28.8px */
  margin-bottom: 4px;
}
.o-affiliate__steps__item__texts__memo {
  display: block;
  color: #909090;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 21.6px */
}
.o-affiliate__steps__item__image {
  width: 488px;
}
@media (max-width: 1007px) {
  .o-affiliate__steps__item__image {
    width: 100%;
    position: relative;
  }
}
.o-affiliate__steps__item__image img {
  width: 488px;
}
@media (max-width: 1007px) {
  .o-affiliate__steps__item__image img {
    width: 100%;
  }
}

.o-affiStepContainer {
  width: 100%;
  margin: 64px auto;
}
@media (max-width: 1007px) {
  .o-affiStepContainer {
    width: calc(100vw - 40px);
  }
}
.o-affiStepContainer .itemForSp {
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
}
@media (min-width: 1008px) {
  .o-affiStepContainer .itemForSp {
    display: none;
  }
}
.o-affiStepContainer .itemForSp .label {
  background-color: #fff7f8;
  color: #ff788a;
  font-family: Avenir;
  font-size: 10px;
  font-weight: 900;
  line-height: 160%;
  padding: 4px 0;
  border-radius: 4px;
  width: 65px;
  display: block;
  text-align: center;
}
.o-affiStepContainer .itemForSp .title {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 900;
  line-height: 160%;
  width: 100%;
}
.o-affiStepContainer .o-steps {
  width: 760px;
  container-type: inline-size; /* これがポイント */
  --item-w: 96px;
  --steps: 4;
  margin: 0 auto;
  /* 親幅を 100cqi で参照 */
  --edge-gap: calc((100cqi - (var(--steps) * var(--item-w))) / (var(--steps) - 1));
  --center-gap: calc(var(--item-w) + var(--edge-gap));
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  /* ベースライン：両端は各itemの中心位置に合わせる */
}
.o-affiStepContainer .o-steps::after {
  content: "";
  position: absolute;
  left: calc(var(--item-w) / 2);
  right: calc(var(--item-w) / 2);
  bottom: -12px;
  height: 4px;
  background-color: #fff6f9;
  z-index: 1; /* ★ 下げておく */
}
.o-affiStepContainer .o-steps .item {
  width: var(--item-w);
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  /* ドット */
  /* ★ 完了のドットにも色を適用（見えない問題の保険） */
  /* ★ 完了ライン：親で計算した gap を幅に使う */
}
.o-affiStepContainer .o-steps .item::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #d9d9d9;
  z-index: 7;
}
.o-affiStepContainer .o-steps .item.active::after {
  border: 4px solid #f69;
  background: #f69;
  box-sizing: border-box;
}
.o-affiStepContainer .o-steps .item.done::after {
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #d9d9d9;
}
.o-affiStepContainer .o-steps .item.done::before {
  content: "";
  position: absolute;
  bottom: -12px;
  left: calc(var(--item-w) / 2); /* 自身の中心から右方向へ引く */
  width: var(--center-gap);
  height: 4px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #f6f8f8;
  z-index: 5; /* ベースライン(1)より上、ドット(7)より下 */
}
.o-affiStepContainer .o-steps .item .label {
  color: #fff;
  background-color: #d9d9d9;
  font-family: Avenir;
  font-size: 10px;
  font-weight: 900;
  line-height: 160%;
  padding: 4px 0;
  border-radius: 4px;
  width: 65px;
  display: block;
  text-align: center;
}
@media (max-width: 1007px) {
  .o-affiStepContainer .o-steps .item .label {
    display: none;
  }
}
.o-affiStepContainer .o-steps .item.active .label {
  background-color: #fff7f8;
  color: #ff788a;
}
.o-affiStepContainer .o-steps .item .title {
  color: #888;
  text-align: center;
  font-family: Avenir;
  font-size: 12px;
  font-weight: 900;
  line-height: 160%;
  width: 100%;
}
@media (max-width: 1007px) {
  .o-affiStepContainer .o-steps .item .title {
    display: none;
  }
}
.o-affiStepContainer .o-steps .item.active .title {
  color: #303030;
}

.affiButton {
  display: inline-flex;
  padding: 16px 64px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 40px;
  border: 1.4px solid #fff;
  background: #f69;
  box-shadow: 4px 4px 0 0 #ffdadf;
  color: #fff;
  font-family: Avenir;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 900 !important;
  line-height: 160% !important; /* 35.2px */
  text-decoration: none;
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.affiButton.afterHeroSp {
  margin-top: 30px;
}
@media (max-width: 1007px) {
  .affiButton {
    display: flex;
    width: 80%;
    padding: 16px 0;
    justify-content: center;
    align-items: center;
    gap: 4px;
    border-radius: 40px;
    border: 1.4px solid #fff;
    background: #f69;
    box-shadow: 4px 4px 0 0 #ffdadf;
    color: #fff;
    font-family: Avenir;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 900 !important;
    line-height: 160% !important;
  }
}

.affi_mainTitle {
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 36px;
  font-style: normal;
  font-weight: 800;
  line-height: 140%; /* 50.4px */
  display: block;
  text-align: center;
  margin-bottom: 16px;
  margin-top: 64px;
}
@media (max-width: 1007px) {
  .affi_mainTitle {
    margin-top: 48px;
    font-size: 28px;
  }
}

.affi_mainText {
  display: block;
  color: #303030;
  text-align: center;
  font-family: Avenir;
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 28.8px */
  text-align: center;
  margin-bottom: 48px;
}
@media (max-width: 1007px) {
  .affi_mainText {
    font-size: 16px;
  }
}

.o-mainAffi {
  margin-top: 0;
}

.affiMainBanners {
  display: grid;
  grid-template-columns: 324px 324px 324px;
  grid-template-rows: 1fr;
  gap: 18px;
  margin-bottom: 48px;
}
.affiMainBanners a {
  position: relative;
}
.affiMainBanners span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  color: #fff;
  text-align: center;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 32px */
  display: block;
  word-break: keep-all;
}
@media (max-width: 1007px) {
  .affiMainBanners span {
    overflow: hidden;
    color: #fff;
    text-align: center;
    text-overflow: ellipsis;
    font-family: Avenir;
    font-size: 18px;
    font-style: normal;
    font-weight: 900;
    line-height: 160%; /* 28.8px */
  }
}
@media (max-width: 1007px) {
  .affiMainBanners {
    grid-template-columns: 100%;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 16px;
  }
}

.infoSNSText {
  overflow: hidden;
  color: #ff788a;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1; /* 19.2px */
  padding-bottom: 0;
  margin-bottom: 0;
}

.infoSNSLinkText {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.infoEmailText {
  overflow: hidden;
  color: #303030;
  text-overflow: ellipsis;
  font-family: Avenir;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%; /* 22.4px */
}

.o-header__spBottomMenu.on_sp {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.22s ease, opacity 0.22s ease;
  /* iPhone下部セーフエリア考慮（必要なら） */
  padding-bottom: calc(env(safe-area-inset-bottom, 0px));
  z-index: 1000; /* ヘッダーやモーダルと競合する場合は調整 */
}

.o-header__spBottomMenu.on_sp.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.o-counseling__section5 > h2,
.o-counseling__section6 > h2 {
  line-height: 140% !important;
  font-weight: 800 !important;
  color: #303030 !important;
  text-align: center;
  font-family: Avenir;
  font-size: 28px !important;
  font-style: normal;
}

.o-counseling__section6 > h2 {
  margin: 0 !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}

.o-counseling__section8 > h2 {
  padding-left: 0 !important;
}

.o-counseling__section9 {
  margin-top: 15px;
}

.o-counseling__section7 > div > h2,
.o-counseling__section7 > div > h2 strong,
.o-counseling__section8 > h2 {
  font-weight: 800 !important;
}

.o-counseling__section9 > h2 {
  margin-top: 48px !important;
  margin-bottom: 32px !important;
}

@media (max-width: 1007px) {
  .plusMyPageTitle {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}

.friendTab_buttonType1 {
  color: #ff788a;
  font-family: Avenir;
  font-size: 20px;
  font-style: normal;
  line-height: 160%;
  display: flex;
  height: 64px;
  font-weight: 900;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 40px;
  border: 1px solid rgba(255, 120, 138, 0.32);
  background: #fff7f8;
  text-decoration: none;
}
.friendTab_buttonType1:hover {
  background-color: #ff788a;
}
.friendTab_buttonType1:hover span {
  color: #fff;
}
.friendTab_buttonType1 span {
  font-weight: 900 !important;
}

@media (max-width: 1007px) {
  #frvCopyBtn,
  .frv-btn--line {
    height: 54px;
    font-size: 16px;
  }
}

.frv-btn--line {
  text-decoration: none !important;
}
@media (max-width: 1007px) {
  .frv-btn--line {
    height: 54px;
    font-size: 16px;
    padding: 0;
  }
}

.o-workSpecFormPlus {
  display: flex;
  gap: 20px;
  align-items: center;
}
@media (max-width: 1007px) {
  .o-workSpecFormPlus {
    flex-flow: wrap;
  }
  .o-workSpecFormPlus .o-heightForm {
    width: 40%;
    margin-right: 4%;
  }
  .o-workSpecFormPlus .o-weightForm {
    width: 40%;
  }
}

@media (min-width: 1008px) {
  .pcMarginBottomMypageTitle {
    margin-bottom: 32px !important;
  }
}

.nb-article__body p,
.nb-article__body ul,
.nb-article__body li,
.nb-article__body table,
.nb-article__body td,
.nb-article__body th,
.nb-article__body a {
  color: #303030 !important;
  font-family: Avenir !important;
  font-size: 12px !important;
  font-style: normal;
  font-weight: 300 !important;
  line-height: 180% !important;
}
.nb-article__body h2 {
  border-left: 1px solid #ff788a !important;
  background: #fff7f8 !important;
  padding: 4px 12px !important;
  color: #ff788a !important;
  font-family: Avenir !important;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 900 !important;
  line-height: 160% !important;
}
.nb-article__body h3 {
  border-bottom: 1px solid #ff788a !important;
  padding: 4px 12px !important;
  color: #ff788a !important;
  font-family: Avenir !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 160% !important;
}
.nb-article__body h4 {
  padding: 4px 12px !important;
  color: #ff788a !important;
  font-family: Avenir !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 160% !important;
}

.sideMenuBannerBlog {
  background-image: url("../images/common/sideMenuBanner.png");
  background-size: cover;
  background-position: center;
  position: relative;
  width: 100%;
  height: 480px;
  display: block;
  border-radius: 24px;
}
.sideMenuBannerBlog img {
  position: absolute;
  top: 48px;
  left: 32px;
  width: 128px;
}
.sideMenuBannerBlog button {
  display: flex;
  width: calc(100% - 40px);
  height: 64px;
  justify-content: center;
  align-items: center;
  border-radius: 56px;
  background: linear-gradient(91deg, #f69 0%, #ff788a 59.9%, #ff8048 100%), #f6f8f8;
  color: #fff !important;
  font-family: Avenir !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 160% !important;
  position: absolute;
  bottom: 24px;
  left: 20px;
  border: none !important;
}
.sideMenuBannerBlog button:hover {
  opacity: 0.8;
}

.singleShopListTitle {
  position: relative;
  left: 16px;
  font-weight: normal;
}
.singleShopListTitle::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 12px;
  width: 6px; /* 丸の大きさ */
  height: 6px;
  background: #000; /* 黒色 */
  border-radius: 50%; /* 丸くする */
  transform: translateY(-50%); /* 縦位置を中央に */
}

.mypageFlow {
  padding: 64px 209.5px;
  overflow-x: scroll;
}
@media (max-width: 1007px) {
  .mypageFlow {
    padding: 48px 20px;
  }
}
.mypageFlow h4 {
  color: #303030;
  font-family: Avenir !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 160% !important;
  margin-bottom: 48px;
}
@media (max-width: 1007px) {
  .mypageFlow h4 {
    font-size: 18px !important;
    margin-bottom: 32px;
  }
}
.mypageFlow__list {
  display: flex;
  gap: 16px;
}
@media (max-width: 1007px) {
  .mypageFlow__list {
    gap: 24px;
  }
}
.mypageFlow__list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 28px;
  border-radius: 38px;
  background: #fff;
  min-width: 1024px;
  width: 1024px;
  max-width: 1024px;
  height: 280px;
}
@media (max-width: 1007px) {
  .mypageFlow__list__item {
    padding: 16px;
    flex-flow: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 382px;
    width: 382px;
    max-width: 382px;
    height: 461.87px;
  }
}
.mypageFlow__list__item__image.on_sp img {
  width: 100%;
  max-width: 100%;
  height: auto;
  min-width: 100%;
}
.mypageFlow__list__item__image.on_pc img {
  min-width: 488px;
  max-width: 488px;
  width: 488px;
  height: 248px;
}
.mypageFlow__list__item__description__step {
  max-width: 96.56px !important;
  min-width: 96.56px !important;
  width: 96.56px !important;
  height: 32px !important;
  position: relative;
  bottom: 16px;
  left: 14px;
}
.mypageFlow__list__item__description h5 {
  margin-top: 24px;
  font-family: Avenir !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 180% !important;
}
@media (max-width: 1007px) {
  .mypageFlow__list__item__description h5 {
    margin-top: -8px;
  }
}
.mypageFlow__list__item__description__text {
  color: #303030 !important;
  font-family: Avenir !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 180% !important;
  margin-top: 16px;
}
.mypageFlow__list__item__description__memo {
  color: #909090 !important;
  font-family: Avenir !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 180% !important;
  margin-top: 4px;
}
.mypageFlow--pink {
  background: #fff6f9;
  margin-bottom: 16px;
}
.mypageFlow--pink h5 {
  color: #f69 !important;
}
.mypageFlow--orange {
  background: #fff7f4;
  margin-bottom: 80px;
}
.mypageFlow--orange h5 {
  color: #ff8048 !important;
}

/*# sourceMappingURL=original-style.css.map */