@charset "UTF-8";

/* fade image in after load */

.lazyload {
  opacity: 0;
}

.lazyloading {
  opacity: 1;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 200ms;
}

/* よくあるご質問 */
.block-faq {
  padding: 0 20px;
  margin: 12px 0 40px;
}
.block-faq h1 {
  padding: 12px 0 0;
}
.block-faq-intro {
  margin: 0 0 40px;
}
.block-faq-intro--text {
  margin: 0 0 20px;
}
.block-faq-intro--nav li:not(:last-child) {
  margin: 0 0 8px;
}
.block-faq-intro--nav a {
  position: relative;
  display: block;
  border: 1px solid #dedede;
  border-radius: 3px;
  font-size: 15px;
  padding: 13px 15px;
}
.block-faq-intro--nav a:after {
  content: "";
  position: absolute;
  top: 17px;
  right: 15px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #111;
  border-bottom: 1px solid #111;
  transform: rotate(45deg);
}
.block-faq h2 {
  padding: 0 0 5px;
}
.block-faq-section:not(:last-child) {
  margin: 0 0 40px;
}
.block-faq-section dl:not(:last-child) {
  margin: 0 0 4px;
}
.block-faq-section dt {
  position: relative;
  background: #eee;
  border-radius: 3px;
  padding: 13px 35px 13px 15px;
}
.block-faq-section dt:before,
.block-faq-section dt:after {
  content: "";
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  margin: auto;
  width: 14px;
  height: 2px;
  background: #111;
  transition: .3s ease;
}
.block-faq-section dt:after {
  transform: rotate(90deg);
}
.block-faq-section dt.open:after {
  transform: rotate(180deg);
}
.block-faq-section dt span {
  position: relative;
  font-size: 14px;
  padding: 0 0 0 25px;
}
.block-faq-section dt span:before {
  content: "Q.";
  position: absolute;
  top: -5px;
  left: 0;
  font-size: 18px;
}
.block-faq-section dd {
  display: none;
  position: relative;
  margin: 16px 0 20px;
  padding: 0 0 0 40px;
  font-size: 13px;
}
.block-faq-section dd:before {
  content: "A.";
  position: absolute;
  top: -4px;
  left: 18px;
  font-size: 18px;
}
.block-faq-section dd p:not(:last-child) {
  margin: 0 0 20px;
}
.block-faq-section dd span {
  color: #d53100;
}

/* ご利用ガイド */
.block-guide {
  padding: 0 20px;
  margin: 12px 0 40px;
}
.block-guide h1 {
  padding: 12px 0 0;
}
.block-guide-intro {
  margin: 0 0 40px;
}
.block-guide-intro--text {
  margin: 0 0 20px;
}
.block-guide-intro--nav li:not(:last-child) {
  margin: 0 0 8px;
}
.block-guide-intro--nav a {
  position: relative;
  display: block;
  border: 1px solid #dedede;
  border-radius: 3px;
  font-size: 15px;
  padding: 13px 15px;
}
.block-guide-intro--nav a:after {
  content: "";
  position: absolute;
  top: 17px;
  right: 15px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #111;
  border-bottom: 1px solid #111;
  transform: rotate(45deg);
}
.block-guide h2 {
  padding: 0 0 5px;
}
.block-guide-section:not(:last-child) {
  margin: 0 0 40px;
}
.block-guide-section--box:not(:last-child) {
  margin: 0 0 32px;
}
.block-guide-section--text {
  font-size: 13px;
  margin: 0 0 32px;
}
.block-guide-section--text a {
  text-decoration: underline;
}
.block-guide h3 {
  font-size: 16px;
  padding: 0 0 5px;
  margin: 0 0 15px;
}
.block-guide-section--text p:not(:last-child) {
  margin: 0 0 20px;
}
#payment .block-guide-section--box:nth-of-type(2) .block-guide-section--text p:nth-child(3) {
  margin: 0;
}
#payment .block-guide-section--box:nth-of-type(2) .block-guide-section--text ul {
  margin: 0 0 20px;
}

