
:root{
    counter-reset: terms;
    counter-increment: terms;
}

/**
 * ヘッダー
 */
.st-HeaderMenu_List.Title {
     margin-block-start: 1em;
}

 .st-HeaderMenu_List li.title {
    background: #865BD6;
    color: #fff;
    block-size: calc(30em / var(--em));
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding-inline: calc(10em / var(--em)) calc(9em / var(--em));
    align-items: center;
 }
 .st-HeaderMenu_List a.disabled {
    background-color: #E890E5;
 pointer-events: none;
 }
@media(min-width: 48em) {
    .st-FooterUnit_List a.disabled:not(.st-PC) {
    background-color: transparent;
 pointer-events: none;
    }
}
/**
 フッター
 */
.st-FooterUnit_List a.disabled {
    background-color: #E890E5;
 pointer-events: none;

}

/**
 * パンくず
 */
.st-TopicPath_List li+li:before {
    margin: 0 5px;
}

/* 共通 */
.st-TopicPath_List {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* SP：横スクロール */
@media (max-width: 767px) {
  .st-TopicPath_List {
    display: flex;
    flex-wrap: nowrap;              /* 折り返さない */
    overflow-x: auto;               /* 横スクロール */
    -webkit-overflow-scrolling: touch; /* iOS慣性スクロール */
    gap: 0.75em;
    padding-bottom: 0.5em;          /* スクロールバー被り防止 */
  }

  .st-TopicPath_List::-webkit-scrollbar {
    height: 4px;                    /* スクロールバー細く */
  }
  .st-TopicPath_List::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,.2);
    border-radius: 2px;
  }

  .st-TopicPath_List li {
    flex: 0 0 auto;                 /* 横に並べる */
    white-space: nowrap;            /* 折り返し防止 */
  }
}



/**
 * 一覧 カセット
 */
.store-ListUnit_Btns li:nth-child(2) a.disabled,
.store-ListUnit_Btns li:nth-child(3) a.disabled {
 background-color: #c7c7c7;
 pointer-events: none;
}

@media(min-width: 48em) {
    .store-ListUnitRelation_List {
        gap: 5px 20px;
    }
}

.store-ListUnit_Btns2 {
    --em: 13;
}
.store-ListUnit_List {
    grid-template-columns: repeat(3,1fr);
}
.store-ListUnitRelation_List {
    gap: 5px;
}
@media(min-width: 48em) {
    .store-ListUnit_Btns2 {
        --em: 14;
    }
    .store-ListUnit_List {
        grid-template-columns: repeat(5,1fr);
    }
}

/**
 * 詳細
 */
.ssin-Cta_Btns li:nth-child(2) a.disabled,
.ssin-Cta_Btns li:nth-child(3) a.disabled,
.ssin-Cta_Btns2 li:nth-child(1) a.disabled {
 background-color: #c7c7c7;
 pointer-events: none;
}
@media (min-width: 48em) {
    /*.ssin-Information_Chart ul {
        grid-template-columns: calc(100em / var(--em)) calc(12em / var(--em)) 1fr calc(12em / var(--em)) 1fr calc(12em / var(--em)) 1fr calc(12em / var(--em)) 1fr calc(12em / var(--em)) calc(100em / var(--em));
    }*/

    .ssin-Information_Chart li:first-child,
    .ssin-Information_Chart li:last-child {
        font-size: 80%;;
        /*width: 170%;*/
    }
    /*
    .ssin-Information_Chart li:first-child {
        padding-inline-end: calc(90em / var(--em));
    }*/
}

.ssin-Experience .store-Date_List li.is-closed a {
 background-color: #c7c7c7;
 background-image: none;
 pointer-events: none;

}
.ssin-Experience .store-Date_List li.is-closed a span {
    color: #a5a5a5;
}
.ssin-Experience .store-Date_List li.is-closed a span:first-child {
  background: #a5a5a5;
  color: #fff;
}
.store-Date_List li.is-closed span:last-child {
    color: #707070;
}

