/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 10 2026 | 03:08:23 */
*{
  border:0;
  outline:none;
  vertical-align:baseline;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  margin:0;
  padding:0;
  list-style:none;
  text-decoration:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  -webkit-font-feature-settings:"palt" on;
  font-feature-settings:"palt" on;
  /* ★重要：全要素へ -webkit-overflow-scrolling を当てない（iframe/タップ不具合の原因になりやすい） */
}

html{
  height:100%;
  font-size:62.5% !important;
}

body{
  font-weight:400;
  font-size:16px;
  line-height:1.75;
  letter-spacing:.02em;
  color:#221815;
  height:100%;
}

h1,h2{
  position:relative;
  font-weight:600!important;
}

main{ margin:auto; }
section{ position:relative; }
*:focus{ outline:none; }

p a{
  word-break:break-all;
  text-decoration:underline;
}

sup{ vertical-align:top; font-size:50%; }
sub{ vertical-align:baseline; font-size:50%; }

em,b,strong,th{ font-weight:600; }

a{
  color:#221815;
  cursor:pointer;
  -webkit-transition:opacity .3s;
  transition:opacity .3s;
}

figcaption,small{ font-size:12px; }

img{
  display:block;
  height:auto;
}

input,button,select,textarea{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background:rgba(0,0,0,0);
  border:none;
  border-radius:0;
  font:inherit;
  outline:none;
}

textarea{ resize:vertical; }
input[type=checkbox],
input[type=radio]{ display:none; }

input[type=submit],
input[type=button],
label,
button,
select{ cursor:pointer; }

select::-ms-expand{ display:none; }

/* =========================================
  layout
========================================= */

.p-shoplist-container{
  display:flex;
  flex-direction:column;
  min-height:100vh;
  min-height:100svh; /* 実機の揺れ軽減 */
}

@supports (height: 100dvh){
  .p-shoplist-container{
    min-height:100dvh;
  }
}

.p-shoplist-main{
  flex:1 0 auto;
  width:100%;
}

/* WPの自動余白：ゼロ固定（LP内だけ） */
.p-shoplist-container figure{
  margin-bottom:0 !important;
}

/* WPの inner-container が勝手に 1em を持つ環境対策（LP内だけ） */
.p-shoplist-container .wp-block-group__inner-container{
  margin-bottom:0 !important;
}

/* =========================================
  header / footer
========================================= */

.p-shoplist-header{
  padding:4px;
}

.p-shoplist-header a:hover{ opacity:.5; }

.p-shoplist-header img{
  width:min(32.8vw,160px);
  margin:auto;
}

@media screen and (min-width: 768px){
  .p-shoplist-header{
    padding:24px 0 16px;
  }
}

.p-shoplist-footer{
  margin-top:auto;
  padding:12px!important;
  background-color:#f7f8fc;
  border-top:4px solid #e9ebf5;
  text-align:center;
}

.p-shoplist-footer p{
  line-height:1.35;
  color:#585d63;
  margin-bottom:0!important;
}

/* =========================================
  heading（FV）
========================================= */

.p-shoplist-heading{
  margin-bottom:40px;
  padding:44.2666% 16px 30px;
  text-align:center;
  background-color:#f7f8fc;
  background-position:center 0;
  background-size:100% auto;
  background-repeat:no-repeat;
}

.p-shoplist-heading__title{
  margin-bottom:12px;
  line-height:1.25;
  font-size:1.9rem;
  font-weight:bold;
  letter-spacing:.02em;
}

.p-shoplist-heading__text{
  font-size:1.3rem;
  line-height:1.75;
}

.p-shoplist-heading br.pc-only{ display:none; }

.p-shoplist-heading--appointment{ background-image:url("/wp-content/uploads/mv_counseling_appointment_sp.jpg"); }
.p-shoplist-heading--howto{ background-image:url("/wp-content/uploads/mv_counseling_howto_sp.jpg"); }
.p-shoplist-heading--style{ background-image:url("/wp-content/uploads/mv_counseling_style_sp.jpg"); }
.p-shoplist-heading--lost{ background-image:url("/wp-content/uploads/mv_counseling_lost_sp.jpg"); }
.p-shoplist-heading--switching{ background-image:url("/wp-content/uploads/mv_counseling_switching_sp.jpg"); }
.p-shoplist-heading--love{ background-image:url("/wp-content/uploads/mv_counseling_love_sp.jpg"); }