/* プライバシーポリシー */
.block-privacy {
  padding: 0 20px;
  margin: 12px 0 40px;
}
.block-privacy h1 {
  padding: 12px 0 0;
}
.block-privacy h2 {
  font-size: 16px;
  padding: 0 0 5px;
  margin: 0 0 15px;
  border-bottom: 1px solid #dedede;
}
.block-privacy-section:not(:last-child) {
  margin: 0 0 42px;
}
.block-privacy-section--text p {
  margin: 0 0 20px;
  font-size: 13px;
}
.block-privacy-section--text p:last-child {
  margin: 0;
}

/* ---------------------------------------
	ランディングページ
---------------------------------------- */
/* common */
.pane-landingpage-contents {
  background: #fff;
}
.block-landingpage h2[class^="block-landingpage"] {
  margin: 20px 0 10px 0;
  padding: 0;
  font-size: 19px;
  border: none;
}
.block-landingpage .block-landingpage-login--member h2.block-landingpage-login--member-header {
  margin: 0 20px 10px;
}
.block-landingpage h2.block-landingpage-form--goods-title,
.block-landingpage h2.block-landingpage-form--guest-title,
.block-landingpage h2.block-landingpage-form--sales-append-title,
.block-landingpage h2.block-landingpage-order--host-title {
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  border: none;
}
.block-landingpage h2.block-landingpage-form--sales-append-title {
  margin: 20px 0 5px 0;
}
.block-landingpage #method_spec h3 {
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  border: none;
}
.block-landingpage #method_pay h3 {
  display: none;
}
.block-landingpage .block-landingpage-login--member-message {
  margin: 0 0 20px 0;
  font-size: 14px;
  text-align: center;
}
.block-landingpage .block-landingpage-login--ask-password {
  margin: 20px 0 0 0;
  font-size: 14px;
  text-align: center;
}
.block-landingpage .block-landingpage-login--ask-password a {
  text-decoration: underline;
}
.block-landingpage .block-landingpage-login--guest {
  padding: 0;
  margin: 0;
  border: none;
}
.block-landingpage .block-landingpage-other--dest {
  margin: 30px 0 10px;
  padding: 20px;
  border: none;
}
.block-landingpage .block-landingpage-login--member-body {
  width: auto !important;
  margin: 0 20px;
  border: #dcdcdc 1px solid;
}
.block-landingpage .block-landingpage-form {
  width: auto !important;
  margin: 0 0 20px 0;
  border: #dcdcdc 1px solid;
  display: block;
}
.block-landingpage .block-landingpage-form .block-landingpage-form--goods,
.block-landingpage .block-landingpage-form .block-landingpage-form--sales-append-content {
  padding: 0;
  border: none;
}
.block-landingpage .block-landingpage-form--time-spec,
.block-landingpage .block-landingpage-form--date-spec {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.block-landingpage input {
  max-width: 100%;
}
.pane-landingpage-contents #frmLP {
  margin: 0 20px;
}
.pane-landingpage-contents #frmLP .fieldset-vertical {
  padding: 0 10px;
  border: none !important;
}
.pane-landingpage-contents #frmLP .form-group {
  padding: 10px 0;
  border: none !important;
}
.block-landingpage-form--sales-append-content .form-label {
  background: none;
}
.pane-landingpage-contents .block-landingpage-other--dest-change {
  border: none !important;
}
.pane-landingpage-contents #frmLP .action-buttons {
  margin: 30px 0 40px;
}
.pane-landingpage-contents .action-buttons .btn.btn-primary {
  width: 80%;
  padding: 12px 0;
  margin: 0 auto;
  border-radius: 3px;
  font-size: 15px;
  text-align: center;
  display: block;
}
.pane-landingpage-contents #frmLP .action-buttons .btn.btn-primary {
  width: 100%;
}
/* details */
.pane-landingpage-contents #lp_details {
  margin: 40px 20px 0;
}
.pane-landingpage-contents .detail-box {
  margin: 0 0 30px 0;
}
.pane-landingpage-contents .detail-box#detail_bottom {
  margin: 0 0 10px 0;
}
.pane-landingpage-contents .detail-box .detail-ttl {
  padding: 10px 0;
  margin: 0;
  border: none;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  background: #707070;
  color: #fff;
}
.pane-landingpage-contents .detail-box .detail-inbox {
  padding: 10px;
  border-left: #dedede 2px solid;
  border-right: #dedede 2px solid;
  border-bottom: #dedede 2px solid;
}
.pane-landingpage-contents .detail-box .detail-inbox.table {
  padding: 0;
}
.pane-landingpage-contents .detail-box p {
  font-size: 12px;
}
.pane-landingpage-contents .detail-box p + p {
  margin-top: 10px;
}
.pane-landingpage-contents .detail-box .notice-list {
  margin: 0 1em 10px;
}
.pane-landingpage-contents .detail-box .notice-list li {
  font-size: 12px;
  list-style: disc inside;
  padding-left: 1em;
  text-indent: -1em;
}
.pane-landingpage-contents .detail-box .dl-table {
  display: flex;
  align-items: stretch;
}
.pane-landingpage-contents .detail-box .dl-table + .dl-table {
  border-top: #dedede 2px solid;
}
.pane-landingpage-contents .detail-box .dl-table dt {
  width: 30%;
  padding: 10px;
  border-right: #dedede 2px solid;
  font-size: 12px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pane-landingpage-contents .detail-box .dl-table dd {
  width: 70%;
  height: 100%;
  padding: 10px;
  font-size: 12px;
  box-sizing: border-box;
}

/* LP:CLEAR SKIN */
#lp_clear_skin .for-pc {
  display: none;
}
#lp_clear_skin * {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
#lp_clear_skin section {
  position: relative;
}
#lp_clear_skin section .inner {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#lp_clear_skin h1,
#lp_clear_skin h2,
#lp_clear_skin h3 {
  padding: 0;
  margin: 0;
  border: none;
}
#lp_clear_skin #sec_main .top-pop {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
#lp_clear_skin #sec_main .visual img {
  width: 100%;
}
#lp_clear_skin #sec_main .desc-box {
  width: 100%;
  height: 100%;
  padding: 30% 3% 0 55%;
  position: absolute;
  top: 0;
  left: 0;
}
#lp_clear_skin #sec_main .desc-box h1 {
  max-width: 324px;
  margin: 0 auto 10px;
}
#lp_clear_skin #sec_main .desc-box .text {
  margin: 0 0 20px;
  font-size: 0.7rem;
  text-align: center;
  line-height: 1.8;
}
#lp_clear_skin #sec_main .button.days10 a {
  width: 100%;
  height: 38px;
  margin: 0 auto;
  border: #000 1px solid;
  border-radius: 38px;
  font-size: 11px;
  text-align: center;
  line-height: 36px;
  text-decoration: none;
  display: block;
  position: relative;
  transition: 0.3s;
  background: transparent;
}
#lp_clear_skin #sec_main .button.days10 a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  right: 25px;
  top: calc(50% - 4px);
  transform: rotate(45deg);
}
#lp_clear_skin #sec_main .button.days10 a:hover {
  border: #000 1px solid;
  background: #000;
  color: #fff;
}
#lp_clear_skin #sec_main .button.days10 a:hover::after {
  border-color: #fff;
}
#lp_clear_skin #sec_story {
  padding: 0 0 35vw 0;
  background: url("../../img/usr/lp/clear-skin/story_bg_sp.png") center bottom no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  position: relative;
  box-sizing: border-box;
}
#lp_clear_skin #sec_story .side {
  width: 16px;
  position: absolute;
  left: 10px;
  bottom: 45vw;
}
#lp_clear_skin #sec_story .side img {
  width: 16px;
}
#lp_clear_skin #sec_story h2 {
  margin: 0 0 20px 0;
  text-align: center;
}
#lp_clear_skin #sec_story .pop {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
#lp_clear_skin #sec_story .text {
  margin: 0 0 20px 0;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
}
#lp_clear_skin #sec_story .kome-list {
  margin: 0 0 30px 0;
  display: flex;
  justify-content: center;
}
#lp_clear_skin #sec_story .kome-list li {
  margin: 0 10px 0 0;
  font-size: 10px;
}
#lp_clear_skin #sec_story .button.days10 a {
  width: 70%;
  height: 50px;
  margin: 0 auto;
  border: #000 1px solid;
  border-radius: 50px;
  font-size: 18px;
  text-align: center;
  line-height: 48px;
  text-decoration: none;
  display: block;
  position: relative;
  transition: 0.3s;
  background: #fff;
}
#lp_clear_skin #sec_story .button.days10 a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  right: 25px;
  top: calc(50% - 4px);
  transform: rotate(45deg);
}
#lp_clear_skin #sec_story .product {
  width: 70%;
  margin: 25px auto 60px;
  text-align: center;
}
#lp_clear_skin #sec_body {
  width: 100%;
  padding: 0;
  background: url("../../img/usr/lp/clear-skin/body_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_eye {
  width: 100%;
  padding: 22vw 0 0;
  background: url("../../img/usr/lp/clear-skin/eye_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_face {
  width: 100%;
  padding: 22vw 0 0 0;
  background: url("../../img/usr/lp/clear-skin/face_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_body h2 {
  width: 24%;
  position: absolute;
  bottom: -20vw;
  left: -2%;
  z-index: 2;
}
#lp_clear_skin #sec_eye  h2 {
  width: 26%;
  position: absolute;
  bottom: -2vw;
  right: 0;
  z-index: 2;
}
#lp_clear_skin #sec_face h2 {
  width: 20%;
  position: absolute;
  bottom: -18vw;
  left: 0;
  z-index: 2;
}
#lp_clear_skin .item-frame .inner {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
}
#lp_clear_skin .item-frame .image {
  padding: 0 20%;
  text-align: center;
}
#lp_clear_skin .item-frame .image img {
  vertical-align: top;
}
#lp_clear_skin .item-frame .item-desc {
  margin: 10px 0 0 0;
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
}
#lp_clear_skin .item-frame .desc-box .pop {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  color: #fff;
}
#lp_clear_skin .item-frame .desc-box .text {
  margin: 0;
  font-size: 12px;
  text-align: center;
  line-height: 2.0;
  color: #fff;
}
#lp_clear_skin #sec_eye.item-frame .desc-box .text {
  margin-bottom: 20px;
}
#lp_clear_skin #sec_nayami {
  padding: 35vw 0 60px;
  background: url("../../img/usr/lp/clear-skin/nayami_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_nayami .inner {
  position: relative;
  z-index: 2;
}
#lp_clear_skin #sec_nayami h2 {
  margin: 0 0 30px 0;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