@media (min-width: 48em) {
    .ssin-Experience2_Inner.noimage {
        grid-template-columns: 1fr;
    }
}
.ssin-Method_List .ID li {
    background-color: #B295E8;
}
.ssin-Method_List .ID li.NG {
    background-color: #a5a5a5;
}
.ssin-Method_List .ID div+div dt {
    background-color: #B295E8;
}
.ssin-Method_List .ID div+div+div dt {
    background-color: #a5a5a5;
}

.ssin-SalaryUnit_List dt {
min-inline-size: calc(50em / var(--em));
}

@media (min-width: 48em) {
    .ssin-SalaryUnit_List dt {
min-inline-size: calc(149em / var(--em));
    }

}
.ssin-SalaryUnit_List dd {
    flex-grow: 1;
    justify-content: space-between;
}


  .ssin-Method_List .ID ul {
    gap: calc(8em / var(--em)); /* 少し詰める */
  }

  .ssin-Method_List .ID li {
    inline-size: calc(50% - calc(8em / var(--em))); /* 2列 */
    text-align: left;
  }


.ssin-Method_List .ID li.ng {
    background-color: #a5a5a5;
}
@media (min-width: 48em) {
    .ssin-Method_List .ID ul {
        --em: 11;
        --lh: 15;
        color: #fff;
        display: flex;
        flex-wrap: wrap;
        font-weight: 700;
        gap: calc(11em / var(--em));
        list-style-type: none;
        margin-block-start: calc(18em / var(--em));
        padding-inline-start: 0;
    }
    .ssin-Method_List .ID ul {
        --em: 12;
        --lh: 12;
        gap: calc(15em / var(--em)) calc(16em / var(--em));
        margin-block-start: 0;
    }
    .ssin-Method_List .ID li {
        border-radius: calc(8em / var(--em));
        inline-size: calc(96em / var(--em));
        padding-block: calc(5em / var(--em));
        padding-inline: calc(6em / var(--em) + 1.3em) calc(6em / var(--em));
        white-space: nowrap;
        text-indent: -1.3em;
    }
    .ssin-Method_List .ID li {
        inline-size: calc(170em / var(--em));
        padding-block: calc(12em / var(--em));
        padding-inline: calc(9em / var(--em) + 1.3em) calc(9em / var(--em));
    }
}
.ssin-CommitmentUnit_List {
    --em: 9;
}
.ssin-Information_Chart dt {
    --em: 9;
}
.ssin-Information_List dd {
    --em: 8;
}
@media(min-width: 48em) {

    .ssin-CommitmentUnit_List {
        --em: 10;
    }
    .ssin-Information_Chart dt {
        --em: 15;
    }
    .ssin-Information_List dd {
        --em: 16;
    }
}

.ssin-Experience2_Title {
    block-size: auto;
    padding: 5px 10px;
}
@media(min-width: 48em) {

    .ssin-Experience2_Title {
        --em: 20;
        block-size: calc(56em / var(--em));
        grid-column: span 2;
        inline-size: calc(363em / var(--em));
        width: auto;
        padding: 0 10px;
    }
}

/**
 * プライバシーポリシーページ
 */
#page-privacy-policy p {
    font-weight: normal;
    --lh: 28;
}
#page-privacy-policy .st-Page_Container ul {
    padding-left: 2em;
}
#page-privacy-policy .st-Page_Container ul li {
    margin-bottom: 0.8em;
    font-weight: normal;
    --lh: 28;
}

/**
 * 規約ページ
 */
#page-terms p {
    font-weight: normal;
    --lh: 28;
}
#page-terms .st-Page_Copy {
    text-align: left;
    line-height: calc(var(--lh) / var(--em));
    --lh: 28;
}

/** ：連番リスト */
#page-terms .st-Page_Container ul {
    list-style: none;
    padding-left: 0;
    counter-reset: terms;
}