@media screen and (min-width: 768px){
  .p-shoplist-heading{
    min-height:clamp(230px, 28vw, 320px);
    padding:clamp(14px, 1.8vw, 24px) 16px;
    text-align:left;
    background-position:30% 0;
    background-size:cover;
    background-repeat:no-repeat;
    position:relative;
  }

  .p-shoplist-heading__content{
    position:absolute;
    top:50%;
    left:0;
    right:0;
    transform:translateY(-50%);
    width:100%;
  }

  .p-shoplist-heading__content > .wp-block-group__inner-container{
    width:min(1000px, calc(100% - 32px));
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    max-width:none;
  }

  .p-shoplist-heading__content .p-shoplist-heading__title,
  .p-shoplist-heading__content .p-shoplist-heading__text{
    width:clamp(54%, 54vw, 620px);
    text-align:left;
  }

  .p-shoplist-heading__content .p-shoplist-heading__title{
    margin-bottom:clamp(10px, 1.2vw, 16px);
    font-size:clamp(2.2rem, 2.4vw, 2.8rem);
    line-height:1.2;
  }

  .p-shoplist-heading__title--lg{ font-size:clamp(2.5rem, 2.8vw, 3.2rem); }
  .p-shoplist-heading__title--md{ font-size:clamp(2.35rem, 2.6vw, 3rem); }

  .p-shoplist-heading__content .p-shoplist-heading__text{
    font-size:clamp(1.35rem, 1.2vw, 1.6rem);
    line-height:1.7;
  }

  .p-shoplist-heading--appointment{
    background-position:center 0;
    background-image:url("/wp-content/uploads/mv_counseling_appointment_pc.jpg");
  }
  .p-shoplist-heading--howto{ background-image:url("/wp-content/uploads/mv_counseling_howto_pc.jpg"); }
  .p-shoplist-heading--style{ background-image:url("/wp-content/uploads/mv_counseling_style_pc.jpg"); }
  .p-shoplist-heading--lost{ background-image:url("/wp-content/uploads/mv_counseling_lost_pc.jpg"); }
  .p-shoplist-heading--switching{ background-image:url("/wp-content/uploads/mv_counseling_switching_pc.jpg"); }
  .p-shoplist-heading--love{ background-image:url("/wp-content/uploads/mv_counseling_love_pc.jpg");	}
}

@media screen and (min-width: 1441px) {
    .p-shoplist-heading--love {
        aspect-ratio: 1440 / 310;
    }
}

/* =========================================
  point
========================================= */

.p-shoplist-point{
  position:relative;
  max-width:1000px;
  margin:48px auto 50px;
  padding:22px 16px 24px;
  background-color:#fff7f8;
}

.p-shoplist-point__title{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  max-width:290px;
  height:28px;
  margin:auto;
  padding:0 20px;
  color:#fff;
  font-weight:bold;
  font-size:1.6rem;
  line-height:1.4;
  letter-spacing:.08em;
  background-color:#df0515;
  border-radius:14px;
}

.p-shoplist-point__title::before{
  content:"";
  display:block;
  width:24px;
  height:24px;
  background:url("/wp-content/uploads/icon_point.png") center/100% auto no-repeat;
}

.p-shoplist-point__text{
  margin-top:-14px;
  padding:21px 12px 15px;
  background:#fff;
  border:1px solid #df0515;
  border-radius:16px;
  font-size:1.4rem;
  line-height:1.75;
}

.p-shoplist-point__img{
  position:absolute;
  left:50%;
  top:-27px;
  transform:translateX(85px);
  width:81.5px;
}
.p-shoplist-point__img img{
  width:100%;
  height:auto;
}

@media screen and (max-width: 360px){
  .p-shoplist-point__img{
    transform:translateX(68px);
  }
}

@media screen and (min-width: 768px){
  .p-shoplist-point{
    margin:40px auto;
    padding:24px 60px;
  }

  .p-shoplist-point__title{
    justify-content:center;
    gap:28px;
    max-width:340px;
    height:32px;
    font-size:2rem;
    border-radius:16px;
  }

  .p-shoplist-point__text{
    margin-top:-16px;
    padding:38px 180px 26px 34px;
    font-size:1.6rem;
  }

  .p-shoplist-point__img{
    left:auto;
    right:94px;
    top:auto;
    bottom:27px;
    transform:none;
    width:136px;
  }
}