#lp_clear_skin #sec_nayami .nayami-list {
  margin: 0 0 25px 0;
  display: flex;
  justify-content: center;
}
#lp_clear_skin #sec_nayami .nayami-list li {
  width: 30vw;
  height: 30vw;
  margin: 0 1vw;
  border-radius: 30vw;
  text-align: center;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: YuMincho, "Yu Mincho", sans-serif;
}
#lp_clear_skin #sec_nayami .line01 {
  margin: 0 0 25px 0;
  font-size: 12px;
  text-align: center;
  line-height: 1.8;
}
#lp_clear_skin #sec_nayami .line02 {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 2.0;
}
#lp_clear_skin #sec_offer {
  padding: 30px 20px 20px;
  background: #cac4c4;
  overflow: hidden;
}
#lp_clear_skin #sec_offer .inner {
  margin: 0 auto;
  background: #fff;
  position: relative;
  z-index: 2;
}
#lp_clear_skin #sec_offer .head {
  padding: 30px 15% 15px;
  text-align: center;
  position: relative;
}
#lp_clear_skin #sec_offer .head .pop {
  width: 100%;
  text-align: center;
  position: absolute;
  top: -12px;
  left: 0;
}
#lp_clear_skin #sec_offer .head .pop img {
  width: 142px;
}
#lp_clear_skin #sec_offer .main {
  margin: 0 -20px;
}
#lp_clear_skin #sec_offer .main img {
  width: 100%;
}
#lp_clear_skin #sec_offer .details {
  padding: 30px 25px;
}
#lp_clear_skin #sec_offer .ttl-point {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  color: #e37a7a;
}
#lp_clear_skin #sec_offer .ttl-point strong {
  font-size: 24px;
  font-weight: bold;
}
#lp_clear_skin #sec_offer .point-list {
  margin: 0 0 20px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#lp_clear_skin #sec_offer .point-list li {
  width: 46%;
  padding: 5px 0;
  margin: 0 1% 2%;
  border: #000 1px solid;
  border-radius: 6px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}