#page-terms .st-Page_Container ul li {
    counter-increment: terms;
    padding-left: 2em;
    position: relative;
    margin-bottom: 0.8em;
    font-weight: normal;
    --lh: 28;
}

#page-terms .st-Page_Container ul li::before {
    content: counter(terms) ".";
    position: absolute;
    left: 0;
    top: 0;
}


/** 規約ページ：(1)(2)(3) 連番 */
#page-terms .st-Page_Container ul li > ul {
    list-style: none;
    padding-left: 0;
    counter-reset: terms;
    margin: 1.2em 0;
}

#page-terms .st-Page_Container ul li >  ul li {
    counter-increment: terms;
    padding-left: 2.5em; /* ()分ちょい広め */
    position: relative;
    margin-bottom: 0.8em;
    font-weight: normal;
}

#page-terms .st-Page_Container ul li >  ul li::before {
    content: "(" counter(terms) ")";
    position: absolute;
    left: 0;
    top: 0;
}



/**
 * LINE追加ポップアップ
 */
/* =========================
   LINE Popup (Modal) - Full CSS
   Theme: Purple
   ========================= */

:root {
  --purple:  #D65BD1;
  --purple2: #E890E5;
  --purple3: #865BD6;
  --purple4: #7C43E5;

  --line-modal-bg: #fdf7ff;
  --line-modal-text: #2b2b2b;
  --line-modal-muted: #666;
  --line-modal-shadow: rgba(124, 67, 229, 0.28);
  --line-modal-border: rgba(214, 91, 209, 0.25);
}

/* --- Modal root --- */
.line-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}
.line-modal.is-open{ display:block; }

/* --- Backdrop --- */
.line-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}

/* --- Dialog --- */
.line-modal__dialog{
  position:relative;
  width:min(520px, calc(100% - 28px));
  margin:8vh auto 0;
  border-radius:16px;
  overflow:hidden;
  background: var(--line-modal-bg);
  color: var(--line-modal-text);
  box-shadow: 0 14px 50px var(--line-modal-shadow);
  border:1px solid var(--line-modal-border);
}

/* --- Header --- */
.line-modal__head{
  padding:18px 16px;
  text-align:center;
  background-color: var(--purple3);
}
.line-modal__headTitle{
  color:#fff;
  font-size:18px;
  font-weight:900;
  line-height:1.35;
}

/* --- Body --- */
.line-modal__body{
  padding:18px 16px 22px;
}

/* --- Panel (pc/sp) --- */
.line-modal__panel[hidden]{ display:none !important; }

/* --- Content box --- */
.line-modal__box{
  background:#fff;
  border-radius:14px;
  padding:18px 14px;
  border:2px solid rgba(232, 144, 229, .55); /* purple2 */
  box-shadow: 0 10px 26px rgba(214, 91, 209, .08);
}

/* --- Title inside box --- */
.line-modal__boxTitle{
  text-align:center;
  font-weight:900;
  line-height:1.55;
  font-size:17px;
  color:#333;
}
.line-modal__boxTitle .accent{
  color: var(--purple4);
}

/* --- Hint text --- */
.line-modal__hint{
  margin-top:14px;
  font-size:13px;
  color: var(--line-modal-muted);
}

/* --- Copy row --- */
.line-modal__copyRow{
  display:flex;
  gap:8px;
  margin-top:8px;
}
.line-modal__copyInput{
  flex:1;
  padding:11px 10px;
  border-radius:12px;
  border:1px solid rgba(232,144,229,.75);
  background:#fff;
  color:#222;
}
.line-modal__copyInput:focus{
  outline:none;
  border-color: rgba(124,67,229,.9);
  box-shadow: 0 0 0 4px rgba(124,67,229,.15);
}

