{"id":32904,"date":"2026-08-04T14:56:05","date_gmt":"2026-08-04T05:56:05","guid":{"rendered":"https:\/\/www.cties.jp\/en\/?page_id=32904"},"modified":"2026-08-05T13:47:56","modified_gmt":"2026-08-05T04:47:56","slug":"ties-link","status":"publish","type":"page","link":"https:\/\/www.cties.jp\/en\/product\/ties-link\/","title":{"rendered":"TIES-LiNK"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull is-layout-flow wp-block-group-is-layout-flow\">\n<style data-wp-block-html=\"css\">\n:root {\n  --paper: #f5f2ea;\n  --paper-2: #ede9dd;\n  --ink: #17150f;\n  --ink-soft: #4d4a42;\n  --red: #c2272d;\n  --red-deep: #9e1f25;\n  --navy: #0e1a36;\n  --navy-soft: #1b2a4e;\n  --hairline: rgba(23, 21, 15, 0.16);\n  --hairline-light: rgba(245, 242, 234, 0.2);\n  --mincho: \"Shippori Mincho\", serif;\n  --gothic: \"Zen Kaku Gothic New\", sans-serif;\n  --mono: \"IBM Plex Mono\", monospace;\n}\n* { margin: 0; padding: 0; box-sizing: border-box; }\nhtml { scroll-behavior: smooth; }\nbody {\n  background: var(--paper);\n  color: var(--ink);\n  font-family: var(--gothic);\n  font-size: 16px;\n  line-height: 1.9;\n  -webkit-font-smoothing: antialiased;\n  overflow-x: hidden;\n}\nbody::before {\n  content: \"\";\n  position: fixed;\n  inset: 0;\n  pointer-events: none;\n  z-index: 9999;\n  opacity: 0.5;\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'\/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'\/%3E%3C\/filter%3E%3Crect width='160' height='160' filter='url(%23n)'\/%3E%3C\/svg%3E\");\n}\n::selection { background: var(--red); color: var(--paper); }\nimg { display: block; max-width: 100%; }\n\n.wrap { max-width: 1240px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); }\n\n\/* ---------- reveal ---------- *\/\n@media (prefers-reduced-motion: no-preference) {\n  .rv { opacity: 0; transform: translateY(28px); transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); }\n  .rv.in { opacity: 1; transform: none; }\n}\n\n\/* ---------- header ---------- *\/\nheader {\n  position: fixed;\n  top: 0; left: 0; right: 0;\n  z-index: 100;\n  border-bottom: 1px solid var(--hairline);\n  background: color-mix(in oklab, var(--paper) 88%, transparent);\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n}\n.nav {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 24px;\n  height: 64px;\n}\n.brand {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  text-decoration: none;\n  color: var(--ink);\n}\n.sun {\n  position: relative;\n  width: 18px;\n  height: 18px;\n  flex: none;\n}\n.sun i {\n  position: absolute;\n  border-radius: 50%;\n  background: var(--red);\n}\n.sun .c { width: 8px; height: 8px; left: 5px; top: 5px; }\n.sun .d { width: 3px; height: 3px; }\n.brand-mark {\n  font-family: var(--mono);\n  font-weight: 600;\n  font-size: 17px;\n  letter-spacing: 0.06em;\n}\n.brand-sub {\n  font-family: var(--mono);\n  font-size: 10px;\n  letter-spacing: 0.14em;\n  color: var(--ink-soft);\n}\n.nav-links {\n  display: flex;\n  align-items: center;\n  gap: clamp(16px, 2.5vw, 36px);\n}\n.nav-links a {\n  text-decoration: none;\n  color: var(--ink-soft);\n  font-size: 13px;\n  letter-spacing: 0.12em;\n  font-weight: 500;\n  transition: color 0.25s ease;\n}\n.nav-links a:hover { color: var(--red); }\n.nav-cta {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  background: var(--ink);\n  color: var(--paper) !important;\n  padding: 9px 20px;\n  font-size: 13px;\n  letter-spacing: 0.1em;\n  transition: background 0.25s ease;\n}\n.nav-cta:hover { background: var(--red); }\n@media (max-width: 760px) {\n  .nav-links a:not(.nav-cta) { display: none; }\n  .brand-sub { display: none; }\n}\n\n\/* ---------- hero ---------- *\/\n.hero {\n  position: relative;\n  padding: clamp(130px, 17vh, 210px) 0 clamp(64px, 9vh, 120px);\n  border-bottom: 1px solid var(--hairline);\n  overflow: hidden;\n}\n.hero-grid {\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: clamp(24px, 5vw, 80px);\n  align-items: end;\n}\n.hero-kicker {\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n  font-family: var(--mono);\n  font-size: clamp(10px, 1.2vw, 12px);\n  letter-spacing: 0.22em;\n  color: var(--navy);\n  margin-bottom: clamp(24px, 4vh, 44px);\n}\n.hero-kicker::before {\n  content: \"\";\n  width: 40px;\n  height: 1px;\n  background: var(--red);\n}\n.hero-kicker b { color: var(--red); font-weight: 600; }\n.kabe {\n  position: relative;\n  display: inline-block;\n  color: var(--navy);\n}\nsection h1 {\n    font-family: var(--mincho);\n    font-weight: 700;\n    font-size: clamp(40px, 7.6vw, 104px);\n    line-height: 1.28;\n    letter-spacing: 0.02em;\n    text-wrap: pretty;\n  }\n\/* \u58c1\u3092\u300c\u4e57\u308a\u8d8a\u3048\u308b\u300d\u8df3\u8e8d\u306e\u5f27 *\/\n.leap {\n  position: absolute;\n  left: -26%;\n  top: -58%;\n  width: 152%;\n  height: 118%;\n  overflow: visible;\n  pointer-events: none;\n}\n.leap .arc {\n  fill: none;\n  stroke: var(--red);\n  stroke-width: 3.4;\n  stroke-linecap: round;\n  stroke-dasharray: 100;\n  stroke-dashoffset: 100;\n  animation: leap-draw 1.05s cubic-bezier(0.5, 0, 0.15, 1) 1.1s forwards;\n}\n.leap .dot {\n  fill: var(--red);\n  opacity: 0;\n  animation: leap-dot-in 0.18s ease-out 1.1s forwards, leap-dot-out 0.3s ease-in 1.95s forwards;\n}\n@keyframes leap-draw { to { stroke-dashoffset: 0; } }\n@keyframes leap-dot-in { to { opacity: 1; } }\n@keyframes leap-dot-out { to { opacity: 0; } }\n@media (prefers-reduced-motion: reduce) {\n  .leap .arc { stroke-dashoffset: 0; animation: none; }\n  .leap .dot { display: none; }\n}\n.hero-lead {\n  max-width: 620px;\n  margin-top: clamp(28px, 4.5vh, 48px);\n  font-size: clamp(15px, 1.5vw, 17px);\n  line-height: 2.1;\n  color: var(--ink-soft);\n  text-wrap: pretty;\n}\n.hero-tate {\n  writing-mode: vertical-rl;\n  font-family: var(--mincho);\n  font-weight: 600;\n  font-size: clamp(13px, 1.4vw, 16px);\n  letter-spacing: 0.42em;\n  color: var(--ink-soft);\n  border-left: 1px solid var(--hairline);\n  padding-left: clamp(14px, 1.6vw, 24px);\n  height: clamp(220px, 30vh, 340px);\n  align-self: start;\n}\n.hero-tate b { color: var(--red); font-weight: 600; }\n@media (max-width: 760px) {\n  .hero-grid { grid-template-columns: 1fr; }\n  .hero-tate { display: none; }\n}\n.hero-actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 14px;\n  margin-top: clamp(32px, 5vh, 56px);\n}\n.btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  text-decoration: none;\n  font-size: 14px;\n  font-weight: 500;\n  letter-spacing: 0.12em;\n  padding: 15px 32px;\n  transition: all 0.3s ease;\n}\n.btn-fill { background: var(--red); color: var(--paper); }\n.btn-fill:hover { background: var(--navy); transform: translateY(-2px); }\n.btn-line { border: 1px solid var(--ink); color: var(--ink); }\n.btn-line:hover { border-color: var(--red); color: var(--red); transform: translateY(-2px); }\n.btn .ar { font-family: var(--mono); transition: transform 0.3s ease; }\n.btn:hover .ar { transform: translateX(4px); }\n\n\/* ---------- stats ---------- *\/\n.stats {\n  border-bottom: 1px solid var(--hairline);\n  background: var(--paper-2);\n}\n.stats-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n}\n.stat {\n  padding: clamp(32px, 5vh, 56px) clamp(16px, 3vw, 48px);\n  border-left: 1px solid var(--hairline);\n}\n.stat:first-child { border-left: none; }\n.stat-num {\n  font-family: var(--mincho);\n  font-weight: 800;\n  font-size: clamp(40px, 5.6vw, 76px);\n  line-height: 1.1;\n  color: var(--ink);\n}\n.stat-num em { font-style: normal; color: var(--red); font-size: 0.55em; }\n.stat-label {\n  margin-top: 8px;\n  font-size: clamp(11px, 1.3vw, 13px);\n  letter-spacing: 0.18em;\n  color: var(--ink-soft);\n}\n@media (max-width: 640px) {\n  .stat { padding: 24px 14px; }\n}\n\n\/* ---------- section heads ---------- *\/\n.sec { padding: clamp(80px, 13vh, 160px) 0; }\n.sec-head {\n  display: flex;\n  align-items: baseline;\n  gap: clamp(16px, 3vw, 40px);\n  margin-bottom: clamp(48px, 8vh, 96px);\n}\n.sec-no {\n  font-family: var(--mono);\n  font-size: clamp(11px, 1.2vw, 13px);\n  letter-spacing: 0.2em;\n  color: var(--red);\n  white-space: nowrap;\n}\n.sec-title {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(30px, 4.6vw, 56px);\n  letter-spacing: 0.04em;\n  line-height: 1.3;\n}\n.sec-title-en {\n  font-family: var(--mono);\n  font-size: clamp(10px, 1.1vw, 12px);\n  letter-spacing: 0.26em;\n  color: var(--ink-soft);\n  margin-left: auto;\n  white-space: nowrap;\n}\n@media (max-width: 640px) { .sec-title-en { display: none; } }\n\n\/* ---------- overview ---------- *\/\n.ov-top {\n  display: grid;\n  grid-template-columns: minmax(280px, 5fr) 7fr;\n  gap: clamp(32px, 5vw, 80px);\n  align-items: center;\n  margin-bottom: clamp(56px, 9vh, 108px);\n}\n.ov-label {\n  display: inline-flex;\n  align-items: center;\n  gap: 14px;\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: 0.2em;\n  color: var(--ink-soft);\n  margin-bottom: clamp(22px, 3.4vh, 36px);\n}\n.ov-label::before { content: \"\"; width: 36px; height: 1px; background: var(--ink); }\n.ov-label b { color: var(--red); font-weight: 600; letter-spacing: 0.24em; }\n.ov-title {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(30px, 4.4vw, 54px);\n  line-height: 1.4;\n  letter-spacing: 0.03em;\n  text-wrap: pretty;\n}\n.ov-lead {\n  margin-top: clamp(22px, 3.4vh, 34px);\n  max-width: 32em;\n  color: var(--ink-soft);\n  font-size: clamp(14px, 1.5vw, 16px);\n  line-height: 2.05;\n  text-wrap: pretty;\n}\n.ov-fig {\n  border: 1px solid var(--hairline);\n  background: #fff;\n  padding: clamp(16px, 2vw, 30px);\n  box-shadow: 0 22px 54px rgba(23, 21, 15, 0.09);\n}\n.ov-fig-slot {\n  aspect-ratio: 16 \/ 9;\n  display: grid;\n  place-items: center;\n  gap: 12px;\n  border: 1px dashed var(--hairline);\n  background:\n    repeating-linear-gradient(-45deg, rgba(23, 21, 15, 0.05) 0 9px, transparent 9px 18px),\n    var(--paper-2);\n}\n.ov-fig-slot .ico {\n  font-family: var(--mono);\n  font-size: clamp(20px, 3vw, 30px);\n  letter-spacing: 0.1em;\n  color: var(--red);\n}\n.ov-fig-slot .lbl {\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: 0.14em;\n  color: var(--ink-soft);\n  text-align: center;\n  padding: 0 16px;\n}\n.ov-fig-slot img { width: 100%; height: 100%; object-fit: contain; }\n.ov-fig-cap {\n  margin-top: 16px;\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: 0.1em;\n  color: var(--ink-soft);\n}\n.ov-fig-cap b { color: var(--red); font-weight: 500; }\n@media (max-width: 860px) { .ov-top { grid-template-columns: 1fr; } }\n\n.ov-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  column-gap: clamp(36px, 6vw, 100px);\n  row-gap: clamp(34px, 5vh, 54px);\n  border-top: 1px solid var(--hairline);\n  padding-top: clamp(42px, 6vh, 68px);\n}\n.ov-item-head {\n  display: flex;\n  align-items: baseline;\n  gap: 12px;\n  margin-bottom: 12px;\n}\n.ov-item-no {\n  font-family: var(--mono);\n  font-size: 12px;\n  font-weight: 500;\n  letter-spacing: 0.12em;\n  color: var(--red);\n}\n.ov-item-title {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(18px, 1.9vw, 22px);\n  letter-spacing: 0.04em;\n  line-height: 1.4;\n}\n.ov-item-body {\n  color: var(--ink-soft);\n  font-size: clamp(13px, 1.45vw, 15px);\n  line-height: 1.95;\n  text-wrap: pretty;\n}\n@media (max-width: 640px) { .ov-grid { grid-template-columns: 1fr; row-gap: 34px; } }\n\n\/* ---------- features showcase (dark) ---------- *\/\n.features {\n  background: var(--ink);\n  color: var(--paper);\n}\n.features .sec-title { color: var(--paper); }\n.features .sec-title-en { color: rgba(245, 242, 234, 0.5); }\n.show {\n  display: grid;\n  grid-template-columns: minmax(280px, 380px) 1fr;\n  gap: clamp(28px, 4vw, 64px);\n  align-items: start;\n}\n.show-tabs {\n  display: flex;\n  flex-direction: column;\n  border-top: 1px solid var(--hairline-light);\n}\n.show-tab {\n  display: grid;\n  grid-template-columns: 44px 1fr auto;\n  align-items: center;\n  gap: 12px;\n  width: 100%;\n  text-align: left;\n  background: none;\n  border: none;\n  border-bottom: 1px solid var(--hairline-light);\n  color: rgba(245, 242, 234, 0.55);\n  font-family: var(--gothic);\n  font-size: 15px;\n  font-weight: 500;\n  letter-spacing: 0.06em;\n  padding: 16px 12px 16px 4px;\n  cursor: pointer;\n  transition: color 0.25s ease, background 0.25s ease, padding-left 0.25s ease;\n}\n.show-tab .no {\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: 0.18em;\n  color: rgba(245, 242, 234, 0.35);\n  transition: color 0.25s ease;\n}\n.show-tab .ar { font-family: var(--mono); opacity: 0; transition: opacity 0.25s ease; }\n.show-tab:hover { color: var(--paper); }\n.show-tab[aria-selected=\"true\"] {\n  color: var(--paper);\n  background: linear-gradient(90deg, rgba(194, 39, 45, 0.18), transparent 70%);\n  padding-left: 12px;\n}\n.show-tab[aria-selected=\"true\"] .no { color: var(--red); }\n.show-tab[aria-selected=\"true\"] .ar { opacity: 1; color: var(--red); }\n.show-stage { min-width: 0; }\n.show-frame {\n  position: relative;\n  border: 1px solid var(--hairline-light);\n  background: var(--navy);\n  aspect-ratio: 16 \/ 11;\n  display: grid;\n  place-items: center;\n  overflow: hidden;\n}\n.show-frame img {\n  max-width: 92%;\n  max-height: 88%;\n  object-fit: contain;\n  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);\n  opacity: 1;\n  transition: opacity 0.35s ease, transform 0.35s ease;\n}\n.show-frame.swap img { opacity: 0; transform: translateY(10px); }\n.show-cap {\n  display: grid;\n  grid-template-columns: auto 1fr;\n  gap: clamp(14px, 2vw, 28px);\n  align-items: baseline;\n  padding: 22px 4px 0;\n}\n.show-cap-title {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(18px, 2vw, 23px);\n  letter-spacing: 0.04em;\n  white-space: nowrap;\n}\n.show-cap-body {\n  font-size: 14px;\n  line-height: 1.95;\n  color: rgba(245, 242, 234, 0.68);\n  text-wrap: pretty;\n}\n@media (max-width: 900px) {\n  .show { grid-template-columns: 1fr; }\n  .show-tabs {\n    flex-direction: row;\n    overflow-x: auto;\n    border-top: none;\n    border-bottom: 1px solid var(--hairline-light);\n    gap: 4px;\n    scrollbar-width: none;\n  }\n  .show-tabs::-webkit-scrollbar { display: none; }\n  .show-tab {\n    grid-template-columns: auto auto;\n    border-bottom: 2px solid transparent;\n    white-space: nowrap;\n    padding: 10px 14px;\n    flex: none;\n  }\n  .show-tab .ar { display: none; }\n  .show-tab[aria-selected=\"true\"] { background: none; border-bottom-color: var(--red); padding-left: 14px; }\n  .show-cap { grid-template-columns: 1fr; gap: 6px; }\n}\n\n\/* ---------- architecture ---------- *\/\n.arch { background: var(--paper-2); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }\n.arch-fig {\n  border: 1px solid var(--hairline);\n  background: #fff;\n  padding: clamp(12px, 2vw, 28px);\n  box-shadow: 0 20px 50px rgba(23, 21, 15, 0.08);\n}\n.arch-fig img { width: 100%; }\n.arch-note {\n  margin-top: 24px;\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px 28px;\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: 0.1em;\n  color: var(--ink-soft);\n}\n.arch-note span { display: inline-flex; align-items: center; gap: 8px; }\n.arch-note i { width: 10px; height: 10px; flex: none; }\n.arch-note .sw-red { background: var(--red); }\n.arch-note .sw-navy { background: var(--navy); }\n\n\/* ---------- oss table ---------- *\/\n#oss { background: var(--paper-2); border-bottom: 1px solid var(--hairline); }\n.oss-panel {\n  border: 1px solid var(--hairline);\n  border-radius: 10px;\n  background: color-mix(in oklab, var(--paper) 60%, #fff);\n  overflow: hidden;\n}\n.oss-bar {\n  display: flex;\n  align-items: baseline;\n  flex-wrap: wrap;\n  gap: 8px 18px;\n  padding: clamp(20px, 2.6vw, 28px) clamp(20px, 3vw, 40px);\n  border-bottom: 1px solid var(--hairline);\n}\n.oss-tag {\n  font-family: var(--mono);\n  font-size: 12px;\n  font-weight: 500;\n  letter-spacing: 0.18em;\n  color: var(--red);\n  white-space: nowrap;\n}\n.oss-bar h3 {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(16px, 1.8vw, 20px);\n  letter-spacing: 0.05em;\n}\n.oss-bar p {\n  color: var(--ink-soft);\n  font-size: clamp(12px, 1.3vw, 13.5px);\n  line-height: 1.7;\n}\n.oss-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }\n.oss-table {\n  width: 100%;\n  min-width: 760px;\n  border-collapse: collapse;\n  font-size: 15px;\n}\n.oss-table thead th {\n  text-align: left;\n  font-family: var(--mono);\n  font-weight: 500;\n  font-size: 11px;\n  letter-spacing: 0.16em;\n  color: var(--ink-soft);\n  padding: 14px clamp(16px, 2vw, 28px);\n  background: color-mix(in oklab, var(--paper-2) 70%, #fff);\n  border-bottom: 1px solid var(--hairline);\n  white-space: nowrap;\n}\n.oss-table td {\n  padding: clamp(18px, 2.2vh, 26px) clamp(16px, 2vw, 28px);\n  vertical-align: middle;\n  border-top: 1px dashed var(--hairline);\n}\n.oss-table tr.grp td { border-top: 1px solid var(--hairline); }\n.oss-table tbody tr:first-child td { border-top: none; }\n.oss-cat {\n  border-right: 1px solid var(--hairline);\n  background: color-mix(in oklab, var(--paper-2) 45%, #fff);\n  white-space: nowrap;\n  vertical-align: top;\n}\n.oss-cat .name {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(16px, 1.7vw, 19px);\n  letter-spacing: 0.03em;\n}\n.oss-cat .en {\n  margin-top: 4px;\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: 0.1em;\n  color: var(--ink-soft);\n}\n.oss-org { color: var(--ink-soft); font-size: clamp(13px, 1.4vw, 15px); white-space: nowrap; }\n.oss-brand {\n  border-left: 3px solid var(--red);\n  padding-left: 14px;\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(15px, 1.6vw, 18px);\n  letter-spacing: 0.02em;\n}\n.oss-repo-cell { text-align: right; white-space: nowrap; }\n.gh-btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  border: 1px solid var(--hairline);\n  border-radius: 8px;\n  background: #fff;\n  color: var(--red);\n  font-family: var(--mono);\n  font-size: 12px;\n  font-weight: 500;\n  letter-spacing: 0.06em;\n  padding: 9px 16px;\n  text-decoration: none;\n  transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;\n}\n.gh-btn svg { width: 15px; height: 15px; fill: currentColor; flex: none; }\n.gh-btn:hover { background: var(--red); color: #fff; border-color: var(--red); transform: translateY(-1px); }\n.oss-note {\n  margin-top: 28px;\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: 0.1em;\n  color: var(--ink-soft);\n}\n.oss-note b { color: var(--red); font-weight: 500; }\n\n\/* ---------- case ---------- *\/\n.case-card {\n  display: grid;\n  grid-template-columns: 0.92fr 1.08fr;\n  border: 1px solid var(--hairline);\n  background: #fff;\n  overflow: hidden;\n}\n.case-left {\n  position: relative;\n  overflow: hidden;\n  background: var(--navy);\n  color: var(--paper);\n  padding: clamp(30px, 4vw, 56px);\n  display: flex;\n  flex-direction: column;\n}\n.case-left::after {\n  content: \"\";\n  position: absolute;\n  right: -18%;\n  bottom: -30%;\n  width: 62%;\n  height: 78%;\n  background: radial-gradient(circle, rgba(194, 39, 45, 0.42), transparent 68%);\n  pointer-events: none;\n}\n.case-eyebrow {\n  position: relative;\n  z-index: 1;\n  font-family: var(--gothic);\n  font-weight: 700;\n  font-size: clamp(11px, 1.2vw, 12.5px);\n  letter-spacing: 0.12em;\n  color: #ff9ea2;\n  margin-bottom: clamp(22px, 4vh, 40px);\n}\n.case-eyebrow .x { color: rgba(245, 242, 234, 0.5); margin: 0 8px; font-weight: 400; }\n.case-name {\n  position: relative;\n  z-index: 1;\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(30px, 3.6vw, 48px);\n  letter-spacing: 0.02em;\n  line-height: 1.15;\n}\n.case-tagline {\n  position: relative;\n  z-index: 1;\n  margin-top: 14px;\n  font-size: clamp(13px, 1.4vw, 15px);\n  letter-spacing: 0.04em;\n  color: rgba(245, 242, 234, 0.8);\n}\n.case-chips {\n  position: relative;\n  z-index: 1;\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: auto;\n  padding-top: clamp(32px, 6vh, 64px);\n}\n.case-chip {\n  border: 1px solid var(--hairline-light);\n  color: rgba(245, 242, 234, 0.82);\n  font-size: 12px;\n  letter-spacing: 0.06em;\n  padding: 7px 14px;\n}\n.case-right {\n  padding: clamp(30px, 4vw, 56px);\n  display: flex;\n  flex-direction: column;\n}\n.case-rh {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(17px, 1.9vw, 22px);\n  letter-spacing: 0.03em;\n  line-height: 1.5;\n}\n.case-rbody {\n  margin-top: 18px;\n  color: var(--ink-soft);\n  font-size: clamp(14px, 1.5vw, 15.5px);\n  line-height: 2.0;\n  text-wrap: pretty;\n}\n.case-tags {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: clamp(22px, 3.4vh, 30px);\n}\n.case-tag {\n  border: 1px solid var(--hairline);\n  background: var(--paper);\n  color: var(--ink-soft);\n  font-size: 12.5px;\n  letter-spacing: 0.04em;\n  padding: 8px 14px;\n}\n.case-divider {\n  height: 1px;\n  background: var(--hairline);\n  margin: clamp(24px, 3.4vh, 30px) 0;\n}\n.case-visit {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  align-self: flex-start;\n  color: var(--red);\n  text-decoration: none;\n  font-weight: 700;\n  font-size: clamp(14px, 1.5vw, 15px);\n  letter-spacing: 0.02em;\n  transition: gap 0.3s ease, color 0.3s ease;\n}\n.case-visit .ar { font-family: var(--mono); }\n.case-visit:hover { gap: 16px; color: var(--red-deep); }\n@media (max-width: 760px) {\n  .case-card { grid-template-columns: 1fr; }\n}\n\n\/* ---------- contact ---------- *\/\n.contact {\n  background: var(--ink);\n  color: var(--paper);\n  text-align: center;\n  padding: clamp(90px, 16vh, 180px) 0;\n}\n.contact-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 16px;\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: 0.3em;\n  color: #ff9ea2;\n  margin-bottom: clamp(24px, 4vh, 40px);\n}\n.contact-eyebrow::before,\n.contact-eyebrow::after {\n  content: \"\";\n  width: 44px;\n  height: 1px;\n  background: rgba(245, 242, 234, 0.28);\n}\n.contact-title {\n  font-family: var(--mincho);\n  font-weight: 700;\n  font-size: clamp(32px, 5.4vw, 64px);\n  letter-spacing: 0.06em;\n  line-height: 1.4;\n  color: var(--paper);\n}\n.contact-sub {\n  margin: 22px auto 0;\n  max-width: 30em;\n  color: rgba(245, 242, 234, 0.7);\n  font-size: clamp(14px, 1.5vw, 16px);\n  line-height: 2.0;\n  text-wrap: pretty;\n}\n.contact-actions {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  align-items: center;\n  gap: clamp(16px, 3vw, 36px);\n  margin-top: clamp(40px, 6vh, 56px);\n}\n.contact-actions .btn-fill { padding: 18px 40px; font-size: 15px; }\n.contact-ghost {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  color: var(--paper);\n  text-decoration: none;\n  font-size: 14px;\n  font-weight: 500;\n  letter-spacing: 0.08em;\n  border-bottom: 1px solid rgba(245, 242, 234, 0.4);\n  padding-bottom: 5px;\n  transition: color 0.25s ease, border-color 0.25s ease;\n}\n.contact-ghost:hover { color: #ff9ea2; border-color: #ff9ea2; }\n\n\/* ---------- footer ---------- *\/\nfooter {\n  background: var(--ink);\n  color: rgba(245, 242, 234, 0.62);\n}\n.foot-grid {\n  display: grid;\n  grid-template-columns: 1.7fr 1fr 1fr 1fr;\n  gap: clamp(32px, 5vw, 72px);\n  padding: clamp(56px, 9vh, 92px) 0 clamp(40px, 6vh, 58px);\n}\n.foot-logo { height: 44px; width: auto; margin-bottom: 24px; }\n.foot-desc {\n  font-size: 13px;\n  line-height: 2.0;\n  color: rgba(245, 242, 234, 0.58);\n  max-width: 30em;\n  text-wrap: pretty;\n}\n.foot-col { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }\n.foot-h {\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: 0.2em;\n  color: rgba(245, 242, 234, 0.9);\n  margin-bottom: 8px;\n}\n.foot-col a {\n  color: rgba(245, 242, 234, 0.62);\n  text-decoration: none;\n  font-size: 14px;\n  letter-spacing: 0.04em;\n  transition: color 0.25s ease;\n}\n.foot-col a:hover { color: #ff9ea2; }\n.foot-bottom {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  align-items: center;\n  gap: 16px;\n  padding: 24px 0;\n  border-top: 1px solid var(--hairline-light);\n  font-size: 12px;\n  letter-spacing: 0.06em;\n  color: rgba(245, 242, 234, 0.5);\n}\n.foot-mono { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; }\n.foot-bottom a { color: rgba(245, 242, 234, 0.5); text-decoration: none; border-bottom: 1px solid var(--hairline-light); transition: color 0.25s ease; }\n.foot-bottom a:hover { color: #ff9ea2; }\n@media (max-width: 760px) { .foot-grid { grid-template-columns: 1fr 1fr; row-gap: 40px; } }\n@media (max-width: 460px) { .foot-grid { grid-template-columns: 1fr; } }\n<\/style>\n\n<script data-wp-block-html=\"js\">\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n\n    \/* reveal on scroll *\/\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (e) {\n        if (e.isIntersecting) {\n          e.target.classList.add(\"in\");\n          io.unobserve(e.target);\n        }\n      });\n    }, { threshold: 0.12, rootMargin: \"0px 0px -40px 0px\" });\n    document.querySelectorAll(\".rv\").forEach(function (el) { io.observe(el); });\n  \n\/* features showcase *\/\nvar FEATURES = [\n    { no: \"01\", title: \"Authentication \/ SSO\", body: \"Seamless login via GakuNin and Orthros. Supports attribute federation and consent management.\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-login.png\" },\n    { no: \"02\", title: \"Cross-University Search\", body: \"Discover and earn badges issued across multiple universities. Filter by provider, category, and teacher-training indicators.\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-courses.png\" },\n    { no: \"03\", title: \"Video Learning Materials\", body: \"Lecture videos viewable by topic. Viewing history is recorded automatically, so learners can resume where they left off.\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-video.png\" },\n    { no: \"04\", title: \"Automatic Generation\", body: \"Reads aloud the notes section of slides to automatically generate narrated videos with synthesized speech (CHiLO-Speech).\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-chilospeech.png\" },\n    { no: \"05\", title: \"Badge Issuance\", body: \"Earns a stamp on section completion, and issues a digital badge compliant with 1EdTech Open Badges 3.0 on course completion.\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-stamps.png\" },\n    { no: \"06\", title: \"Wallet\", body: \"Automatically stores earned badges. Progress, submission history, and submissions to institutions are all managed on a single screen.\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-dashboard.png\" },\n    { no: \"07\", title: \"Learning Analytics\", body: \"Visualizes the subject-area composition of earned badges with a radar chart. A reflection field supports self-review.\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-analytics.png\" },\n    { no: \"08\", title: \"Receiving Portal\", body: \"The Cabinet handles everything end-to-end, from automatic authenticity verification to CSV export for academic affairs systems.\", img: \"\/wp\/wp-content\/uploads\/2026\/08\/img-cabinet.png\" }\n  ];\n    var tabsEl = document.querySelector(\".show-tabs\");\n    var frameEl = document.querySelector(\".show-frame\");\n    var imgEl = document.getElementById(\"show-img\");\n    var titleEl = document.getElementById(\"show-title\");\n    var bodyEl = document.getElementById(\"show-body\");\n    var current = 0;\n  \n    FEATURES.forEach(function (f, i) {\n      var b = document.createElement(\"button\");\n      b.className = \"show-tab\";\n      b.setAttribute(\"role\", \"tab\");\n      b.setAttribute(\"aria-selected\", i === 0 ? \"true\" : \"false\");\n      b.innerHTML = '<span class=\"no\">' + f.no + '<\/span><span>' + f.title + '<\/span><span class=\"ar\">\u2192<\/span>';\n      b.addEventListener(\"click\", function () { select(i); });\n      tabsEl.appendChild(b);\n      \/* preload *\/\n      var pre = new Image();\n      pre.src = f.img;\n    });\n  \n    function select(i) {\n      if (i === current) return;\n      current = i;\n      var f = FEATURES[i];\n      tabsEl.querySelectorAll(\".show-tab\").forEach(function (t, j) {\n        t.setAttribute(\"aria-selected\", j === i ? \"true\" : \"false\");\n      });\n      frameEl.classList.add(\"swap\");\n      setTimeout(function () {\n        imgEl.src = f.img;\n        imgEl.alt = f.title + \" \u306e\u753b\u9762\";\n        titleEl.textContent = f.title;\n        bodyEl.textContent = f.body;\n        imgEl.onload = function () { frameEl.classList.remove(\"swap\"); };\n      }, 280);\n    }\n  })();\n<\/script>\n\n<section class=\"hero\" id=\"top\" data-screen-label=\"Hero\">\n  <div class=\"wrap hero-grid\">\n    <div>\n      <p class=\"hero-kicker\"><b>TIES LiNK<\/b> \u2014 OPEN SOURCE EDUCATION PLATFORM<\/p>\n      <h1>Crossing the <span class=\"kabe\">walls<svg class=\"leap\" viewBox=\"0 0 100 62\" aria-hidden=\"true\"><path class=\"arc\" pathLength=\"100\" d=\"M4 58 Q50 -20 96 58\"><\/path><circle class=\"dot\" r=\"3.6\"><animateMotion dur=\"1.05s\" begin=\"1.1s\" fill=\"freeze\" calcMode=\"spline\" keyPoints=\"0;1\" keyTimes=\"0;1\" keySplines=\"0.5 0 0.15 1\" path=\"M4 58 Q50 -20 96 58\"><\/animateMotion><\/circle><\/svg><\/span> between universities,<br>to connect learning.<\/h1>\n      <p class=\"hero-lead\">TIES LiNK is an open-source education collaboration platform that connects Moodle systems across multiple universities, providing video learning materials, digital badges, wallets, and cabinets in a single integrated system.<\/p>\n      <div class=\"hero-actions\">\n        <a class=\"btn btn-fill\" href=\"#features\">View Features <span class=\"ar\">\u2192<\/span><\/a>\n        <a class=\"btn btn-line\" href=\"#case\">Case Studies <span class=\"ar\">\u2192<\/span><\/a>\n      <\/div>\n    <\/div>\n    <p class=\"hero-tate\">Learning is not confined to <b>one<\/b> university.<\/p>\n  <\/div>\n<\/section>\n\n<section class=\"stats\">\n  <div class=\"wrap stats-grid\">\n    <div class=\"stat rv\">\n      <p class=\"stat-num\">8<em>+<\/em><\/p>\n      <p class=\"stat-label\">Core Features<\/p>\n    <\/div>\n    <div class=\"stat rv\">\n      <p class=\"stat-num\">2<em>Universities<\/em><\/p>\n      <p class=\"stat-label\">Jointly Operated<\/p>\n    <\/div>\n    <div class=\"stat rv\">\n      <p class=\"stat-num\">100<em>%<\/em><\/p>\n      <p class=\"stat-label\">Open Source<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"sec\" id=\"overview\" data-screen-label=\"Overview &#038; 4 Strengths\">\n  <div class=\"wrap\">\n    <div class=\"ov-top\">\n      <div class=\"rv\">\n        <p class=\"ov-label\"><b>\u00a701<\/b> OVERVIEW<\/p>\n        <h2 class=\"ov-title\">Learning across universities,<br>on a single platform.<\/h2>\n        <p class=\"ov-lead\">TIES LiNK connects Moodle systems independently operated by multiple universities, certifying learning outcomes with internationally standardized Open Badges. Built on an open platform free from vendor lock-in, it realizes a sustainable education ecosystem.<\/p>\n      <\/div>\n      <figure class=\"ov-fig rv\">\n        <div class=\"ov-fig-slot\">\n          <img decoding=\"async\" src=\"\/wp\/wp-content\/uploads\/2026\/08\/img-platform-1.png\"\n          alt=\"TIES LiNK system architecture diagram\">\n        <\/div>\n        <figcaption class=\"ov-fig-cap\"><b>FIG. 01<\/b> \/ TIES LiNK System Overview<\/figcaption>\n      <\/figure>\n    <\/div>\n    <div class=\"ov-grid\">\n      <div class=\"ov-item rv\">\n        <div class=\"ov-item-head\"><span class=\"ov-item-no\">01<\/span><h3 class=\"ov-item-title\">Cross-University Course Discovery<\/h3><\/div>\n        <p class=\"ov-item-body\">Lists courses offered on Moodle across multiple universities, with filtering by teacher-training indicators, category, and provider.<\/p>\n      <\/div>\n      <div class=\"ov-item rv\">\n        <div class=\"ov-item-head\"><span class=\"ov-item-no\">02<\/span><h3 class=\"ov-item-title\">Standards-Compliant Certification<\/h3><\/div>\n        <p class=\"ov-item-body\">Certifies learning outcomes across institutions with tamper-proof digital badges compliant with 1EdTech Open Badges 3.0.<\/p>\n      <\/div>\n      <div class=\"ov-item rv\">\n        <div class=\"ov-item-head\"><span class=\"ov-item-no\">03<\/span><h3 class=\"ov-item-title\">Learner-Centered Wallet<\/h3><\/div>\n        <p class=\"ov-item-body\">Earned badges are managed by learners themselves, allowing them to be used as a portfolio beyond their home institution.<\/p>\n      <\/div>\n      <div class=\"ov-item rv\">\n        <div class=\"ov-item-head\"><span class=\"ov-item-no\">04<\/span><h3 class=\"ov-item-title\">Direct Integration with Receiving Institutions<\/h3><\/div>\n        <p class=\"ov-item-body\">The Cabinet automatically verifies authenticity and exports to CSV for academic affairs systems, greatly reducing the administrative workload of training certification.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"sec features\" id=\"features\" data-screen-label=\"8 Features\">\n  <div class=\"wrap\">\n    <div class=\"rv\" style=\"margin-bottom: clamp(40px, 6vh, 72px);\">\n      <p class=\"ov-label\"><b>\u00a702<\/b><span style=\"color: white;\"> OVERVIEW<\/span><\/p>\n      <h2 class=\"ov-title\" style=\"color: white;\">8 Core Features<\/h2>\n      <span class=\"ov-lead\" style=\"color: white;\">CORE FEATURES \u2014 See the Actual Screens<\/span>\n  <\/div>\n    <div class=\"show rv\">\n      <div class=\"show-tabs\" role=\"tablist\" aria-label=\"Feature list\"><\/div>\n      <div class=\"show-stage\">\n        <div class=\"show-frame\">\n          <img decoding=\"async\" id=\"show-img\" src=\"\/wp\/wp-content\/uploads\/2026\/08\/img-login.png\" alt=\"Feature screenshot\"><\/img>\n        <\/div>\n        <div class=\"show-cap\">\n          <h3 class=\"show-cap-title\" id=\"show-title\">Authentication \/ SSO<\/h3>\n          <p class=\"show-cap-body\" id=\"show-body\">Log in seamlessly via GakuNin and Orthros. Supports attribute federation and consent management.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"sec\" id=\"oss\" data-screen-label=\"OSS Components\">\n  <div class=\"wrap\">\n    <div class=\"rv\" style=\"margin-bottom: clamp(40px, 6vh, 72px);\">\n      <p class=\"ov-label\"><b>\u00a703<\/b>  Architecture &#038; OSS<\/p>\n      <h2 class=\"ov-title\">OSS Components<\/h2>\n      <span class=\"ov-lead\">OPEN SOURCE STACK<\/span>\n    <\/div>\n    <div class=\"oss-panel rv\">\n      <div class=\"oss-bar\">\n        <h3>OSS and Contributing Institutions<\/h3>\n        <p>Even within the same OSS category, some components are provided under different brand names depending on the contributing institution.<\/p>\n      <\/div>\n      <div class=\"oss-scroll\">\n        <table class=\"oss-table\">\n          <thead>\n            <tr>\n              <th>OSS Type<\/th>\n              <th>Contributing Institution<\/th>\n              <th>Brand Name<\/th>\n              <th>Repository<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr class=\"grp\">\n              <td class=\"oss-cat\" rowspan=\"3\">\n                <div class=\"name\">Video Management System<\/div>\n                <div class=\"en\">Video Management System<\/div>\n              <\/td>\n              <td class=\"oss-org\">National Institute of Informatics<\/td>\n              <td class=\"oss-brand\">LTI-MC<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/RCOSDP\/GakuNinLMS-LTI-MC\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n            <tr>\n              <td class=\"oss-org\">Consortium TIES, Kumamoto University<\/td>\n              <td class=\"oss-brand\">CHiBi-CHiLO<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/npocccties\/chibichilo\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n            <tr>\n              <td class=\"oss-org\">Osaka University<\/td>\n              <td class=\"oss-brand\">ViLOG<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/LTRP-SOC5-OU\/ViLOG\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n            <tr class=\"grp\">\n              <td class=\"oss-cat\">\n                <div class=\"name\">Moodle<\/div>\n                <div class=\"en\">Learning Management System<\/div>\n              <\/td>\n              <td class=\"oss-org\">Moodle Pty Ltd<\/td>\n              <td class=\"oss-brand\">Moodle<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/moodle\/moodle\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n            <tr class=\"grp\">\n              <td class=\"oss-cat\">\n                <div class=\"name\">Portal<\/div>\n                <div class=\"en\">Course Discovery<\/div>\n              <\/td>\n              <td class=\"oss-org\">Consortium TIES, Osaka Kyoiku University<\/td>\n              <td class=\"oss-brand\">CHiLO-Portal<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/npocccties\/chiloportal\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n            <tr class=\"grp\">\n              <td class=\"oss-cat\" rowspan=\"2\">\n                <div class=\"name\">Wallet<\/div>\n                <div class=\"en\">Open Badges Wallet<\/div>\n              <\/td>\n              <td class=\"oss-org\">National Institute of Informatics<\/td>\n              <td class=\"oss-brand\">OpenBadge VC Converter<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/RCOSDP\/credentialwallet_gateway\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n            <tr>\n              <td class=\"oss-org\">Consortium TIES, Osaka Kyoiku University<\/td>\n              <td class=\"oss-brand\">CHiLO-Wallet<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/npocccties\/chilowallet\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n            <tr class=\"grp\">\n              <td class=\"oss-cat\">\n                <div class=\"name\">Cabinet<\/div>\n                <div class=\"en\">Badge Verification Portal<\/div>\n              <\/td>\n              <td class=\"oss-org\">Consortium TIES, Osaka Kyoiku University<\/td>\n              <td class=\"oss-brand\">CHiLO-Cabinet<\/td>\n              <td class=\"oss-repo-cell\"><a class=\"gh-btn\" href=\"https:\/\/github.com\/npocccties\/chilocabinet\" target=\"_blank\" rel=\"noopener noreferrer\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"><\/path><\/svg>GitHub<\/a><\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n    <p class=\"oss-note rv\">All components are released as <b>open source<\/b>. They can be operated at your own institution with no vendor lock-in.<\/p>\n  <\/div>\n<\/section>\n\n<section class=\"sec\" id=\"case\" data-screen-label=\"Case Studies\">\n  <div class=\"wrap\">\n    <div class=\"rv\" style=\"margin-bottom: clamp(40px, 6vh, 72px);\">\n      <p class=\"ov-label\"><b>\u00a704<\/b> CASES<\/p>\n      <h2 class=\"ov-title\">Case Studies<\/h2>\n      <p class=\"ov-lead\">Here are services actually in operation, built using TIES LiNK.<\/p>\n    <\/div>\n    <div class=\"case-card rv\">\n      <div class=\"case-left\">\n        <p class=\"case-eyebrow\">Osaka Kyoiku University<span class=\"x\">\u00d7<\/span>Aichi University of Education<\/p>\n        <h3 class=\"case-name\" style=\"color: white;\">OZONE-EDU<\/h3>\n        <p class=\"case-tagline\">For everyone who keeps learning on their own.<\/p>\n        <div class=\"case-chips\">\n          <span class=\"case-chip\">Osaka Kyoiku University<\/span>\n          <span class=\"case-chip\">Aichi University of Education<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"case-right\">\n        <h4 class=\"case-rh\">An Inter-University Learning Platform for Teachers<\/h4>\n        <p class=\"case-rbody\">An online training platform for teachers, provided by Osaka Kyoiku University. It offers licensure-certified open courses and inter-university collaborative subjects, certifying completion with digital badges.<\/p>\n        <div class=\"case-tags\">\n          <span class=\"case-tag\">Licensure-Certified Open Courses<\/span>\n          <span class=\"case-tag\">Inter-University Courses<\/span>\n          <span class=\"case-tag\">Teacher Training<\/span>\n          <span class=\"case-tag\">Digital Badge Issuance<\/span>\n        <\/div>\n        <div class=\"case-divider\"><\/div>\n        <a class=\"case-visit\" href=\"https:\/\/o3edu.osaka-kyoiku.ac.jp\/\">Visit o3edu.osaka-kyoiku.ac.jp <span class=\"ar\">\u2192<\/span><\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"contact\" data-screen-label=\"Contact\">\n  <div class=\"wrap rv\">\n    <p class=\"contact-eyebrow\">CONTACT US<\/p>\n    <h2 class=\"contact-title\">Contact Us<\/h2>\n    <p class=\"contact-sub\">For any questions or inquiries about TIES LiNK, please feel free to contact Consortium TIES.<\/p>\n    <div class=\"contact-actions\">\n      <a class=\"btn btn-fill\" href=\"https:\/\/www.cties.jp\/contact\/\">Go to Contact Form <span class=\"ar\">\u2192<\/span><\/a>\n      <a class=\"contact-ghost\" href=\"\/product\/\">View Product List<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>TIES LiNK \u2014 OPEN SOURCE EDUCATION PLATFORM Crossing the walls between universities,to connect learning. TIES L [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":447,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"ties-link","meta":{"footnotes":""},"class_list":["post-32904","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/pages\/32904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/comments?post=32904"}],"version-history":[{"count":11,"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/pages\/32904\/revisions"}],"predecessor-version":[{"id":32939,"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/pages\/32904\/revisions\/32939"}],"up":[{"embeddable":true,"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/pages\/447"}],"wp:attachment":[{"href":"https:\/\/www.cties.jp\/en\/wp-json\/wp\/v2\/media?parent=32904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}