#lp_clear_skin #sec_offer .middle-text {
  margin: 0 0 30px 0;
  font-size: 14px;
  text-align: center;
  line-height: 2.0;
}
#lp_clear_skin #sec_offer .middle-text .days10 {
  padding: 5px 8px;
  margin: 0 10px;
  border: #e37a7a 1px solid;
  color: #e37a7a;
  display: inline-block;
  line-height: 1.0;
}
#lp_clear_skin #sec_offer .middle-text .line {
  border-bottom: #e37a7a 2px solid;
  display: inline-block;
  line-height: 1.0;
}
#lp_clear_skin #sec_offer .price-box-wrap {
  margin: 0 0 25px 0;
  border: #dedede 1px solid;
  padding: 20px;
  background: #f5f5f5;
}
#lp_clear_skin #sec_offer .price-box .price-line {
  margin: 0 0 10px 0;
  text-align: center;
}
#lp_clear_skin #sec_offer .price-box .regular-line {
  display: none;
}
#lp_clear_skin #sec_offer .trial-button {
  margin: 0;
}
#lp_clear_skin #sec_offer .trial-button a {
  width: 100%;
  height: 50px;
  margin: 0 auto;
  border-radius: 3px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 50px;
  letter-spacing: 0.1em;
  color: #fff;
  display: block;
  background: linear-gradient(90deg, rgba(213,8,8,1) 0%, rgba(237,9,141,1) 100%);
  transition: 0.3s;
}
#lp_clear_skin #sec_offer .trial-button a:hover {
  opacity: 0.7;
}
#lp_clear_skin #sec_offer .trial-button a::after {
  content: "";
  width: 0;
  height: 0;
  margin: 0 0 0 14px;
  border-top: 6px solid transparent;
  border-right: 6px solid transparent;
  border-left: 6px solid #fff;
  border-bottom: 6px solid transparent;
  display: inline-block;
}
#lp_clear_skin #sec_offer .notice-list li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 10px;
  color: #444;
}