/* =========================================
  select
========================================= */

.p-shoplist-select{
  max-width:632px;
  margin:0 auto;
  padding:0 16px 40px;
}

.p-shoplist-select__title{
  position:relative;
  margin-bottom:36px;
  padding-bottom:13px;
  text-align:center;
  font-size:2.4rem!important;
  line-height:1.25;
  letter-spacing:.02em;
  font-weight:bold;
  border-bottom:1.6px solid #df0515;
}

.p-shoplist-select__title::before,
.p-shoplist-select__title::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  border-style:solid;
  transform:translate(-50%, 100%);
  transform-origin:top;
}

.p-shoplist-select__title::before{
  border-width:14px 9px 0 9px;
  border-color:#df0515 transparent transparent transparent;
}

.p-shoplist-select__title::after{
  border-width:11px 7.1px 0 7.1px;
  border-color:#fff transparent transparent transparent;
}

.p-shoplist-select__title span{
  background-color:#fff;
}

.p-shoplist-select__pulldown{
  cursor:pointer;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:52px;
  font-weight:bold;
  font-size:1.6rem;
  background-color:#f7f8fc;
  border-radius:8px;
  border:1.6px solid #dddfeb;
  transition:all .3s;
  line-height:1.2;
}

.p-shoplist-select__pulldown::after{
  content:"";
  display:block;
  position:absolute;
  top:50%;
  right:16px;
  transform:translateY(-50%);
  width:11px;
  height:6px;
  background-image:url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.46967 0.21967C0.762563 -0.0732233 1.23744 -0.0732233 1.53033 0.21967L5.5 4.18934L9.46967 0.21967C9.76256 -0.0732233 10.2374 -0.0732233 10.5303 0.21967C10.8232 0.512563 10.8232 0.987437 10.5303 1.28033L6.03033 5.78033C5.73744 6.07322 5.26256 6.07322 4.96967 5.78033L0.46967 1.28033C0.176777 0.987437 0.176777 0.512563 0.46967 0.21967Z' fill='%23DF0515'/%3E%3C/svg%3E%0A");
  background-size:100% 100%;
}

.p-shoplist-select__pulldown:hover{
  color:#df0515;
  opacity:.5;
}

@media screen and (min-width: 768px){
  .p-shoplist-select{
    padding-top:40px;
    padding-bottom:72px;
  }

  .p-shoplist-select__title{
    margin-bottom:50px;
    padding-bottom:16px;
    font-size:3rem!important;
    border-bottom:2px solid #df0515;
  }

  .p-shoplist-select__title::before{
    border-width:15px 10px 0 10px;
  }

  .p-shoplist-select__title::after{
    border-width:11.4px 7.6px 0 7.6px;
  }

  .p-shoplist-select__pulldown{
    height:64px;
    font-size:2rem;
    border-radius:10px;
    border-width:2px;
  }

  .p-shoplist-select__pulldown::after{
    right:29px;
    width:12px;
    height:7px;
  }
}

/* =========================================
  form / modal
========================================= */

.p-shoplist-form{
  display:none;
  max-width:1000px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.p-shoplist-form.is-selected{
  display:block;
  min-height:740px;
}

/* ★重要：閉じたら display:none（当たり判定ゼロ） */
.p-shoplist-modal{
  display:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease;

  position:fixed;
  inset:0;
  z-index:9999;
  left:0;
  top:0;
  width:100%;
  height:100vh;
  height:100svh;
  padding:40px 16px;
}

.p-shoplist-modal.is-active{
  display:block;
  opacity:1;
  visibility:visible;
}

.p-shoplist-modal__overlay{
  position:absolute;
  inset:0;
  background:#f7f8fc;
}

.p-shoplist-modal__content{
  position:relative;
  padding-bottom:16px;
  background:#fff;
  border-radius:15px;
}

.p-shoplist-modal__scroll{
  overflow:auto;
  height:calc(100vh - 140px);
  height:calc(100svh - 140px);
  padding:0 20px;

  /* ★必要な箱だけ慣性スクロール */
  -webkit-overflow-scrolling:touch;
}

.p-shoplist-modal__scroll::-webkit-scrollbar{ width:8px; }
.p-shoplist-modal__scroll::-webkit-scrollbar-thumb{
  background:#afb6be;
  border-radius:100px;
}
.p-shoplist-modal__scroll::-webkit-scrollbar-track{
  background:#e9ebf5;
  border-radius:100px;
}

.p-shoplist-modal__close{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin-left:auto;
  margin-right:10px;
  transition:opacity .3s;
}

.p-shoplist-modal__close::before,
.p-shoplist-modal__close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:22.6px;
  height:2px;
  background-color:#585d63;
  transform-origin:center;
}