.line-modal__copyBtn{
  padding:11px 12px;
  border-radius:12px;
  border:1px solid rgba(232,144,229,.85);
  background:#fff;
  cursor:pointer;
  font-weight:900;
  color: var(--purple4);
  white-space:nowrap;
}
.line-modal__copyBtn:hover{
  background: rgba(232,144,229,.12);
}
.line-modal__copyBtn:active{
  transform: translateY(1px);
}
.line-modal__copyBtn:focus-visible{
  outline:3px solid rgba(232,144,229,.55);
  outline-offset:2px;
}

/* --- CTA button --- */
.line-modal__cta{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 14px;
  border-radius:14px;
    background: #5abe3d;
  color:#fff;
  font-weight:900;
  text-decoration:none;
  letter-spacing:.04em;
  box-shadow:0 14px 28px rgba(124,67,229,.22);
}
.line-modal__cta:hover{
  filter: brightness(1.03);
}
.line-modal__cta:active{
  transform: translateY(1px);
}
.line-modal__cta:focus-visible{
  outline:3px solid rgba(232,144,229,.55);
  outline-offset:3px;
}

/* --- QR (PC panel) --- */
.line-modal__qrWrap{
  display:flex;
  justify-content:center;
  margin-top:14px;
}
.line-modal__qr{
  width:220px;
  height:220px;
  object-fit:contain;
  border-radius:14px;
  border:2px solid rgba(232,144,229,.45);
  background:#fff;
}
.line-modal__small{
  margin-top:10px;
  font-size:12px;
  color: var(--line-modal-muted);
  text-align:center;
}

/* --- Close button --- */
.line-modal__close{
  position:absolute;
  right:12px;
  bottom:-56px;
  width:50px;
  height:50px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.95);
  background: linear-gradient(135deg, var(--purple), var(--purple4));
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}
.line-modal__close:hover{
  filter: brightness(1.03);
}
.line-modal__close:active{
  transform: translateY(1px);
}
.line-modal__close:focus-visible{
  outline:3px solid rgba(232,144,229,.55);
  outline-offset:3px;
}

/* --- Mobile tweaks --- */
@media (max-width: 767px){
  .line-modal__dialog{
    margin:10vh auto 0;
    width: calc(100% - 22px);
    border-radius:16px;
  }
  .line-modal__headTitle{
    font-size:17px;
  }
  .line-modal__boxTitle{
    font-size:16px;
  }
  .line-modal__qr{
    width:200px;
    height:200px;
  }
  .line-modal__close{
    bottom:-58px; /* 指が届きやすい */
  }
}

/* --- Reduce motion --- */
@media (prefers-reduced-motion: reduce){
  .line-modal__copyBtn:active,
  .line-modal__cta:active,
  .line-modal__close:active{
    transform:none;
  }
}



/**
 * フォームの確認画面
 */
/* ===== Apply Modal (pink/purple like screenshot) ===== */
:root{
  --apply-bg: #F6EAF2;      /* 淡ピンク */
  --apply-card: #F6EAF2;
  --apply-accent: #C46ECD;  /* パープル（スクショ寄り） */
  --apply-accent-dark: #9C4BB2;
  --apply-text: #3A3A3A;
  --apply-muted: #6B6B6B;

  --apply-field: #EAF0FB;   /* 淡ブルー（入力欄の塗り） */
  --apply-field-border: #D6DEEF;
  --apply-divider: rgba(0,0,0,.08);
}

.ssin-ApplyModal{
  border: 0;
  padding: 0;
  width: min(860px, calc(100% - 28px));
  background: transparent;
}

.ssin-ApplyModal::backdrop{
  background: rgba(0,0,0,.35);
}

.ssin-ApplyModal_Inner{
  position: relative;
  background: var(--apply-card);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  color: var(--apply-text);
}

.ssin-ApplyModal_Close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 10px;
  background: rgba(255,255,255,.65);
  color: var(--apply-accent-dark);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.ssin-ApplyModal_Title{
  margin: 0 0 16px;
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .02em;
  color: var(--apply-accent);

  background: #B295E8;
  color: #fff;
    padding: 26px 22px 18px;
}