/* 商品詳細定期便 */
.page-goods .block-subsc {
  margin: 0 -20px;
  padding: 0 0 30px;
  background: #F7F7F7 url(/img/goods/subscription/bg_sp.png) repeat-y top left / 100% auto;
}
.page-goods .hdg-subsc {
  margin: 0;
  padding: 15px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  border: none;
  background-color: #393939;
}
.page-goods .list-subsc {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 20px;
}
.page-goods .list-subsc-item {
  width: 145px;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.page-goods .list-subsc-txt {
  margin-top: 12px;
  display: block;
  font-size: 14px;
  line-height: 1.71;
  text-align: center;
}
.page-goods .list-subsc-item img {
  width: 120px;
}
.page-goods .sec-subsc {
  margin: 30px 15px 0;
  padding: 12px 15px 30px;
  background-color: #fff;
}
.page-goods .hdg-subsc-lv3 {
  margin: 0;
  padding: 8px 10px;
  font-size: 16px;
  letter-spacing: .07em;
  text-align: center;
  color: #fff;
  background-color: #A088AB;
}
.page-goods .lyt-subsc {
  margin-top: 18px;
}
.page-goods .dl-subsc-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  position: relative;
  z-index: 0;
}
.page-goods .dl-subsc-item + .dl-subsc-item {
  margin-top: 30px;
}
.page-goods .dl-subsc-item + .dl-subsc-item::before {
  position: absolute;
  content: "";
  top: -18px;
  left: 50%;
  z-index: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 12px solid #000000;
  border-bottom: 0;
  transform: translateY(-50%);
}
.page-goods .block-subsc .sec-subsc .dl-subsc-ttl {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  min-height: 62px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .11em;
  color: #A088AB;
  border: 1px solid #A088AB;
  background-color: #fff;
}
.page-goods .dl-subsc-detail {
  padding: 0;
}
.page-goods .dl-subsc-detail img {
  width: auto;
  height: 60px;
  object-fit: contain;
}
.page-goods .dl-subsc-desc {
  padding: 5px 10px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  min-height: 62px;
  font-size: 12px;
  background-color: #F5F5F5;
}
.page-goods .subsc-price {
  display: block;
  font-size: 14px;
}
.page-goods .subsc-price b {
  margin-left: 2px;
  font-size: 11px;
  font-weight: normal;
  white-space: pre;
}
.page-goods .continuation-subsc {
  margin-top: 13px;
  padding-bottom: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  position: relative;
}
.page-goods .continuation-subsc::after {
  position: absolute;
  content: "";
  left: 50%;
  bottom: 0;
  z-index: 0;
  width: 49px;
  height: 13px;
  background: url(/img/goods/subscription/icon_arrow.png) no-repeat center / contain;
  transform: translateX(-50%);
}
.page-goods .percent-subsc {
  margin-left: 5px;
  padding-bottom: 2px;
  font-size: 17px;
  font-weight: 700;
  color: #EB586C;
  border-bottom: 1px solid #EB586C;
}
.page-goods .percent-subsc b {
  font-size: 27px;
}
.page-goods .btn-subsc {
  margin-top: 22px;
  text-align: center;
}
.page-goods .btn-subsc-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  min-height: 44px;
  font-size: 14px;
  text-align: center;
  color: #fff;
  border-radius: 23px;
  box-shadow: 3px 3px 0 #ccc;
  background-color: #A088AB;
}
.page-goods .btn-subsc-link:hover {
  text-decoration: none;
}
.page-goods .ff-nsj {
  font-family: 'Noto Serif JP', serif;
}

