/* Private Range — policy */
.sd.s-c6437300 { background: #fff; border-radius: 0; box-shadow: ; height: 100%; margin: 0 0 0 0; opacity: 1; padding: 70px 0px 0px 0px; width: 100%; }
.sd.s-734cab65 { align-content: center; align-items: center; background: var(--s-color-21b2747f); flex: none; flex-direction: row; flex-wrap: nowrap; height: 70px; justify-content: space-between; left: 0; margin: 0 0 0 0; padding: 0px 0px 0px 24px; position: fixed; top: 0; width: 100%; }
.sd.s-c8ea4b60 { align-content: center; align-items: center; flex-direction: row; flex-wrap: nowrap; justify-content: center; padding: 0px; }
.sd.s-83e2d551 { flex: none; height: auto; width: 141px; }
.sd.s-32c8628b { align-content: center; align-items: center; background: rgba(0,0,0,0.0); display: none; flex: none; flex-direction: column; flex-wrap: nowrap; height: 100%; justify-content: center; margin: 0px 0px 0px 0px; width: 70px; }
.sd.s-a853a1e5 { color: rgba(255, 255, 255, 0.9); font-size: 24px; margin: 0px 0px 2px 0px; }
.sd.s-6a8b2452 { align-content: center; align-items: center; flex-direction: row; flex-wrap: nowrap; height: 100%; justify-content: center; padding: 0px; }
.sd.s-351fd06f:hover { background: rgba(255, 255, 255, 0.5); }
.sd.s-351fd06f { color: #FFFFFF; font-family: var(--s-font-749a7c8e); font-size: 12px; font-weight: 900; height: auto; line-height: 1.4; margin: 0px 24px 0px 0px; padding: 4px; text-align: center; width: auto; }
.sd.s-0cbf07f3:hover { background: rgba(255, 255, 255, 0.5); }
.sd.s-0cbf07f3 { color: #FFFFFF; font-family: var(--s-font-749a7c8e); font-size: 12px; font-weight: 900; height: auto; line-height: 1.4; margin: 0px 24px 0px 0px; padding: 4px; text-align: center; width: auto; }
.sd.s-6e3d40ef:hover { background: rgba(255, 255, 255, 0.5); }
.sd.s-6e3d40ef { color: #FFFFFF; font-family: var(--s-font-749a7c8e); font-size: 12px; font-weight: 900; height: auto; line-height: 1.4; margin: 0px 24px 0px 0px; padding: 4px; text-align: center; width: auto; }
.sd.s-5bb731f2:hover { background: rgba(255, 255, 255, 0.5); }
.sd.s-5bb731f2 { color: #FFFFFF; font-family: var(--s-font-749a7c8e); font-size: 12px; font-weight: 900; height: auto; line-height: 1.4; margin: 0px 24px 0px 0px; padding: 4px; text-align: center; width: auto; }
.sd.s-faa098c9:hover { background: #FFFFFF; }
.sd.s-faa098c9 { align-content: center; align-items: center; background: #000000; border-bottom: 0px solid #668baa; border-left: 0px solid #668baa; border-right: 0px solid #668baa; border-top: 0px solid #668baa; flex: none; flex-direction: column; flex-wrap: nowrap; height: 100%; justify-content: center; padding: 0px; width: 232px; }
.sd.s-faa098c9:hover .sd.s-29f5d889 { color: #333333; }
.sd.s-29f5d889 { color: #FFFFFF; font-family: var(--s-font-749a7c8e); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 900; height: auto; line-height: 1.1; margin: 0px 0px 0px 0px; text-align: center; width: auto; }
.sd.s-fb9ecc53:hover { background: #FFFFFF; }
.sd.s-fb9ecc53 { align-content: center; align-items: center; background: linear-gradient(149deg, #c83900, #f46e5a 35%, #b03300); flex: none; flex-direction: column; flex-wrap: nowrap; height: 100%; justify-content: center; padding: 0px; width: 232px; }
.sd.s-fb9ecc53:hover .sd.s-c0e8e399 { color: #333333; }
.sd.s-c0e8e399 { color: #FFFFFF; font-family: var(--s-font-749a7c8e); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 900; height: auto; line-height: 1.1; margin: 0px 0px 0px 0px; text-align: center; width: auto; }
.sd.s-b22c9c7b { align-content: center; align-items: center; flex-wrap: nowrap; justify-content: center; padding: 0px; width: 100%; }
.sd.s-4b137cf9::before { background-size: 190px; }
.sd.s-4b137cf9 { background: #333333; flex: none; flex-direction: row; flex-wrap: nowrap; height: 156px; justify-content: center; margin: 0px 0px 0px 0px; padding: 0px 16px 0px; width: 100%; }
.sd.s-ba808a5b { align-content: center; align-items: center; background: rgba(0,0,0,0.0); bottom: auto; flex: none; flex-direction: row; flex-wrap: nowrap; height: auto; justify-content: flex-start; left: 24px; margin: 0 0 0 0; position: absolute; right: auto; top: 24px; width: auto; }
.sd.s-65b53017 { color: #FFFFFF; font-family: var(--s-font-98976a98); font-size: 13px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 12px 0px 0px; text-align: center; width: auto; }
.sd.s-3813b7a3 { color: #FFFFFF; font-family: var(--s-font-98976a98); font-size: 13px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 12px 0px 0px; text-align: center; width: auto; }
.sd.s-8ec2ac92 { color: #FFFFFF; font-family: var(--s-font-98976a98); font-size: 13px; font-weight: 400; height: auto; line-height: 1.4; text-align: center; width: auto; }
.sd.s-5154f83b { color: #FFFFFF; font-family: var(--s-font-298bf6d2); font-feature-settings: 'palt' 1; font-size: 32px; font-weight: 400; height: auto; letter-spacing: 0.05em; line-height: 1.7; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; text-align: left; width: auto; }
.sd.s-a080332e::before { background-size: 190px; }
.sd.s-a080332e { align-content: center; align-items: center; background: linear-gradient(90deg, #EEEEEE, #e6e6e6); flex: none; height: auto; margin: 0px 0px 0px 0px; padding: 100px; width: 100%; }
.sd.s-58b47fae { align-content: flex-start; align-items: flex-start; background: rgba(0,0,0,0.0); border-radius: 0px; box-shadow: none; flex: none; flex-direction: column; flex-wrap: nowrap; height: auto; justify-content: center; margin: 0px 0px 0px; padding: 0px 0px 0px 0px; width: 800px; }
.sd.s-08934dfb { color: #333; flex: none; font-family: var(--s-font-98976a98); font-size: 14px; font-weight: 400; height: auto; line-height: 1.6; text-align: left; width: 968px; }
.sd.s-8471a8b7 { align-content: center; align-items: center; background: #333333; flex: none; flex-direction: column; flex-wrap: nowrap; height: auto; justify-content: flex-end; padding: 96px 0px 16px 0px; width: 100%; }
.sd.s-e7773ba7 { align-content: center; align-items: center; background: rgba(0,0,0,0.0); flex: none; flex-direction: row; flex-wrap: nowrap; height: auto; justify-content: flex-start; margin: 0px 20px 54px; width: 1200px; }
.sd.s-d8013af3 { align-content: flex-start; align-items: flex-start; background: rgba(0,0,0,0.0); border-bottom: 0px solid rgba(255, 255, 255, 0.35); border-left: 0px solid rgba(255, 255, 255, 0.35); border-right: 0px solid rgba(255, 255, 255, 0.35); border-top: 0px solid rgba(255, 255, 255, 0.35); flex: none; flex-direction: column; flex-wrap: nowrap; height: auto; justify-content: flex-start; margin: 0px 0px 0px 0px; padding: 0px 45px 0px 0px; width: auto; }
.sd.s-daa52b20 { align-content: flex-start; align-items: flex-start; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; padding: 0px; }
.sd.s-730e85b7 { color: rgba(255, 255, 255, 0.9); font-family: var(--s-font-5683b5c1); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 0px 16px 0px; text-align: left; width: auto; }
.sd.s-0b0f368e { color: rgba(255, 255, 255, 0.9); font-family: var(--s-font-5683b5c1); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 0px 16px 0px; text-align: left; width: auto; }
.sd.s-5f9b57e2 { color: rgba(255, 255, 255, 0.9); font-family: var(--s-font-5683b5c1); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 0px 16px 0px; text-align: left; width: auto; }
.sd.s-b2b5e1ee { color: rgba(255, 255, 255, 0.9); font-family: var(--s-font-5683b5c1); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 0px 16px 0px; text-align: left; width: auto; }
.sd.s-4d2d1a76 { color: rgba(255, 255, 255, 0.9); font-family: var(--s-font-5683b5c1); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 0px 16px 0px; text-align: left; width: auto; }
.sd.s-ccc72ab1 { color: rgba(255, 255, 255, 0.9); font-family: var(--s-font-5683b5c1); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 0px 16px 0px; text-align: left; width: auto; }
.sd.s-59215392 { color: rgba(255, 255, 255, 0.9); font-family: var(--s-font-5683b5c1); font-feature-settings: 'palt' 1; font-size: 14px; font-weight: 400; height: auto; line-height: 1.4; margin: 0px 0px 16px 0px; text-align: left; width: auto; }
.sd.s-77b786f5 { align-content: flex-start; align-items: flex-start; display: none; flex-direction: column; flex-wrap: nowrap; justify-content: center; padding: 0px; }
.sd.s-2dea92a7 { align-content: center; align-items: center; background: rgba(0,0,0,0.0); flex: none; flex-direction: row; flex-wrap: nowrap; height: auto; justify-content: center; margin: 0px 0px 0px 0px; width: auto; }
.sd.s-c74e0098 { background: rgba(255, 255, 255, 0.15); border-bottom: 0px solid #dfdfdf; border-left: 0px solid #dfdfdf; border-radius: 128px; border-right: 0px solid #dfdfdf; border-top: 0px solid #dfdfdf; color: #FFFFFF; flex: none; font-size: 18px; height: 40px; margin: 0px 16px 0px 0px; padding: 0px 0px 0px 0px; width: 40px; }
.sd.s-064726ad { background: rgba(255, 255, 255, 0.15); border-bottom: 0px solid #dfdfdf; border-left: 0px solid #dfdfdf; border-radius: 128px; border-right: 0px solid #dfdfdf; border-top: 0px solid #dfdfdf; color: #FFFFFF; flex: none; font-size: 18px; height: 40px; margin: 0px 16px 0px 0px; padding: 0px 0px 0px 0px; width: 40px; }
.sd.s-0f1f4307 { background: rgba(255, 255, 255, 0.15); border-bottom: 0px solid #dfdfdf; border-left: 0px solid #dfdfdf; border-radius: 128px; border-right: 0px solid #dfdfdf; border-top: 0px solid #dfdfdf; color: #FFFFFF; flex: none; font-size: 18px; height: 40px; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; width: 40px; }
.sd.s-2bb06279 { color: rgba(255, 255, 255, 0.5); font-family: var(--s-font-4cbb616c); font-size: 12px; font-weight: 400; height: auto; line-height: 1.4; text-align: center; width: auto; }

@media screen and (max-width: 840px) {
  .sd.s-734cab65 { padding: 0px 16px 0px; }
  .sd.s-32c8628b { background: rgba(0,0,0,0.0); border-radius: 2px; display: flex; flex: none; height: 50px; margin: 0 0 0 0; width: 50px; }
  .sd.s-a853a1e5 { color: #333333; }
  .sd.s-6a8b2452 { display: none; }
  .sd.s-4b137cf9 { padding: 0px 0px 0px 0px; }
  .sd.s-5154f83b { font-size: 32px; }
  .sd.s-58b47fae { flex: none; }
  .sd.s-8471a8b7 { flex: none; height: auto; }
  .sd.s-e7773ba7 { flex: none; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; width: 85%; }
  .sd.s-d8013af3 { border-bottom: 0px solid rgba(255, 255, 255, 0.35); border-left: 0px solid rgba(255, 255, 255, 0.35); border-right: 0px solid rgba(255, 255, 255, 0.35); border-top: 0px solid rgba(255, 255, 255, 0.35); flex: none; padding: 0px 0px 0px 0px; width: 141px; }
  .sd.s-77b786f5 { display: none; }
}

@media screen and (max-width: 416px) {
  .sd.s-c6437300 { padding: 56px 0px 0px 0px; }
  .sd.s-734cab65 { flex: none; height: 56px; }
  .sd.s-83e2d551 { display: none; flex: none; width: 180px; }
  .sd.s-32c8628b { display: flex; flex: none; height: 40px; margin: 0 0 0 0; padding: 0px 0px 0px 0px; width: 40px; }
  .sd.s-a853a1e5 { color: #FFFFFF; font-size: 24px; margin: 0px 0px 0px 0px; }
  .sd.s-6a8b2452 { display: none; }
  .sd.s-4b137cf9 { align-content: center; align-items: center; flex: none; flex-direction: column; flex-wrap: nowrap; height: 250px; justify-content: center; }
  .sd.s-ba808a5b { left: 13px; top: 13px; }
  .sd.s-65b53017 { font-size: 11px; }
  .sd.s-3813b7a3 { font-size: 11px; }
  .sd.s-8ec2ac92 { font-size: 11px; }
  .sd.s-5154f83b { font-feature-settings: 'palt' 1; font-size: 22px; text-orientation: mixed; writing-mode: horizontal-tb; }
  .sd.s-a080332e { align-content: center; align-items: center; flex: none; flex-direction: column; flex-wrap: nowrap; justify-content: center; padding: 30px; }
  .sd.s-58b47fae { flex: none; z-index: 1; }
  .sd.s-8471a8b7 { flex: none; height: auto; padding: 72px 0px 16px 0px; width: 100%; }
  .sd.s-e7773ba7 { flex: none; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; width: 100%; }
  .sd.s-d8013af3 { flex: none; margin: 0px 0px 32px 0px; width: auto; }
  .sd.s-730e85b7 { font-size: 14px; }
  .sd.s-0b0f368e { font-size: 14px; }
  .sd.s-5f9b57e2 { font-size: 14px; }
  .sd.s-b2b5e1ee { font-size: 14px; }
  .sd.s-4d2d1a76 { font-size: 14px; }
  .sd.s-ccc72ab1 { font-size: 14px; }
  .sd.s-59215392 { font-size: 14px; }
  .sd.s-77b786f5 { display: none; }
  .sd.s-c74e0098 { flex: none; font-size: 16px; height: 32px; width: 32px; }
  .sd.s-064726ad { flex: none; font-size: 16px; height: 32px; width: 32px; }
  .sd.s-0f1f4307 { flex: none; font-size: 16px; height: 32px; width: 32px; }
}

/* ハンバーガーメニュー（STUDIO のモーダルを再現） */
#modal-menu { background: rgba(0,0,0,0.16); align-items: flex-end; justify-content: flex-start; }
#modal-menu .modal-panel { display: flex; flex-direction: column; align-items: flex-start;
  background: #333; width: 100%; max-width: 420px; height: 100%; margin-left: auto;
  padding: 96px 32px; overflow-y: auto; box-shadow: 0 6px 15px rgba(0,0,0,0.2); }
#modal-menu .modal-nav { display: flex; flex-direction: column; gap: 20px; margin-bottom: 32px; }
#modal-menu .modal-nav a { color: rgba(255,255,255,0.9); font-family: var(--s-font-7886f450);
  font-size: 16px; font-weight: 700; line-height: 1.4; }
#modal-menu .modal-cta { display: flex; align-items: center; justify-content: center;
  width: 236px; height: 50px; margin-bottom: 15px; color: #fff;
  font-family: var(--s-font-7886f450); font-size: 15px; font-weight: 700; }
#modal-menu .modal-cta--web { background: var(--s-color-94a9badf); }
#modal-menu .modal-cta--line { background: var(--s-color-a88ae784); }
#modal-menu .modal-cta--tel { background: #fff; color: #333; }
#modal-menu .modal-close { position: fixed; top: 0; right: 0; width: 70px; height: 70px;
  display: flex; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; }
#modal-menu .modal-close .icon { color: rgba(255,255,255,0.9); font-size: 24px; }
@media screen and (max-width: 416px) {
  #modal-menu .modal-close { width: 56px; height: 56px; }
}

/* ── 追加ページ用（404 / thanks / trial）──────────────────────────
   STUDIO 由来の .text は display:flex / flex-direction:row のため、
   本文中に <a> を置くと横並びになってしまう。
   文章として普通に流したいブロックにはこの page-body を使う。 */
.sd.page-body{display:block;color:#333;flex:none;font-family:var(--s-font-98976a98);font-size:15px;font-weight:400;height:auto;line-height:2;text-align:left;width:968px;max-width:100%}
.sd.page-body a{color:#333;text-decoration:underline}
@media screen and (max-width:416px){.sd.page-body{font-size:14px;line-height:1.9}}