/* 店舗名ブロック */
.ssin-ApplyModal_Shop{
  text-align: center;
  margin-bottom: 18px;
}

.ssin-ApplyModal_ShopName{
  margin: 0 0 8px;
  font-weight: 900;
  font-size: 26px;
  color: var(--apply-accent);
}

.ssin-ApplyModal_ShopName .Sub{
  display: inline-block;
  margin-left: 8px;
  font-size: 26px;
  font-weight: 800;
  color: var(--apply-accent);
}

.ssin-ApplyModal_Tags{
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: center;
}

.ssin-ApplyModal_Tags li{
  font-size: 14px;
  font-weight: 800;
  color: var(--apply-muted);
}

/* 確認リスト */
.ssin-ApplyModal_List{
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--apply-divider);
    padding: 26px 22px 18px;
}

.ssin-ApplyModal_List .row{
  padding: 18px 0;
  border-bottom: 1px solid var(--apply-divider);
  display: grid;
  gap: 10px;
}

.ssin-ApplyModal_List dt{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 900;
  color: var(--apply-muted);
}

/* 必須タグ（スクショの紫ピル） */
.ssin-ApplyModal_Req{
  display: inline-block;
  font-size: 12px;
  font-weight: 900;
  color: #fff;
  background: var(--apply-accent);
  border-radius: 999px;
  padding: 4px 10px;
  line-height: 1;
}

/* 値のボックス（入力欄風） */
.ssin-ApplyModal_List dd{
  margin: 0;
  border-radius: 4px;
  padding: 14px 16px;
  font-size: 18px;
  font-weight: 900;
  color: #111;
  word-break: break-word;
}

/* テキストエリア系の見え方 */
.ssin-ApplyModal_List dd.is-textarea{
  font-size: 16px;
  line-height: 1.8;
  font-weight: 800;
}

@media (min-width: 820px){
  .ssin-ApplyModal_List .row{
    grid-template-columns: 240px 1fr;
    align-items: start;
    gap: 14px;
  }
  .ssin-ApplyModal_List dt{
    justify-content: flex-start;
    padding-top: 10px;
  }
}

/* 下部の文言 */
.ssin-ApplyModal_Privacy{
  text-align: center;
  font-size: 12px;
  color: var(--apply-muted);
  margin: 14px 0 0;
}

.ssin-ApplyModal_Privacy a{
  color: var(--apply-accent-dark);
  text-decoration: underline;
}

/* エラー */
.ssin-ApplyModal_Error{
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255, 80, 80, .12);
  border: 1px solid rgba(255, 80, 80, .25);
  color: #a01b1b;
  white-space: pre-line;
  font-size: 13px;
}

/* ボタン */
.ssin-ApplyModal_Actions{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 18px;
    padding: 26px 22px 18px;
}

@media (min-width: 640px){
  .ssin-ApplyModal_Actions{
    grid-template-columns: 1fr 1fr;
  }
}

.ssin-ApplyModal_Back,
.ssin-ApplyModal_Send,
.ssin-ApplyModal_CloseBtn{
    text-align: center;
  border: 0;
  border-radius: 999px;
  padding: 14px 16px;
  font-weight: 900;
  cursor: pointer;
}

.ssin-ApplyModal_Back{
  background: #fff;
  color: var(--apply-accent-dark);
  box-shadow: 0 2px 0 rgba(0,0,0,.06);
}

.ssin-ApplyModal_Send{
  background: var(--apply-accent);
  color: #fff;
  box-shadow: 0 6px 14px rgba(196,110,205,.25);
}

.ssin-ApplyModal_Send:disabled{
  opacity: .65;
  cursor: not-allowed;
}

.ssin-ApplyModal_Note{
  margin: 10px 0 0;
  text-align: center;
  font-size: 12px;
  color: var(--apply-muted);
  padding: 20px;
}