.p-shoplist-modal__close::before{
  transform:translate(-50%, -50%) rotate(45deg);
}
.p-shoplist-modal__close::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}

.p-shoplist-modal__close:hover{ opacity:.5; }

@media screen and (min-width: 768px){
  .p-shoplist-modal{ padding:80px 32px; }

  .p-shoplist-modal__content{
    margin:auto;
    max-width:1000px;
    border-radius:20px;
    padding-top:10px;
  }

  .p-shoplist-modal__scroll{
    height:calc(100vh - 234px);
    height:calc(100svh - 234px);
    padding:0 94px;
  }

  .p-shoplist-modal__scroll::-webkit-scrollbar{ width:10px; }

  .p-shoplist-modal__close{
    width:48px;
    height:48px;
  }

  .p-shoplist-modal__close::before,
  .p-shoplist-modal__close::after{
    width:30.7px;
  }
}

/* =========================================
  stores list
========================================= */

.p-shoplist-stores{ margin-bottom:25px; }

.p-shoplist-stores__area{
  padding-bottom:3.5px;
  font-size:1.8rem;
  font-weight:bold;
}

.p-shoplist-stores__list{
  display:flex;
  flex-wrap:wrap;
  gap:0 16px;
}

.p-shoplist-stores__list li{
  width:calc(50% - 8px);
}

.p-shoplist-stores__list a{
  position:relative;
  display:block;
  width:100%;
  padding:10px 12px 10px 0;
  font-size:1.4rem;
  transition:color .3s,border .3s;
  border-bottom:1px solid #dddfeb;
}

.p-shoplist-stores__list a::after{
  content:"";
  display:block;
  position:absolute;
  top:50%;
  right:11px;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='24' height='24' rx='12' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.16363 18.0364C8.81216 17.6849 8.81216 17.1151 9.16363 16.7636L13.9272 12L9.16363 7.23638C8.81216 6.88491 8.81216 6.31506 9.16363 5.96359C9.5151 5.61212 10.0849 5.61212 10.4364 5.96359L15.8364 11.3636C16.1879 11.7151 16.1879 12.2849 15.8364 12.6364L10.4364 18.0364C10.0849 18.3879 9.5151 18.3879 9.16363 18.0364Z' fill='%23DF0515'/%3E%3C/svg%3E%0A");
  background-size:100% 100%;
}

.p-shoplist-stores__list a:hover{
  color:#df0515;
  border-color:#df0515;
}

@media screen and (min-width: 768px){
  .p-shoplist-stores{ margin-bottom:40px; }

  .p-shoplist-stores__area{
    padding:0 10px 2px;
    font-size:2.4rem;
  }

  .p-shoplist-stores__list{ gap:10px 16px; }

  .p-shoplist-stores__list li{
    width:calc(33.3333% - 12px);
  }

  .p-shoplist-stores__list a{
    padding:8px 11px;
    font-size:1.8rem;
  }

  .p-shoplist-stores__list a::after{
    right:16px;
    width:24px;
    height:24px;
  }
}

/* =========================================
  scroll lock（JSのfixedと併用）
========================================= */
.no-scroll{
  overflow:hidden;
}

/* =========================================
  iframeクリック不能対策：上に被る要素を無効化
  - check_tag が生成する上物(ローディング等)が残ってもタップを奪わない
========================================= */
#check_iframe{
  position:relative;
}
#check_iframe > :not(iframe){
  pointer-events:none;
}
#check_iframe iframe{
  pointer-events:auto;
  display:block;
  width:100%;
  max-width:100%;
  border:0;
}


/* =========================================
  4つのメリット
========================================= */
/* ========== 1) 変数 + 外枠 ========== */
.p-shoplist-merit{
  --ink:#212121;
  --accent:#df0515;

  --bg:#fff7f8;
  --bd:#ffdee1;

  --wrapW:1060px;
  --padX:clamp(14px, 3vw, 24px);

  --gapSP:16px;
  --gapPC:24px;

  --radius:16px;
  --bdW:2px;

  --numFF:"Roboto Condensed", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;

  max-width: var(--wrapW) !important;
  margin: 0 auto 4.5rem !important;
  padding: 0 var(--padX) !important;
}