.hnb-menu_list li .txt-link {
  margin-left: 30px;
  display: inline-flex;
  align-items: center;
  height: 100%;
  font-size: 16px;
  font-weight: bold;
  color: #081F2C;
}

/* ---- headerおすすめのキーワード ---- */
.search_recommend_keywords {
  margin: 30px 0 50px;
}
.search_recommend_keywords_ttl {
  font-size: 14px;
  font-weight: bold;
}
.search_recommend_keywords_items {
  margin-top: 15px;
}
.search_recommend_keywords_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.search_recommend_keywords_list li {
  display: flex;
  width: calc((100% - 10px) / 2);
}
.search_recommend_keywords_list a {
  padding: 5px 4px 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  font-size: 13px;
  color: #111;
  border: 1px solid #111;
  border-radius: 40px;
  background-color: #fff;
}
.search_recommend_keywords_list a:hover {
  text-decoration: none;
}

/* ---- ログイン画面/会員登録 ---- */
.page-login h1.title-memberpage, .page-entry h1 {
  margin: 40px 0;
  padding: 0;
  font-weight: 600;
}
.page-login [type="checkbox"],
.page-entry [type="checkbox"] {
  position: relative;
  width: 26px;
  height: 26px;
  border: 1px solid #999;
  border-radius: 3px;
  background: #fff;
  appearance: none;
}
.page-login [type="checkbox"]:checked,
.page-entry [type="checkbox"]:checked {
  border-color: #111;
  background: #111;
}
.page-login [type="checkbox"]:checked::before,
.page-entry [type="checkbox"]:checked::before {
  position: absolute;
  content: "";
  top: 4px;
  left: 8px;
  width: 8px;
  height: 13px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg);
}
.page-login .block-login--display-password {
  margin-top: 20px;
  display: block;
}
.page-login .block-login--member {
  margin: 0 -10px;
  padding: 0 15px;
}
.page-login .block-login--linelogin,
.page-login .block-login--amazon,
.page-login .block-login--first-time {
  margin: 40px -10px 0;
  padding: 40px 15px 0;
  border-top: 1px solid #DCDCDC;
}
.page-login .block-login--member-header,
.page-login .block-login--linelogin-header,
.page-login .block-login--amazon-header,
.page-login .block-login--first-time-header,
.page-entry .legend {
  margin: 0 0 20px;
  padding: 0 0 0 10px;
  border: none;
  position: relative;
}
.page-entry .legend {
  margin-top: 80px;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 20px;
  font-weight: 500;
}
.page-entry .legend::after {
  position: absolute;
  content: "";
  top: -40px;
  left: -10px;
  width: calc(100% + 20px);
  height: 1px;
  background-color: #DCDCDC;
}
.page-entry .block-member-info--message + .legend {
  margin-top: 40px;
  border: none;
}
.page-entry .block-member-info--message + .legend::after {
  content: none;
}
.page-login .block-login--member-header::before,
.page-login .block-login--linelogin-header::before,
.page-login .block-login--amazon-header::before,
.page-login .block-login--first-time-header::before,
.page-entry .legend::before {
  position: absolute;
  content: "";
  top: calc(50% + 1px);
  left: 0;
  width: 3px;
  height: 70%;
  border-radius: 30px;
  background-color: #491C53;
  transform: translateY(-50%);
}
.page-login .block-login--member-message {
  line-height: 1.78;
}
.page-login .block-login--member-message span {
  margin-top: 5px;
  display: block;
  color: #3B3C3C;
}
.page-login input[type="email"],
.page-login input[type="password"],
.page-login input[type="text"] {
  border-color: #ccc;
}
.page-login .block-login--member-body,
.page-login .block-login--linelogin-body,
.page-login .block-login--first-time-body {
  padding: 0;
  border: none;
}
.page-login .block-login--login-state-saving {
  margin-top: 17px;
  text-align: center;
}
.page-login .block-login--ask-password {
  margin-top: 20px;
  text-align: center;
}
.page-login .form-control label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-login .block-login--linelogin-contents-btn {
  padding: 0;
}
.page-login .block-login--linelogin-contents {
  margin-top: 20px;
}
.page-login .block-login--linelogin-contents-line .line_logo,
.page-login .block-login--linelogin-contents-line .line_word {
  height: 45px;
}
.page-login .block-login--linelogin-contents-line .line_logo {
  background-position: center;
}
.page-login .block-login--linelogin-contents-line .line_word {
  width: calc(100% - 40px);
  line-height: 45px;
}
.page-login .block-cart--amazonpay-description {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.78;
}
.page-login .block-cart--amazonpay-description br {
  display: none;
}
.page-login .block-login--linelogin-text {
  font-size: 14px;
  line-height: 1.78;
}
.page-login .fieldset-vertical {
  margin: 20px 0 0;
}
.page-login .action .btn {
  margin-top: 20px;
}
.page-login .block-common-alert-list {
  margin-bottom: 20px;
}