/* WPの自動ブロック間余白を止める */
.p-shoplist-merit .wp-block-group__inner-container{
  --wp--style--block-gap: 0px !important;
}

/* ========== 2) 見出し（SWELL装飾打ち消し） ========== */
.p-shoplist-merit__title{
  margin: 0 !important;
  padding: 0 !important;

  text-align: center !important;
  color: var(--ink) !important;
  line-height: 1.15 !important;

  background: none !important;
  border: 0 !important;
  box-shadow: none !important;

  font-size: clamp(18px, 2.2vw, 22px) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

.p-shoplist-merit__title::before,
.p-shoplist-merit__title::after{
  content: none !important;
  display: none !important;
}

.p-shoplist-merit__title::first-letter{
  font-family: var(--numFF) !important;
  font-size: clamp(44px, 5.2vw, 56px) !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  margin-right: .06em !important;
}

/* ========== 3) カード（実体は inner-container を flex 化） ========== */
.p-shoplist-merit__card{
  margin-top: clamp(18px, 2.6vw, 32px) !important;
  padding: 0 !important;
}

.p-shoplist-merit__card > .wp-block-group__inner-container{
  display: flex !important;
  flex-direction: column !important;
  gap: var(--gapSP) !important;

  /* SP：左ソト番号の逃げ */
  padding-left: 65px !important;

  overflow: visible !important;
}

@media (min-width: 768px){
  .p-shoplist-merit__card > .wp-block-group__inner-container{
    flex-direction: row !important;
    gap: var(--gapPC) !important;

    justify-content: space-between !important;
    align-items: stretch !important;

    padding-left: 0 !important;
    width: 100% !important;
  }
}

/* ========== 4) アイテム ========== */
.p-shoplist-merit__item{
  position: relative !important;

  background: var(--bg) !important;
  border: var(--bdW) solid var(--bd) !important;
  border-radius: var(--radius) !important;

  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  margin: 0 !important;

  padding: 16px 18px 16px 88px !important;
}

@media (min-width: 768px){
  .p-shoplist-merit__item{
    flex: 0 0 calc((100% - (var(--gapPC) * 3)) / 4) !important;
    max-width: calc((100% - (var(--gapPC) * 3)) / 4) !important;

    padding: 32px 10px 24px !important;

    align-items: center !important;
    text-align: center !important;

    gap: 10px !important;
    min-width: 0 !important;
  }
}

/* ========== 5) 番号 ========== */
.p-shoplist-merit__num{
  font-family: var(--numFF) !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  line-height: 1 !important;
  margin: 0 !important;
}

@media (max-width: 767.98px){
  .p-shoplist-merit__num{
    position: absolute !important;
    left: -50px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 30px !important;
  }
}

@media (min-width: 768px){
  .p-shoplist-merit__num{
    position: absolute !important;
    top: -20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 36px !important;
  }
}

/* ========== 6) アイコン ========== */
.p-shoplist-merit__icon{
  margin:0 !important;
}

.p-shoplist-merit__icon img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin:10px auto !important;
}

@media (max-width: 767.98px){
  .p-shoplist-merit__icon{
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 46px !important;
  }
}