.page-entry .block-member-info--message {
  padding: 0;
}
.page-entry .action-buttons {
  margin: 40px -10px 0;
  padding: 40px 10px 0;
  border-top: 1px solid #DCDCDC;
}
.page-entry .action .btn {
  margin-top: 0;
}
.page-entry .fieldset-vertical {
  margin-top: 20px;
}
.page-entry .form-group {
  margin: 0;
  position: relative;
}
.page-entry .form-group + .form-group {
  margin-top: 20px;
}
.page-entry .form-group .form-label {
  margin: 0;
  float: none;
}
.page-entry .form-group .form-label .control-label {
  padding: 10px 50px 10px 10px;
  display: block;
  font-size: 16px;
  border-top: 1px solid #E5E5E5;
  background-color: #F9F9F9;
}
.page-entry .form-group .constraint {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0;
  float: none;
}
.page-entry .form-group .form-control input:not([type="radio"]):not([type="checkbox"]) {
  padding: 8px 10px;
  width: 100%;
}
.page-entry .form-group .form-control select {
  padding: 8px 10px;
  min-width: 150px;
}
.page-entry .form-group.block-member-info--birth select {
  min-width: initial;
}
.page-entry .form-group .form-control > br {
  display: none;
}
.page-entry .form-group .form-control > .radio + br {
  display: block;
}
.page-entry .form-group .form-control > span {
  margin-top: 10px;
  display: block;
}
.page-entry .form-group .form-control > span > label:not(.radio) {
  margin-right: 10px;
  width: 80px;
  display: inline-block;
}
.page-entry .form-group .form-control > span > label:not(.radio) + input[type="text"] {
  width: calc(100% - 94px);
}
.page-entry .form-group .form-control > .block-order-estimate--order-terms-link {
  padding-right: 50px;
  display: inline-block;
}
.page-entry .block-addr2-message,
.page-entry .block-birth-message,
.page-entry .count-msg {
  margin-top: 10px;
  font-size: 14px;
  color: #f00;
}
.page-entry .help-block {
  margin-top: 20px;
  font-size: 14px;
  color: #111;
}
.page-entry .block-login--display-password {
  margin-top: 20px;
  display: block;
}
.page-entry [type="radio"] {
  margin: 5px 10px 5px 0;
  padding: 0;
  width: 30px;
  height: 30px;
  border: 1px solid #666;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
  appearance: none;
  position: relative;
}
.page-entry [type="radio"]:checked {
  border-color: #111;
}
.page-entry [type="radio"]:checked::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  display: block;
  width: 18px;
  height: 18px;
  background: #111;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.pane-footer .block-copyright {
  font-size: 10px;
}
.pane-footer .block-switcher {
  margin: 40px auto 50px;
  padding: 0;
  width: fit-content;
  border: 1px solid #666;
  border-radius: 17px;
  background: #666;
  overflow: hidden;
}
.pane-footer .block-switcher .block-switcher-container {
  width: 100px;
  margin: 0;
}
.pane-footer .block-switcher .block-switcher-container .block-switcher--current,
.pane-footer .block-switcher .block-switcher-container .block-switcher--switch {
  padding: 0 0 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .05em;
  opacity: 1;
}
.pane-footer .block-switcher .block-switcher-container .block-switcher--current {
  color: #111;
}
.btn-default.block-search-goods--search-btn {
  color: #fff;
  border-color: #491C53;
  background-color: #491C53;
}
.page-estimate .btn-default.block-order-estimate--dest-address-register-btn {
  border: 1px solid #491C53;
  color: #fff;
  background: #491C53;
}

.page-contact .block-inquiry--forward {
  color: #fff;
  border-color: #491C53;
  background-color: #491C53;
}

.page-history .block-purchase-history--search-btn {
  color: #fff;
  border-color: #491C53;
  background-color: #491C53;
}

.page-history .block-purchase-history--order-detail-reorder .btn-default {
  font-size: 16px;
  min-height: inherit;
}

.page-historydetail .block-purchase-history-detail--add-goods {
  color: #fff;
  border-color: #491C53;
  background-color: #491C53;
}
.block-order-estimate--dest-address-container .action-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.block-order-estimate--dest-address-container .action-buttons .action {
  width: 100%;
  padding: 0;
}

.goods-block-visumo {
  order: 360;
}