@media (min-width: 768px){
  .p-shoplist-merit__icon{
    position: static !important;
    transform: none !important;
    width: 56px !important;
    margin-top: 6px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ========== 7) テキスト ========== */
.p-shoplist-merit__text01,
.p-shoplist-merit__text02,
.p-shoplist-merit__note{
  margin: 0 !important;
  padding-left: 0 !important;
  color: var(--ink) !important;
}

.p-shoplist-merit__text01{
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.p-shoplist-merit__text02{
  margin-top: 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.p-shoplist-merit__text02>.--strong {
    color: var(--accent) !important;
}

.p-shoplist-merit__note{
  margin-top: 6px !important;
  font-size: 10px !important;
  color: #585d63 !important;
}

@media (min-width: 768px){
  .p-shoplist-merit__text01{ font-size: 14px !important; }
  .p-shoplist-merit__text02{
    font-size: 16px !important;
    margin-top: 0 !important;
  }
  .p-shoplist-merit__note{
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 8px !important;
    margin-top: 0 !important;
    text-align: center !important;
  }
}

/* ========== 8) 画像/figure の余白抑止 ========== */
.p-shoplist-merit figure.wp-block-image{
  margin-bottom: 0 !important;
}

.p-shoplist-merit img{
  vertical-align: middle !important;
}



/* =========================================
  LINE限定特典（ブログパーツ）
========================================= */
.p-shoplist-linebenefit{
  background: #fff9e7;
}

.p-shoplist-linebenefit .p-shoplist-linebenefit__inner{
  max-width: 1060px;
  margin: 0 auto;
  padding: 32px 16px;
}

.p-shoplist-linebenefit :where(.wp-block-group__inner-container){
  --wp--style--block-gap: 0px;
}

/* 見出し（SWELL）打ち消し */
.p-shoplist-linebenefit :where(.wp-block-heading){
  margin: 0 !important;
  padding: 0 !important;
}
.p-shoplist-linebenefit :where(.wp-block-heading)::before,
.p-shoplist-linebenefit :where(.wp-block-heading)::after{
  content: none !important;
  display: none !important;
}

/* =========================
  タイトル
========================= */
.p-shoplist-linebenefit__title{
  --icoW: 40px;
  --icoH: 36px;
  --icoGap: 10px;

  padding-top: calc(var(--icoH) + var(--icoGap)) !important;
  text-align: center;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: #187e87;

  background-image: url(/wp-content/uploads/icon_linebenefit01.png);
  background-repeat: no-repeat;
  background-size: var(--icoW) var(--icoH);
  background-position: center 0;
}

@media (min-width: 768px){
  .p-shoplist-linebenefit__title{
    --icoW: 31px;
    --icoH: 28px;
    --icoGap: 10px;

    font-size: 30px !important;
    line-height: 1.35 !important;
  }
}

.p-shoplist-linebenefit__read{
  margin-top: 10px;
  text-align: center;
  font-size: 12px;
  color: #585d63;
}

@media (min-width: 768px){
  .p-shoplist-linebenefit__read{
    font-size: 18px;
  }
}

/* =========================
  カード
========================= */
.p-shoplist-linebenefit__card{
  margin-top: 32px;
}

.p-shoplist-linebenefit__card > .wp-block-group__inner-container{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

@media (min-width: 768px){
  .p-shoplist-linebenefit__card > .wp-block-group__inner-container{
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
    max-width: none !important;
    margin: 0 !important;
    align-items: stretch;
  }
}

.p-shoplist-linebenefit__item{
  flex: 1;
  border: 2px solid #97710b;
  border-radius: 16px;
  overflow: hidden;
  background-color: #fff;
  display: flex;
  flex-direction: column;
}

.p-shoplist-linebenefit__item-body{
  flex: 1;
}

.p-shoplist-linebenefit__item.--item01{
  background: #fff url(/wp-content/uploads/bg_linebenefit01.png) no-repeat;
  background-size: 140%;
  background-position: right bottom;
}
.p-shoplist-linebenefit__item.--item02{
  background: #fff url(/wp-content/uploads/bg_linebenefit02.png) no-repeat;
  background-size: 140%;
  background-position: right bottom;
}
.p-shoplist-linebenefit__item.--item03{
  background: #fff url(/wp-content/uploads/bg_linebenefit03.png) no-repeat;
  background-size: 140%;
  background-position: right bottom;
}

@media (min-width: 768px){
  .p-shoplist-linebenefit__item.--item01,
  .p-shoplist-linebenefit__item.--item02,
  .p-shoplist-linebenefit__item.--item03{
    background-size: 100%;
  }
}

.p-shoplist-linebenefit__item-title{
  padding: 6px 10px !important;
  text-align: center;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #97710b;
  background: linear-gradient(
    90deg,
    #FEF7E2 0%,
    #FFEFE5 17.31%,
    #FEF7E2 38.46%,
    #FEF7E2 61.54%,
    #FFEFE5 100%
  );
}

.p-shoplist-linebenefit__item-body{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 114px;
  padding: 10px 16px;
  text-align: center;
}

.p-shoplist-linebenefit__item-body p{
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

.p-shoplist-linebenefit__item-body p .--strong{
  padding: 0 .2em;
  font-size: 26px;
  line-height: 1.2;
  color: #df0515;
}

.p-shoplist-linebenefit__item-body p:last-child{
  font-size: 10px;
  font-weight: 400;
  color: #585d63;
}

.p-shoplist-linebenefit__item.--item02 .p-shoplist-linebenefit__item-body p:last-child{
  font-size: 16px !important;
  font-weight: 600 !important;
  color: inherit !important;
}

.p-shoplist-linebenefit__item.--item03 .p-shoplist-linebenefit__item-body p:last-child{
  font-size: 16px !important;
  font-weight: 600 !important;
  color: inherit !important;
}

/* =========================
  規約（SWELL アコーディオン）
========================= */
.p-shoplist-linebenefit__terms{
  max-width: 732px;
  margin: 32px auto 0;
}

.p-shoplist-linebenefit__termstitle{
  border: 0 !important;
  border-radius: 16px !important;
  overflow: hidden;
}

.p-shoplist-linebenefit__termstitle > summary.swell-block-accordion__title{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 56px 14px 16px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #187e87;
  cursor: pointer;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

.p-shoplist-linebenefit__termstitle > summary.swell-block-accordion__title .swell-block-accordion__label{
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding:0 !important;
}

.p-shoplist-linebenefit__termstitle .swell-block-accordion__icon{
  display: none !important;
}

.p-shoplist-linebenefit__termstitle > summary.swell-block-accordion__title::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 16px;
  height: 2px;
  background: #fff;
  transform: translateY(-50%);
}

.p-shoplist-linebenefit__termstitle > summary.swell-block-accordion__title::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 29px;
  width: 2px;
  height: 16px;
  background: #fff;
  transform: translateY(-50%);
  transition: opacity .25s;
}

.p-shoplist-linebenefit__termstitle[open] > summary.swell-block-accordion__title{
  border-radius: 16px 16px 0 0;
}
.p-shoplist-linebenefit__termstitle[open] > summary.swell-block-accordion__title::after{
  opacity: 0;
}

.p-shoplist-linebenefit__termstitle > .swell-block-accordion__body{
  padding: 16px;
  background: #fff;
  border-radius: 0 0 16px 16px;
}

.p-shoplist-linebenefit__termsbody{
  padding: 0;
}

/* h4（SWELL font-size 打ち消しを追加） */
.p-shoplist-linebenefit__termsbody :where(h4.wp-block-heading){
  margin-top: 24px !important;
  padding-bottom: 3px !important;
  font-size: 16px !important; /* ← 追加：SWELLのfont-sizeを打ち消し */
  font-weight: 700 !important; /* ← 念のため */
  line-height: 1.4 !important; /* ← 念のため */
  color: #187e87;
  border-bottom: 1px solid #e9ebf5;
}
.p-shoplist-linebenefit__termsbody :where(h4.wp-block-heading):first-of-type{
  margin-top: 0 !important;
}

.p-shoplist-linebenefit__termsbody :where(ul.wp-block-list){
  margin: 16px 0 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  font-size: 14px;
}

.p-shoplist-linebenefit__termsbody :where(ul.wp-block-list li){
  position: relative;
  margin: 0 0 .5em;
  padding-left: 1em;
  line-height: 1.7;
}

.p-shoplist-linebenefit__termsbody :where(ul.wp-block-list li)::before{
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/* =========================
  PC：カード高さを固定
========================= */
@media (min-width: 768px){
  .p-shoplist-linebenefit{
    --lineBenefitCardH: 150px;
    --lineBenefitTitleH: 40px;
  }

  .p-shoplist-linebenefit__card > .wp-block-group__inner-container{
    align-items: stretch !important;
  }

  .p-shoplist-linebenefit__card > .wp-block-group__inner-container > .p-shoplist-linebenefit__item{
    min-height: var(--lineBenefitCardH) !important;
    height: var(--lineBenefitCardH) !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .p-shoplist-linebenefit__card > .wp-block-group__inner-container > .p-shoplist-linebenefit__item
  > .wp-block-group__inner-container{
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .p-shoplist-linebenefit__card > .wp-block-group__inner-container > .p-shoplist-linebenefit__item
  .p-shoplist-linebenefit__item-body{
    flex: 1 1 auto !important;
    min-height: calc(var(--lineBenefitCardH) - var(--lineBenefitTitleH)) !important;
  }
}
