@charset "UTF-8";
html {
  font-size: 1rem;
}

body {
  color: rgb(51, 51, 51);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 140%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  background-color: white;
}

/* RESET
----------------------------------------------------------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

ol, ul {
  list-style: none;
}

a:active, a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
  text-decoration: none;
  color: #767676;
}

b, strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

/* uikit reset
----------------------------------------------------------------------------------------------------*/
.uk-container {
  padding-inline: 10px;
}

.uk-input, .uk-select, .uk-textarea {
  font-size: 16px;
}

table {
  border-collapse: collapse;
}

.uk-table th {
  vertical-align: super;
}

.uk-button {
  white-space: nowrap;
}

.uk-button-large {
  min-width: 240px;
  font-size: 1.25rem;
  padding: 0 10px;
}

.uk-text-meta {
  font-size: 0.765625rem;
  line-height: 1.4;
  color: #333;
}

.uk-link, a {
  color: #0265cb;
}

.uk-button-default:hover {
  border: 1px solid #F1F1F1;
  background-color: #F3F3F3;
}

.uk-lightbox {
  background-color: rgba(0, 0, 0, 0.4);
}
.uk-lightbox-toolbar {
  max-width: 1060px;
  margin-inline: auto;
  background-color: transparent;
}
.uk-lightbox-toolbar.uk-transition-slide-top {
  --uk-translate-y: 0;
  opacity: 1;
  transition: none;
}
.uk-lightbox-iframe {
  width: min(90%, 61.25rem);
  height: 100%;
}
.uk-lightbox-items li {
  top: 3.125rem;
  bottom: 5%;
}

@media screen and (max-width: 640px) {
  .pc {
    display: none;
  }
}
:root {
  --smt-primary: #253254;
  --smt-dark: #263357;
  --smt-accent: #ffc800;
  --smt-pale:#d3e4fb;
  --smt-next-hr:#84262d;
}

/*********************************************************************************
  コンテンツWRAP
--------------------------------------------------------------------------------*/
#SmtCtsWrap .CmnCtsHead {
  position: relative;
  color: #263357;
}
@media only screen and (max-width: 768px) {
  #SmtCtsWrap .CmnCtsHead {
    min-height: 60px;
  }
}
#SmtCtsWrap .CmnCtsHead h1 {
  margin: 0;
  padding-block: 0.84375em 0.78125em;
  text-align: center;
  font-weight: bold;
  font-size: 1.375rem;
  line-height: 1.4375;
  width: 100%;
  color: #263357;
}
@media (min-width: 768px) {
  #SmtCtsWrap .CmnCtsHead h1 {
    font-size: 2rem;
  }
}
#SmtCtsWrap .CmnCtsHead div.mypagePoint {
  margin: 6px 0 0;
  color: #FFF;
  text-align: center;
}
#SmtCtsWrap .CmnCtsHead p {
  margin: 6px 0 0;
  color: #FFF;
  text-align: center;
}
#SmtCtsWrap #CmnSmtHeadSub {
  padding: 20px 0;
  border-bottom: solid 1px #CCC;
}
@media only screen and (max-width: 768px) {
  #SmtCtsWrap #CmnSmtHeadSub {
    padding: 10px 0;
    top: 50px !important;
  }
}
#SmtCtsWrap #CmnSmtHeadSub h2 {
  width: 60px;
  text-align: right;
}
#SmtCtsWrap .error-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 50vh;
}
#SmtCtsWrap .error-wrap .fa {
  font-size: 3rem;
  color: oklch(55.4% 0.046 257.417deg);
}
#SmtCtsWrap .error-wrap .error-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5em;
  width: 90%;
  padding: 2em;
  font-size: 1rem;
  border-radius: 1em;
  background-color: oklch(92.9% 0.013 255.508deg);
}
#SmtCtsWrap .error-wrap .error-message p {
  margin: 0;
  color: oklch(37.2% 0.044 257.287deg);
  line-height: 180%;
}
@media print, screen and (min-width: 769px) {
  #SmtCtsWrap .error-wrap {
    height: 60vh;
  }
  #SmtCtsWrap .error-wrap .error-message {
    flex-direction: row;
    width: fit-content;
  }
}

header#SmtCmn {
  width: 100%;
  background-color: var(--smt-dark);
}
header#SmtCmn #HeadWrap {
  padding: 8px 4px;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  header#SmtCmn #HeadWrap {
    position: relative;
    padding: 0 12px;
  }
}
header#SmtCmn #HeadWrap svg {
  aspect-ratio: 182/60;
  height: auto;
}
header#SmtCmn #HeadWrap .nav-wrap {
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 1rem;
}
header#SmtCmn #HeadWrap .nav-wrap .nav-logo {
  margin: 0;
  font-size: 0;
  line-height: 100%;
  width: 100px;
}
header#SmtCmn #HeadWrap .nav-wrap .nav-logo a {
  display: block;
}
@media print, screen and (min-width: 769px) {
  header#SmtCmn #HeadWrap .nav-wrap .nav-logo {
    width: 180px;
  }
}
header#SmtCmn #HeadWrap .nav-wrap div#spNav ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media print, screen and (min-width: 769px) {
  header#SmtCmn #HeadWrap .nav-wrap div#spNav ul {
    display: none;
  }
}
header#SmtCmn #HeadWrap .nav-wrap div#spNav ul li {
  list-style: none;
}
header#SmtCmn #HeadWrap .nav-wrap div#spNav ul a {
  padding: 6px;
  color: #FFF;
  min-width: 44px;
}
@media only screen and (max-width: 768px) {
  header#SmtCmn #HeadWrap .nav-wrap div#pcNav {
    display: none;
  }
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav {
  display: flex;
  align-items: start;
  gap: 0 4px;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul {
  margin: 0;
  padding: 0;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:last-of-type {
  display: flex;
  gap: 0 4px;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:last-of-type a {
  display: grid;
  align-items: center;
  padding: 0.765em 1.38em;
  font-weight: bold;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  white-space: nowrap;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:last-of-type a:hover {
  color: #FFF;
  background: var(--smt-primary);
  text-decoration: none;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type {
  display: grid;
  grid-template-columns: repeat(2, minmax(max-content, 222px));
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type:not(:has(.mypage)) li:first-of-type {
  grid-column: 2;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type:not(:has(.mypage)) li:first-of-type .timetable {
  border-radius: 6px 6px 0 0;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type a {
  display: grid;
  grid-template-columns: 1.875rem auto 0.8125rem;
  align-items: center;
  min-height: 62px;
  padding-inline: 0.9375rem;
  color: #253254;
  font-size: 1.25rem;
  font-weight: 700;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type a span {
  margin-left: 0.625rem;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type a small {
  display: block;
  font-size: 0.675em;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type a::before, header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type a::after {
  content: "";
  display: block;
  height: var(--icon-width, 1.875rem);
  height: var(--icon-height, 1.875rem);
  color: currentColor;
  background-color: currentColor;
  mask: var(--icon-img, url('data:image/svg+xml,<svg viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 0C6.7274 0 0 6.7274 0 15C0 23.2726 6.7274 30 15 30C23.2726 30 30 23.2726 30 15C30 6.7274 23.2726 0 15 0ZM15 2.05479C22.1384 2.05479 27.9452 7.86164 27.9452 15C27.9452 17.7904 27.0534 20.3753 25.5493 22.4918C24.1973 19.2781 21.4356 16.8699 18.1315 15.9205C19.6397 14.9096 20.6342 13.1877 20.6342 11.2397C20.6342 8.13288 18.1068 5.60548 15 5.60548C11.8932 5.60548 9.36575 8.13288 9.36575 11.2397C9.36575 13.1877 10.3603 14.9055 11.8644 15.9164C8.55206 16.8616 5.80274 19.2699 4.45069 22.4877C2.94247 20.3712 2.05479 17.7863 2.05479 15C2.05479 7.86164 7.86164 2.05479 15 2.05479ZM15 14.8192C13.0274 14.8192 11.4205 13.2123 11.4205 11.2397C11.4205 9.26712 13.0274 7.66027 15 7.66027C16.9726 7.66027 18.5795 9.26712 18.5795 11.2397C18.5795 13.2123 16.9726 14.8192 15 14.8192ZM5.98767 24.2795C7.15069 20.2932 10.8247 17.5233 15 17.5233C19.1753 17.5233 22.8534 20.2973 24.0123 24.2753C21.6781 26.5438 18.5014 27.9411 15 27.9411C11.4986 27.9411 8.32192 26.5438 5.98767 24.2753V24.2795Z" fill="currentColor"/></svg>')) center/contain no-repeat;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type a::before {
  color: currentColor;
  background-color: currentColor;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav ul:first-of-type a::after {
  --icon-width: 0.5625rem;
  --icon-height: 0.8125rem;
  --icon-img: url('data:image/svg+xml,<svg viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.57 8.88173L3.24203 17.2107C3.0656 17.3872 2.85613 17.5272 2.62559 17.6228C2.39505 17.7183 2.14794 17.7675 1.89838 17.7676C1.39438 17.7677 0.910981 17.5675 0.55453 17.2112C0.198079 16.8549 -0.0022256 16.3716 -0.00231939 15.8676C-0.00241318 15.3636 0.197712 14.8802 0.55403 14.5237L6.20003 8.88173L0.55403 3.24073C0.198931 2.88416 -0.000206971 2.40127 0.00031438 1.89804C0.000835731 1.39482 0.200974 0.912346 0.55681 0.556509C0.912647 0.200672 1.39512 0.000533997 1.89834 1.32684e-05C2.40157 -0.00050746 2.88446 0.198629 3.24103 0.553728L11.57 8.88173Z" fill="currentColor"/></svg>');
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav .timetable {
  --icon-img: url('data:image/svg+xml,<svg viewBox="0 0 30 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.3818 0C20.9388 0 21.3906 0.465296 21.3906 1.03809V2.2334H25.2979C27.8889 2.2334 29.9999 4.39958 30 7.06836V22.1602C30 24.8249 27.893 26.9961 25.2979 26.9961H4.70215C2.111 26.9961 0 24.829 0 22.1602V7.06836C0.000107082 4.40373 2.11107 2.2334 4.70215 2.2334H8.60938V1.03809C8.60938 0.465296 9.06119 0 9.61816 0C10.175 0.000136041 10.627 0.46538 10.627 1.03809V2.2334H19.373V1.03809C19.373 0.465379 19.825 0.00013511 20.3818 0ZM4.70215 4.30859C3.22098 4.30859 2.01768 5.54516 2.01758 7.06836V22.1641C2.01758 23.6874 3.22092 24.9248 4.70215 24.9248H25.2979C26.7791 24.9248 27.9824 23.6874 27.9824 22.1641V7.06836C27.9823 5.54516 26.779 4.30859 25.2979 4.30859H21.3906V4.95215C21.3904 5.52475 20.9387 5.98926 20.3818 5.98926C19.8251 5.98912 19.3733 5.52466 19.373 4.95215V4.30859H10.627V4.95215C10.6267 5.52466 10.1749 5.98912 9.61816 5.98926C9.06132 5.98926 8.6096 5.52475 8.60938 4.95215V4.30859H4.70215ZM10.1592 20.9814H5.85254V16.5527H10.1592V20.9814ZM17.1533 20.9814H12.8467V16.5527H17.1533V20.9814ZM24.1514 16.5527V20.9814H19.8457V16.5527H24.1514ZM10.1592 13.5107H5.85254V9.08203H10.1592V13.5107ZM17.1533 13.5107H12.8467V9.08203H17.1533V13.5107ZM24.1514 13.5107H19.8457V9.08203H24.1514V13.5107Z" fill="currentColor"/></svg>');
  --icon-height: 1.6875rem;
  background-color: #FFD800;
  border-radius: 6px 0 0 0;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav .timetable small {
  letter-spacing: normal;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav .mypage {
  background-color: #FFA830;
  border-radius: 0 6px 0 0;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#main-Nav .mypage small {
  letter-spacing: -0.054em;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#sub-nav {
  padding: 1.6rem 0 1.4rem;
}
@media only screen and (max-width: 768px) {
  header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#sub-nav {
    display: none;
  }
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#sub-nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#sub-nav li {
  margin-left: 1.5em;
  list-style: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#sub-nav li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #FFF;
  font-size: 12px;
  font-weight: bold;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#sub-nav li a i {
  margin-right: 8px;
  font-size: 20px;
  color: #FFF;
}
header#SmtCmn #HeadWrap .nav-wrap div#pcNav div#sub-nav li a:hover {
  text-decoration: none;
  opacity: 0.3;
}
@media only screen and (max-width: 768px) {
  header#SmtCmn {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 200;
  }
}

#FootMedia {
  padding: 5rem 6px 1em;
  text-align: center;
  background-color: white;
}
#FootMedia strong {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.77em;
  margin: 0 auto 1.5em;
  white-space: nowrap;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}
#FootMedia strong:before, #FootMedia strong:after {
  content: "";
  display: block;
  width: min(80%, 261px);
  height: 1px;
  background-color: #707070;
}
@media (min-width: 768px) {
  #FootMedia {
    padding: 4.375rem 6px 1em;
  }
  #FootMedia strong {
    font-size: 1.375rem;
  }
}
#FootMedia div.foot-special-banner {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #FootMedia div.foot-special-banner {
    display: block;
  }
}
#FootMedia div.foot-special-banner div {
  margin: 0 5px;
  max-width: 33%;
}
@media only screen and (max-width: 768px) {
  #FootMedia div.foot-special-banner div {
    margin: 0 0 1em;
    max-width: 100%;
  }
}
#FootMedia div.foot-special-banner div a:hover {
  opacity: 0.5;
}
#FootMedia div.foot-media-partner {
  display: flex;
  justify-content: space-evenly;
}
#FootMedia div.foot-media-partner div {
  width: 14%;
  text-align: center;
}

footer {
  padding: 0 0 80px;
  text-align: center;
  clear: both;
  background-color: white;
}
footer p.copy {
  text-align: center;
}
footer div#FootLink {
  margin-bottom: 50px;
}
footer div#FootLink h3 {
  margin: 0;
  text-align: center;
  text-decoration: none;
  color: #000000;
  font-weight: bold;
  font-size: 1em;
}
footer div#FootLink p.thum {
  margin-bottom: 10px;
}
footer div#FootLink p.thum img {
  width: 100%;
  height: auto;
  max-width: 228px;
}

:root {
  --color-white: white;
  --color-black: black;
  --color-blue: #0464AD;
  --color-navy: #263357;
  --color-green: #19B58B;
  --color-green-light: #A8EAD7;
  --color-purple: #835AD1;
  --color-purple-light: #DBC8FF;
  --color-pink: #FF4C82;
  --color-pink-light: #FFB6CC;
  --caret-r: url('data:image/svg+xml,<svg viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.57 8.88173L3.24203 17.2107C3.0656 17.3872 2.85613 17.5272 2.62559 17.6228C2.39505 17.7183 2.14794 17.7675 1.89838 17.7676C1.39438 17.7677 0.910981 17.5675 0.55453 17.2112C0.198079 16.8549 -0.0022256 16.3716 -0.00231939 15.8676C-0.00241318 15.3636 0.197712 14.8802 0.55403 14.5237L6.20003 8.88173L0.55403 3.24073C0.198931 2.88416 -0.000206971 2.40127 0.00031438 1.89804C0.000835731 1.39482 0.200974 0.912346 0.55681 0.556509C0.912647 0.200672 1.39512 0.000533997 1.89834 1.32684e-05C2.40157 -0.00050746 2.88446 0.198629 3.24103 0.553728L11.57 8.88173Z" fill="currentColor"/></svg>');
}

.page-index {
  color: var(--color-navy);
}
.page-index a {
  color: currentColor;
}

.top-nav {
  --nav-pos: 0.9375rem;
  position: sticky;
  top: var(--nav-pos);
  z-index: 5;
  overflow: hidden;
  width: 95%;
  margin-inline: auto;
  background-color: var(--color-white);
  border-radius: 0.75rem;
  box-shadow: 0 0 11.7px 0 rgba(0, 0, 0, 0.13);
}
.top-nav ul {
  display: grid;
  grid-template-columns: repeat(4, auto);
  margin: 0;
  padding: 0;
}
.top-nav ul li.uk-active:first-of-type {
  --nav-a-bg: var(--color-green-light);
}
.top-nav ul li.uk-active:nth-of-type(2) {
  --nav-a-bg: var(--color-purple-light);
}
.top-nav ul li.uk-active:nth-of-type(3) {
  --nav-a-bg: var(--color-pink-light);
}
.top-nav ul li.uk-active:last-of-type {
  --nav-a-bg: #cccccc;
}
.top-nav ul a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: 1.3333333333em;
  color: var(--color-black);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: normal;
  background-color: var(--nav-a-bg, white);
}
@media (min-width: 768px) {
  .top-nav {
    --nav-pos: 2.3125rem;
    width: 93.6842105263%;
    border-radius: 1.25rem;
  }
  .top-nav ul {
    grid-template-columns: repeat(4, 1fr);
  }
  .top-nav ul a {
    padding-block: 1.525em;
    font-size: 1.25rem;
  }
}

.page-index .card-wrap {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
}
@media print, screen and (min-width: 769px) {
  .page-index .card-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
}
.page-index .card {
  padding: 16px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
}
.page-index .card a {
  display: grid;
  grid-template-columns: 25.3703703704% auto;
  gap: 0 16px;
}
.page-index .card .text {
  display: grid;
  gap: 0.6875rem 0;
  height: fit-content;
}
.page-index .card .text > * {
  margin: 0;
}
.page-index .card h3,
.page-index .card h4 {
  color: inherit;
  line-height: normal;
}
.page-index .card h3 {
  font-size: 1.0625rem;
}
.page-index .card h4 {
  font-size: 0.85rem;
}
.page-index .card p {
  font-size: 0.75rem;
  line-height: 1.4;
}
.page-index .card b {
  display: block;
  font-size: 0.85rem;
  font-weight: bold;
}
.page-index .card .note {
  font-size: 1rem;
}
.page-index .card img + img {
  margin-top: 8px;
}
@media print, screen and (min-width: 769px) {
  .page-index .card {
    padding: 1.25rem;
  }
  .page-index .card a {
    gap: 0 1.25rem;
  }
  .page-index .card h3 {
    font-size: 1.25rem;
  }
  .page-index .card h4 {
    font-size: 1rem;
  }
  .page-index .card b {
    font-size: 1rem;
  }
}

.action-block {
  padding-block: 4.375rem 3.625rem;
  text-align: center;
}
.action-block p {
  margin-bottom: 1.5rem;
  font-size: 1rem;
}
.action-block a:not(.text-link) {
  position: relative;
  display: block;
  width: min(100%, 392px);
  margin: 0 auto;
  padding: 0.8em 0.85em;
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
  line-height: normal;
  background-color: rgba(255, 255, 255, 0.8);
  border: 2px solid currentColor;
  border-radius: 2em;
  transition: all 0.25s;
}
.action-block a:not(.text-link):after {
  content: "";
  position: absolute;
  right: 0.85em;
  top: calc(50% - 0.75ch);
  display: block;
  width: 0.6em;
  height: 0.9em;
  background-color: currentColor;
  mask-image: var(--caret-r);
  mask-size: contain;
  mask-repeat: no-repeat;
}
.action-block a:not(.text-link):hover {
  color: var(--color-white);
  background-color: var(--color-navy);
  border-color: var(--color-navy);
}
.action-block .text-link {
  display: block;
  width: fit-content;
  margin: 1em auto 0;
  color: currentColor;
  text-decoration: underline;
}
@media print, screen and (min-width: 769px) {
  .action-block a:not(.text-link) {
    font-size: 1.25rem;
  }
}

.bg {
  position: absolute;
  inset: 0;
  filter: hue-rotate(var(--bg-hue, 0deg)) saturate(1.18) brightness(1.04);
  transition: filter 1s linear;
}
.bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

body:has(.feature.in-view) {
  --bg-hue: -50deg;
}
body:has(.next-hr-labo.in-view) {
  --bg-hue: 60deg;
}
body:has(.tokuten.in-view) {
  --bg-hue: 105deg;
}

.top-section h2 {
  margin-bottom: var(--h2-mb, 1.25rem);
  color: var(--color-h2, var(--color-black));
  font-size: 1.875rem;
  font-weight: bold;
  text-align: center;
}
.archive .top-section h2 {
  --color-h2: var(--color-navy);
}
.feature .top-section h2 {
  --color-h2: var(--color-green);
}
.next-hr-labo .top-section h2 svg {
  width: min(80%, 29.3125rem);
  aspect-ratio: 469/99;
  height: auto;
  fill: var(--color-purple);
}
.tokuten .top-section h2 {
  color: var(--color-pink);
}
.top-section .section-lead {
  margin-block: 0 2em;
  font-size: 1rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .top-section h2 {
    font-size: 3.75rem;
  }
  .feature .top-section h2 {
    --h2-mb: 4.9375rem;
  }
  .next-hr-labo .top-section h2 {
    --h2-mb: 4.125rem;
  }
  .archive .top-section h2 {
    --h2-mb: 3.75rem;
  }
  .tokuten .top-section h2 {
    --h2-mb: 4.875rem;
  }
  .overview .top-section h2 {
    --h2-mb: 4.75rem;
  }
  .speakers .top-section h2 {
    --h2-mb: 4.6875rem;
  }
  .sponsors .top-section h2 {
    --h2-mb: 4.6875rem;
  }
  .top-section .section-lead {
    font-size: 1.5rem;
  }
}

.has-bg {
  display: grid;
  grid-template-areas: "stack";
}
.has-bg > .bg-img,
.has-bg > .top-section,
.has-bg > .wrap {
  grid-area: stack;
}
.has-bg .bg-img {
  background-color: var(--color-white);
}
.has-bg .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.theme {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.3125rem 0;
  padding-block: 2.6875rem 1.0625rem;
}
.theme h1 {
  width: 100%;
  display: grid;
  justify-items: center;
  gap: 1.625rem 0;
  margin: 0;
  container: theme-h1/inline-size;
  color: currentColor;
  filter: drop-shadow(0 0 5px var(--color-white));
}
.theme h1 img {
  display: block;
  width: 99%;
  height: auto;
  aspect-ratio: 1910/140;
}
.theme h1 span {
  width: min(90%, 75rem);
  font-size: min(4.8vw, 1.5rem);
  font-weight: 900;
  text-align: center;
}
.theme .layout {
  width: min(90%, 75rem);
  container: layout/inline-size;
}
.theme h2 {
  display: flex;
  flex-direction: column;
  margin: 0;
  color: currentColor;
  font-size: min(12cqi, 4.25rem);
}
.theme h2 span {
  display: block;
}
.theme h2 .en {
  font-family: "Barlow Semi Condensed", sans-serif;
  line-height: 1;
}
.theme h2 .ja {
  font-size: 0.3823529412em;
  font-weight: 900;
  line-height: 2;
}
@media (min-width: 768px) {
  .theme h1 span {
    font-size: min(2.6858333333cqi, 2.014375rem);
  }
  .theme .layout {
    display: grid;
    grid-template-columns: auto 21.875rem;
  }
  .theme .layout h2 {
    font-size: min(5.6666666667cqi, 4.25rem);
  }
  .theme .layout .dates {
    margin: 0;
  }
}

.dates {
  height: fit-content;
  margin: 1rem 0 0.5rem;
  padding: 1.3125rem;
  background-color: rgb(from var(--color-white) r g b/80%);
  border-radius: 1.25rem;
}
.dates li {
  color: var(--color-blue);
}
.dates li:first-of-type {
  --svg-ar: 37 / 17;
}
.dates li:last-of-type {
  --svg-ar: 37 / 23;
}
.dates li + li {
  margin-top: 1.25rem;
}
.dates h3,
.dates p {
  margin: 0;
}
.dates h3 {
  display: grid;
  grid-template-columns: 2.3125rem auto;
  align-items: center;
  gap: 0 0.75rem;
  color: currentColor;
  font-size: 1rem;
}
.dates h3 svg {
  width: 100%;
  aspect-ratio: var(--svg-ar);
  fill: currentColor;
}
.dates p {
  font-family: "Barlow", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}
.dates p small {
  font-size: 0.6em;
}

.splide__slide .photo {
  overflow: hidden;
  margin-bottom: 1.0625rem;
  border-radius: 1.25rem;
}
.splide__slide .text {
  margin: 0;
  padding-inline: 1em;
  font-size: 0.75rem;
  font-weight: 900;
  text-align: center;
  line-height: normal;
  text-shadow: 0 0 5px var(--color-white);
}
.splide__slide .text b {
  display: block;
  margin-top: 0.75rem;
  font-size: 1.1666666667em;
}
.splide__pagination {
  position: relative;
  bottom: unset;
  display: flex;
  gap: 0.375rem;
  margin-top: 1.875rem;
}
.splide__pagination__page {
  display: block;
  width: 1.875rem;
  height: 0.625rem;
  margin: 0;
  opacity: 1;
  background-color: #AEB3D3;
  border-radius: 0.3125rem;
}
.splide__pagination__page.is-active {
  transform: scale(1);
  background-color: var(--color-blue);
}
@media (min-width: 768px) {
  .splide__pagination__page {
    width: 3.3125rem;
  }
}

.intro {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.intro-content {
  text-align: center;
  font-size: 14px;
}
.intro-content h2,
.intro-content h3,
.intro-content p {
  color: currentColor;
  line-height: normal;
}
.intro-content h2 {
  margin-block: 0 0.2827140549em;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 2.4141rem;
}
.intro-content h3 {
  margin-block: 0 2.108568865em;
  font-size: 1.0866375rem;
}
.intro-content p {
  margin-block: 0;
  font-size: 0.8775rem;
  letter-spacing: 0.0022222222em;
}
.intro-content p + p {
  margin-top: 1.5em;
}
.intro-content p:has(strong) {
  margin-block: 2.2222222222em 1.8888888889em;
}
.intro-content p:has(strong) + p {
  margin-top: 0;
}
.intro-content strong {
  font-size: 1.17rem;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .intro-content h2 {
    font-size: 3.095rem;
  }
  .intro-content h3 {
    font-size: 1.393125rem;
  }
  .intro-content p {
    font-size: 1.125rem;
  }
  .intro-content strong {
    font-size: 1.5rem;
  }
}
.intro .action-block {
  padding-block: 0;
}

.preface {
  width: min(85%, 75rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem 0;
}

.points {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.625rem), 1fr));
  grid-template-rows: auto max-content auto;
  gap: 1.0625rem 3.4166666667%;
  margin: 0;
  padding: 0;
}
.points li {
  grid-row: span 3;
  display: grid;
  grid-template-rows: subgrid;
  padding-block: 2.3125rem;
  text-align: center;
  background-color: var(--color-white);
  border-radius: 1.25rem;
  box-shadow: 0 0 4.9px 0 rgba(0, 0, 0, 0.21);
}
.points h4,
.points p {
  margin: 0;
}
.points h4 {
  font-size: 1.25rem;
}
.points p {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.0428571429em;
}
.points div {
  display: flex;
  align-items: center;
  justify-content: center;
}
.points svg {
  display: block;
  color: var(--color-blue);
}
.points li:nth-of-type(1) svg {
  width: 31.9034852547%;
  aspect-ratio: 119/68;
  height: auto;
}
.points li:nth-of-type(2) svg {
  width: 24.1286863271%;
  aspect-ratio: 90/69;
  height: auto;
}
.points li:nth-of-type(3) svg {
  width: 20.9115281501%;
  aspect-ratio: 78/86;
  height: auto;
}

.archive {
  color: var(--color-navy);
  background-color: rgba(255, 255, 255, 0.64);
}
.archive div.top-section {
  text-align: center;
}
.archive div.top-section h3 {
  display: flex;
  align-items: first baseline;
  width: fit-content;
  margin: 0 auto 0.825em;
  padding-block: 0.425em 0.525em;
  color: currentColor;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 1.5625rem;
  line-height: 1;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}
.archive div.top-section h3 span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6em;
  font-weight: 700;
}
.archive div.top-section p.lead {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
}
@media print, screen and (min-width: 769px) {
  .archive div.top-section h3 {
    font-size: 2.5rem;
  }
  .archive div.top-section p.lead {
    font-size: 1rem;
  }
}
.archive div.top-section div.dateList {
  display: grid;
  grid-template-columns: 1fr 13% 1fr;
  grid-template-rows: auto auto auto;
  width: min(100%, 757px);
  margin: 45px auto 29px;
  container: dayblock/inline-size;
}
.archive div.top-section div.dateList.has-archive div.day {
  padding-top: 3rem;
}
.archive div.top-section div.dateList.has-archive div.day:has(.day-status) {
  opacity: 0.45;
}
.archive div.top-section div.dateList.is-ended .arrow {
  filter: grayscale(1);
  opacity: 0.65;
}
.archive div.top-section div.dateList div.day {
  position: relative;
  display: grid;
  grid-row: 1/4;
  grid-template-rows: subgrid;
  padding: 22px 1rem 16px;
  border: solid 2px currentColor;
  border-radius: 12px;
}
@container dayblock (width > 600px) {
  .archive div.top-section div.dateList div.day br {
    display: none;
  }
}
.archive div.top-section div.dateList div.day h4 {
  margin: 0 0 0.2777777778em;
  color: currentColor;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4444444444;
}
.archive div.top-section div.dateList div.day p {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 900;
  font-feature-settings: "halt" on;
  letter-spacing: 0.05em;
}
.archive div.top-section div.dateList div.day .day-status {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 0.5em;
  color: var(--white);
  font-size: 1.14285714rem;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  background-color: var(--color-navy);
  border-radius: 8px 8px 0 0;
}
.archive div.top-section div.dateList div.day svg {
  align-self: center;
  margin: 0 auto 16px;
  fill: currentColor;
}
.archive div.top-section div.dateList div.day.live svg {
  width: min(80%, 85.2px);
  aspect-ratio: 85.2/39.96;
}
.archive div.top-section div.dateList div.day.recorded svg {
  width: min(80%, 74.83px);
  aspect-ratio: 74.83/48.42;
}
@media print, screen and (min-width: 769px) {
  .archive div.top-section div.dateList div.day h4 {
    font-size: 1.125rem;
  }
  .archive div.top-section div.dateList div.day p {
    font-size: 0.75rem;
  }
}
.archive div.top-section div.dateList div.arrow {
  grid-row: 1/4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.archive div.top-section div.dateList div.arrow svg {
  width: min(80%, 33px);
  height: auto;
  fill: currentColor;
}
.archive div.top-section .note {
  margin: 0;
  font-size: 0.875rem;
}

.tokuten {
  --color-tokuten: var(--color-pink);
  background-color: rgba(255, 206, 163, 0.22);
}
.tokuten div.uk-container {
  max-width: 1200px;
}
.tokuten .bookList {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  width: min(100%, 838px);
  aspect-ratio: 838/265;
  margin-inline: auto;
  transform: translateY(40px);
}
.tokuten .bookList:after {
  content: "";
  position: absolute;
  bottom: -20px;
  inset-inline: 0;
  height: 20px;
  background-image: linear-gradient(rgba(0, 0, 0, 0.16), transparent);
}
.tokuten .bookList .book {
  position: relative;
  z-index: 1;
  background-color: var(--white);
  transform-origin: center bottom;
}
.tokuten .bookList .book:after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #CCCCCC;
}
.tokuten .bookList .book:nth-of-type(2) {
  z-index: 2;
  transform: scale(1.07) translateX(-5%);
}
.tokuten .bookList .book:nth-of-type(4) {
  z-index: 2;
  transform: scale(1.07) translateX(5%);
}
.tokuten .bookList .book:nth-of-type(3) {
  z-index: 3;
  transform: scale(1.2);
}
.tokuten .bookList .book:first-of-type img, .tokuten .bookList .book:nth-of-type(2) img {
  margin-right: auto;
}
.tokuten .bookList .book:nth-of-type(4) img, .tokuten .bookList .book:last-of-type img {
  margin-left: auto;
}
.tokuten .bookList .book img {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
}
.tokuten .bookList .book-badge {
  position: absolute;
  right: -27px;
  top: -104px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 120px;
  height: 120px;
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  background-image: linear-gradient(-45deg, var(--color-tokuten) 50%, #f54545 50%);
  border-radius: 50%;
}
.tokuten .bookList .book-badge b {
  font-size: 2.125em;
  font-family: "Oswald", sans-serif;
  line-height: 1.15em;
}
.tokuten .benefits {
  container: benefits/inline-size;
  padding: 20px;
  text-align: center;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
}
.tokuten .benefits h3,
.tokuten .benefits h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
.tokuten .benefits h3 {
  margin: 0;
  padding: 0.83em 0;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.2;
  background-color: var(--color-tokuten);
}
.tokuten .benefits h4 {
  margin: 1.75em 0 0.9583em;
  color: var(--color-tokuten);
  font-size: 1.375rem;
  text-decoration: underline;
}
.tokuten .benefits .lead {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
}
.tokuten .benefits .note {
  margin: 0.85em 0 5em;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 769px) {
  .tokuten .benefits h3 {
    font-size: 1.375rem;
  }
  .tokuten .benefits h4 {
    font-size: 2.25rem;
  }
  .tokuten .benefits .lead {
    font-size: 1rem;
  }
}
@container benefits (width > 1000px) {
  .tokuten .benefits .book-badge {
    position: absolute;
    right: -74%;
    top: -36%;
    width: 8.8125em;
    height: 8.8125em;
    font-size: 1rem;
  }
  .tokuten .benefits .book-badge b {
    font-size: 3.125em;
  }
}

.overview {
  color: var(--color-black);
  background-color: rgba(177, 177, 177, 0.22);
}
.overview .cts {
  max-width: 1200px;
  margin-inline: auto;
  padding: 20px 20px 30px;
  background-color: var(--color-white);
  border-radius: 10px;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
}
.overview table tr {
  border-bottom: 1px solid #707070;
}
.overview table th,
.overview table td {
  display: block;
  font-size: 0.875rem;
}
.overview table th {
  padding: 0.88em 0 0;
  font-weight: 700;
  text-align: left;
  vertical-align: baseline;
}
.overview table td {
  padding: 0.88em 0;
}
.overview table p {
  font-size: inherit;
}
@media print, screen and (min-width: 769px) {
  .overview .cts {
    padding: 40px 20px 60px;
  }
  .overview table th,
  .overview table td {
    display: table-cell;
    padding: 0.88em 0 0.88em 1.55em;
    font-size: 1.125rem;
    line-height: 133%;
  }
}

.speakers {
  position: relative;
  background-color: #FFF;
}
.speakers ul.speakerList a {
  color: #333;
}
.speakers ul.speakerList a:hover {
  opacity: 1 !important;
  background: #FFF;
}
.speakers ul.speakerList a:hover div.photo img {
  opacity: 0.75;
}
.speakers ul.speakerList div.photo {
  margin: 0 auto 15px;
  width: 100%;
  text-align: center;
}
.speakers ul.speakerList div.photo img {
  margin-bottom: 20px;
  border-radius: 280px;
  width: 100%;
  height: auto;
  max-width: 140px;
}
.speakers ul.speakerList p strong {
  margin-bottom: 6px;
  font-weight: bold;
  font-size: 1rem;
  color: #0C7F64;
  display: block;
}
.speakers ul.speakerList p {
  font-size: 0.75rem;
}
.speakers div.lead {
  margin: 2em 0;
  padding: 1.5em;
  background: #FFF;
  text-align: center;
}
.speakers div.lead p {
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 240%;
}
.speakers div.lead strong {
  font-size: 24px;
  color: #0C7F64;
}
.speakers div.alert {
  text-align: center;
  color: #CC1417;
}
.speakers div.special-movie {
  margin: 2em auto 0;
  max-width: 980px;
}
@media print, screen and (min-width: 769px) {
  .speakers div.special-movie {
    margin: 8em auto 0;
  }
}
.speakers div.special-movie h3 {
  margin: 0 0 1em;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}
.speakers div.special-movie ul {
  margin: 0;
  padding: 0;
  list-style: none;
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
@media print, screen and (min-width: 769px) {
  .speakers div.special-movie ul {
    flex-direction: row;
  }
}
.speakers div.special-movie ul li {
  margin-bottom: 2rem;
  width: 100%;
  aspect-ratio: 16/9;
}
@media print, screen and (min-width: 769px) {
  .speakers div.special-movie ul li {
    margin-bottom: 0;
  }
}
.speakers div.special-movie ul li iframe {
  width: 100%;
  height: 100%;
}
.speakers div.special-movie ul li h4 {
  margin: 1em 0 0;
  text-align: center;
  font-size: 11px;
}

.sponsors {
  border-top: solid 1px #CCC;
  position: relative;
  background-color: #FFF;
}
.sponsors h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.77em;
  margin: 1.5em auto 1.5em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.sponsors h3:before, .sponsors h3:after {
  content: "";
  display: block;
  width: min(80%, 261px);
  height: 1px;
  background-color: #707070;
}
.sponsors ul {
  text-align: center;
}
.sponsors div.special-banner {
  margin: 2em auto 0;
}
@media print, screen and (min-width: 769px) {
  .sponsors div.special-banner {
    margin: 8em auto 0;
  }
}
.sponsors div.special-banner ul {
  margin: 0;
  padding: 0;
  list-style: none;
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
@media print, screen and (min-width: 769px) {
  .sponsors div.special-banner ul {
    flex-direction: row;
  }
}
.sponsors div.special-banner ul h5 {
  margin: 1em 0 0;
  text-align: center;
  font-size: 11px;
}

.preface {
  padding-block: 4.1875rem 7.0625rem;
}

.top-section {
  display: flow-root;
  box-sizing: border-box;
  padding-block: 2.5rem;
}
.top-section:has(.action-block) {
  padding-bottom: 0;
}
.tokuten .top-section {
  padding-bottom: 3.75rem;
}
@media (min-width: 768px) {
  .top-section {
    padding-block: 4.375rem;
  }
  .tokuten .top-section {
    padding-bottom: 7.5rem;
  }
  .speaker .top-section {
    padding-bottom: 85px;
  }
}

div.card-container {
  display: grid;
  gap: 16px 6px;
}
@media print, screen and (min-width: 769px) {
  div.card-container {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-flow: column;
    gap: 0 6px;
    padding: 5px 0 0 3px;
  }
}

/* 講演カード */
.card-seminar {
  --checked: #FFD800;
  --watch-button: #FFA830;
  --sold-out: #BE0000;
  --border-radius: 16px;
  --pad: 16px;
  --card-bg: var(--white);
  --card-body-bg: var(--white);
  position: relative;
  display: grid;
  grid-template-rows: max-content auto max-content;
  height: 100%;
  border-radius: var(--border-radius);
  background-color: var(--card-body-bg);
}
@media print, screen and (min-width: 769px) {
  .card-seminar {
    grid-row: auto/span 3;
    grid-template-rows: subgrid;
  }
}
.card-seminar:has(.card-header input:checked):before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--checked);
  border-radius: var(--border-radius);
  pointer-events: none;
}
.card-seminar:has(.card-header input:checked) .card-header {
  background-color: var(--checked);
}
.card-seminar:has(.applied) {
  --card-header-bg: #FFEED6;
}
.card-seminar:has(.full) .card-header, .card-seminar:has(.conflicted) .card-header {
  --card-header-bg: #F4E2E2;
}
.card-seminar:has(.full) .card-body .uk-card-title,
.card-seminar:has(.full) .card-body h2,
.card-seminar:has(.full) .card-body .teacher-wrap, .card-seminar:has(.conflicted) .card-body .uk-card-title,
.card-seminar:has(.conflicted) .card-body h2,
.card-seminar:has(.conflicted) .card-body .teacher-wrap {
  opacity: 0.5;
}
.card-seminar.unselected {
  background-color: #F1F1F1;
  opacity: 0.4;
}
.card-seminar.long {
  grid-column: 1/5;
}
@media (min-width: 768px) {
  .card-seminar.long div.card-body h2 {
    font-size: 1.375rem;
  }
  .card-seminar.long div.card-body strong {
    font-size: 1rem;
  }
}
.card-seminar.long div.teacher-wrap {
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}
.card-seminar.long div.teacher-wrap:has(.teacher:first-of-type:last-of-type) {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .card-seminar.long div.teacher-wrap:has(.teacher:nth-of-type(2):last-of-type) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .card-seminar.long div.teacher-wrap:has(.teacher:nth-of-type(3):last-of-type) {
    grid-template-columns: repeat(3, 1fr);
  }
}
.card-seminar div.special {
  display: inline-block;
  position: relative;
  height: 24px; /*高さ*/
  line-height: 24px; /*高さ*/
  text-align: center;
  padding: 0 18px; /*文字の2左右の余白*/
  font-size: 13px; /*文字サイズ*/
  background: #d62136; /*背景色*/
  color: #FFF; /*文字色*/
  clip-path: polygon(0% 0%, 100% 0%, calc(100% - 6px) 50%, 100% 100%, 0% 100%, 6px 50%);
}
.card-seminar .labo {
  display: flex;
  max-width: 80px;
  margin-inline-start: auto;
}
.card-seminar .labo svg {
  max-height: 24px;
  width: auto;
}
.card-seminar div.icon-recommend {
  display: inline-block;
  padding: 4px 8px 4px 10px;
  background: #fff847;
  font-weight: bold;
  font-size: 0.6875rem;
  color: #000;
  border-radius: 24px;
}
.card-seminar .btn-open-modal,
.card-seminar .btn-play-movie {
  position: relative;
  display: block;
  padding: 0.69em;
  color: #263357;
  font-size: 16px;
  text-align: center;
  line-height: 1;
  border-radius: 2em;
}
.card-seminar .btn-open-modal:after,
.card-seminar .btn-play-movie:after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  display: block;
  width: 11px;
  height: 7px;
  transform: translateY(-50%) rotate(-90deg);
  background-color: currentColor;
  mask-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10.528 6.854"%3E%3Cpath d="M5.264,6.854.33,1.92A1.126,1.126,0,0,1,1.922.328L5.264,3.671,8.606.328A1.126,1.126,0,0,1,10.2,1.92Z" /%3E%3C/svg%3E');
  mask-size: cover;
}
.card-seminar .btn-open-modal {
  width: min(100%, 319px);
  margin: 0 auto;
  border: 1px solid currentColor;
}
.card-seminar .btn-play-movie {
  padding: 0.69em 2.275em 0.69em 1.6em;
  background-color: var(--watch-button);
}
.card-seminar .btn-play-movie:after {
  right: 18.5px;
  transform: translateY(-33%) rotate(-90deg);
}
@media print, screen and (min-width: 769px) {
  .card-seminar.column-ab, .card-seminar.column-cd {
    grid-column: span 2;
  }
}

div.card-header {
  padding: 16px 0.875rem 13px 1.25rem;
  background-color: var(--card-header-bg, #F1F1F1);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 0;
}
div.card-header a.uk-button {
  margin-right: 6px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  gap: 4px;
}
div.card-header a.uk-button.cancel {
  border: solid 1px #d7d7d7;
  color: #9a9a9a;
  font-weight: bold;
  background: #FFF;
  height: 24px;
  width: 100px;
}
div.card-header a.uk-button:hover {
  opacity: 0.75;
}

div.card-body {
  padding: 0 var(--pad);
  background-color: var(--card-body-bg);
}
div.card-body div.uk-card-title {
  display: flex;
  align-items: center;
  gap: 1em 1.48rem;
  flex-wrap: wrap;
  margin: 0;
  padding: 18px 0 10px;
  background-image: linear-gradient(to right, #CCCBCC, transparent 50%);
  background-size: 2px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
div.card-body div.uk-card-title div.num {
  display: block;
  width: fit-content;
  min-width: 77px;
  padding: 0.42em 0.35em;
  color: #FFF;
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  background-color: var(--smt-dark);
  border: 1px solid #707070;
}
div.card-body .card-date + div.uk-card-title {
  padding-top: 10px;
  background-image: linear-gradient(to right, #CCCBCC, transparent 50%), linear-gradient(to right, #CCCBCC, transparent 50%);
  background-position: left top, left bottom;
}
div.card-body div.card-date {
  padding: 8px 0;
  font-size: 14px;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
}
@media print, screen and (min-width: 769px) {
  div.card-body div.card-date {
    gap: 12px;
    font-size: 18px;
  }
}
div.card-body div.card-date span {
  margin-right: 1em;
  font-size: 14px;
}
div.card-body div.card-date span.time {
  font-family: "Oswald", sans-serif;
}
div.card-body div.card-date div.special {
  margin-left: 0.5em;
}
div.card-body div.card-date div.status {
  background-color: #BC080B;
  color: #FFF;
  font-weight: bold;
  font-size: 12px !important;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  min-width: 60px;
}
@media print, screen and (min-width: 769px) {
  div.card-body div.card-date div.status {
    min-width: 90px;
  }
}
div.card-body h2 {
  margin: 1em 0;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
div.card-body h2 strong {
  margin-top: 8px;
  display: block;
  font-size: 13px;
  font-family: inherit;
}
div.card-body div.teacher-wrap {
  display: grid;
  gap: 16px;
  container: card-seminar/inline-size;
}
div.card-body div.teacher-wrap div.teacher {
  display: grid;
  align-items: center;
  gap: 16px;
}
@container card-seminar (width > 230px) {
  div.card-body div.teacher-wrap div.teacher {
    grid-template-columns: 80px auto;
  }
}
div.card-body div.teacher-wrap div.teacher div.pict {
  width: 100%;
  max-width: 80px;
  text-align: center;
  position: relative;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
}
div.card-body div.teacher-wrap div.teacher div.pict img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
div.card-body div.teacher-wrap div.teacher div.prof p {
  margin: 0;
  font-size: 11px;
  line-height: normal;
}
div.card-body div.teacher-wrap div.teacher div.prof b {
  display: block;
  margin-top: 3px;
  font-size: 0.875rem;
  font-weight: 700;
}

div.card-footer {
  align-self: end;
  padding: 17px var(--pad);
  background-color: var(--card-bg);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  container: card-footer/inline-size;
}
div.card-footer p {
  margin: 0;
  order: 1;
  width: 100%;
}
div.card-footer .card-tokuten {
  display: grid;
  align-items: center;
  gap: 0.625rem 1.375rem;
  margin-bottom: 1.25rem;
  padding: 0.625rem 1.375rem 0.625rem 1.3125rem;
  background-color: #F8F8F8;
  border-radius: 0.625rem;
}
div.card-footer .card-tokuten p:not(.icon-gift) {
  font-size: 0.8125rem;
}
@container card-footer (width > 420px) {
  div.card-footer .card-tokuten {
    grid-template-columns: max-content auto;
  }
}
div.card-footer .icon-gift {
  display: flex;
  align-items: flex-start;
  gap: 0 0.375rem;
  color: var(--color-blue);
  font-size: 0.75rem;
  font-weight: bold;
}
div.card-footer .icon-gift::before {
  content: "";
  display: block;
  width: 0.875rem;
  height: 1.1875rem;
  background-color: currentColor;
  mask-image: url('data:image/svg+xml,<svg viewBox="0 0 14 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.87251 5.3007C10.6969 5.02387 11.3775 4.57299 11.8639 4.02934C12.1067 3.75695 12.3016 3.46119 12.4377 3.14836C12.5735 2.8359 12.6512 2.50525 12.6512 2.1709C12.6512 1.94861 12.6163 1.72559 12.5441 1.51146C12.4631 1.27248 12.3455 1.05539 12.2 0.867617C11.9822 0.584844 11.7027 0.367383 11.3942 0.221172C11.0852 0.075332 10.7462 0 10.4003 0C10.1469 0 9.88994 0.0408203 9.6402 0.125059C9.26524 0.250859 8.90516 0.476484 8.60206 0.80082C8.29824 1.12516 8.05214 1.54709 7.89061 2.05697C7.67935 2.72012 7.04739 4.22453 7.02997 4.26127H6.96972C6.95193 4.22453 6.31997 2.71975 6.10908 2.05697C6.00091 1.71668 5.85644 1.41609 5.68112 1.15744C5.41868 0.769277 5.088 0.475742 4.72755 0.284258C4.36711 0.0916601 3.97871 0 3.59903 0C3.1384 0 2.6883 0.134336 2.30753 0.391504C2.11732 0.519902 1.94454 0.679844 1.79971 0.867988C1.65415 1.05576 1.53654 1.27285 1.4556 1.51184C1.383 1.72633 1.34852 1.94936 1.34888 2.17127C1.34888 2.39393 1.383 2.61547 1.44616 2.8307C1.55687 3.20736 1.75397 3.5651 2.01823 3.89166C2.41533 4.3815 2.96417 4.80344 3.63133 5.10588C4.29814 5.40832 5.08364 5.5909 5.9519 5.5909C6.44339 5.5909 6.98133 5.59498 7.00021 5.5909C7.01908 5.59498 7.55666 5.5909 8.04887 5.5909C8.70987 5.5909 9.32368 5.48514 9.87288 5.30107L9.87251 5.3007ZM9.14908 1.74414C9.32259 1.48771 9.52514 1.3133 9.73857 1.19937C9.95237 1.08545 10.1789 1.03238 10.4003 1.03201C10.6689 1.03201 10.9274 1.11143 11.1346 1.25244C11.2392 1.32295 11.3306 1.4083 11.4072 1.50738C11.4838 1.60646 11.5455 1.71965 11.5894 1.84916C11.6239 1.95047 11.6406 2.05697 11.641 2.1709C11.641 2.28482 11.6236 2.40654 11.5862 2.53383C11.5212 2.75723 11.3938 2.99844 11.2032 3.23334C10.919 3.58514 10.4943 3.91949 9.9589 4.16219C9.42277 4.40525 8.77738 4.55814 8.04815 4.55814C8.00894 4.55814 7.97119 4.55777 7.93453 4.55666C8.19987 4.10207 8.52039 3.41406 8.85071 2.37574C8.93093 2.1234 9.03329 1.91559 9.14945 1.74414H9.14908ZM2.4843 2.72939C2.39755 2.53049 2.35798 2.34123 2.35798 2.1709C2.35798 2.05697 2.37504 1.95047 2.40952 1.84953C2.45345 1.71965 2.51515 1.60646 2.59174 1.50701C2.70645 1.3582 2.85563 1.2402 3.02878 1.15855C3.20156 1.07654 3.39721 1.03201 3.59867 1.03201C3.7464 1.03201 3.89631 1.05576 4.04296 1.10549C4.26329 1.17971 4.47637 1.31107 4.66766 1.5148C4.85823 1.71854 5.02847 1.99723 5.14898 2.37611C5.47893 3.41406 5.79981 4.10244 6.06515 4.55703C6.02813 4.55777 5.99038 4.55852 5.95154 4.55852C5.39581 4.55852 4.88872 4.46982 4.44152 4.3199C3.77108 4.09576 3.23604 3.73135 2.88104 3.33354C2.70282 3.13463 2.57033 2.92793 2.48466 2.72977L2.4843 2.72939Z" fill="black"/><path d="M7.56006 6.40503V9.8395H14.0002V9.78829V8.66054V6.40503H7.56006Z" fill="black"/><path d="M0 8.66054V9.78829V9.8395H6.44009V6.40503H0V8.66054Z" fill="black"/><path d="M14.0002 10.9849H7.56006V19.0001H14.0002V10.9849Z" fill="black"/><path d="M6.44009 10.9849H0V19.0001H6.44009V10.9849Z" fill="black"/></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.user-action {
  --color-apply: #253254;
  --color-tick: #FFD800;
  --color-applied: #FFA830;
  --color-applied-bg: #FFEED6;
  --color-full: #BE0000;
  --color-full-bg: #f4e6e7;
  --border-radius: 1rem;
  --pad: 1rem;
  --fs-label: 0.875rem;
  --icon-tick: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.156 13.489"><path d="M24.395,12.138,17.413,18.5,14.067,15a2.614,2.614,0,0,0-3.871.1,2.688,2.688,0,0,0,.172,3.587l5.348,5.591a2.143,2.143,0,0,0,2.992.1l9.123-8.311a2.689,2.689,0,0,0,.418-3.568,2.612,2.612,0,0,0-3.854-.37" transform="translate(-9.59 -11.456)" /></svg>');
  --icon-cross: url('data:image/svg+xml,<svg viewBox="0 0 11 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.756 10.752L0 9.996L4.592 5.376L0 0.756L0.756 0L5.348 4.62L9.912 0L10.668 0.756L6.076 5.376L10.668 9.996L9.912 10.752L5.348 6.16L0.756 10.752Z" fill="black"/></svg>');
  --icon-full: url('data:image/svg+xml,<svg viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.8249 6.99691L13.4069 3.41491C13.7821 3.03989 13.9929 2.53121 13.993 2.00076C13.9931 1.47031 13.7824 0.961554 13.4074 0.586406C13.0324 0.211257 12.5237 0.000447585 11.9933 0.000353813C11.4628 0.000260041 10.9541 0.210889 10.5789 0.585905L6.99691 4.1679L3.41491 0.585905C3.03976 0.210756 2.53095 0 2.00041 0C1.46986 0 0.961054 0.210756 0.585905 0.585905C0.210756 0.961054 0 1.46986 0 2.00041C0 2.53095 0.210756 3.03976 0.585905 3.41491L4.16891 6.99691L0.585905 10.5789C0.210889 10.9541 0.000260041 11.4628 0.000353813 11.9933C0.000447585 12.5237 0.211257 13.0324 0.586406 13.4074C0.961554 13.7824 1.47031 13.9931 2.00076 13.993C2.53121 13.9929 3.03989 13.7821 3.41491 13.4069L6.99691 9.8249L10.5789 13.4069C10.9561 13.7712 11.4613 13.9728 11.9857 13.9683C12.5101 13.9637 13.0117 13.7534 13.3825 13.3825C13.7534 13.0117 13.9637 12.5101 13.9683 11.9857C13.9728 11.4613 13.7712 10.9561 13.4069 10.5789L9.8249 6.99691Z" fill="black"/></svg>');
  --icon-stop: url('data:image/svg+xml,<svg viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24.042 21.2129L21.2139 24.042L0 2.82812L2.8291 0L24.042 21.2129Z" fill="black"/></svg>');
  --icon-bar: url('data:image/svg+xml,<svg viewBox="0 0 22 4" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="22" height="4" rx="2" fill="black"/></svg>');
}

.user-action-label {
  display: flex;
  align-items: center;
  gap: 0.6875rem;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: bold;
  color: currentColor;
}
.user-action-label span {
  font-size: inherit;
}
.user-action-label .user-action-icon {
  flex: none;
}
.user-action-label .user-action-icon + span {
  flex: auto;
}

.user-action-icon {
  --icon-w: 2.2222222222em;
  --icon-h: 2.2222222222em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-w);
  height: var(--icon-h);
  border-radius: 50%;
  border: 3px solid currentColor;
}
.user-action-icon::before {
  content: "";
  display: block;
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: currentColor;
}
.applied .user-action-icon::before {
  width: 1.0555555556em;
  height: 0.7222222222em;
  mask-image: var(--icon-tick);
}
.full .user-action-icon::before {
  width: 0.7777777778em;
  height: 0.7777777778em;
  mask-image: var(--icon-full);
}
.conflicted .user-action-icon::before {
  width: 1.3888888889em;
  height: 1.3888888889em;
  mask-image: var(--icon-stop);
}
.disabled .user-action-icon::before {
  width: 1.2222222222em;
  height: 0.2222222222em;
  mask-image: var(--icon-bar);
}

.user-action {
  display: flex;
  justify-content: center;
  flex-direction: column;
  color: var(--user-action-status, var(--color-apply));
  font-size: var(--fs-label);
  border-radius: var(--border-radius);
}
@media print, screen and (min-width: 769px) {
  .user-action {
    --fs-label: 1.125rem;
  }
}
.user-action:has(input:disabled) {
  --user-action-status: #cccccc;
}
.user-action.applied {
  --user-action-status: var(--color-applied);
  --user-action-status-bg: var(--color-applied-bg);
}
.user-action.full, .user-action.disabled, .user-action.conflicted {
  --user-action-status: var(--color-full);
  --user-action-status-bg: var(--color-full-bg);
}
.user-action.full .user-action-icon, .user-action.disabled .user-action-icon, .user-action.conflicted .user-action-icon {
  width: 1.8333333333em;
  height: 1.8333333333em;
}
.user-action.conflicted span:last-of-type {
  font-size: 0.875rem;
}

.user-action label {
  cursor: pointer;
}
.user-action input[type=checkbox] {
  --icon-w: 2.125rem;
  --icon-h: 2.125rem;
  background-color: white;
  border: solid 2px currentColor;
  border-radius: 4px;
  appearance: none;
  margin: 0;
  font-size: inherit;
}
.user-action input[type=checkbox]:checked {
  position: relative;
  background-color: currentColor;
}
.user-action input[type=checkbox]:checked:before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-tick);
  mask-image: var(--icon-tick);
  mask-repeat: no-repeat;
  mask-position: 0.4444444444em 0.5555555556em;
  mask-size: 0.9444444444em 0.6666666667em;
}
.user-action input[type=checkbox]:disabled {
  --user-action-status: #cccccc;
}

:root {
  --timetable-blue: #0464AD;
  --white: #ffffff;
}

html:has(.page-timetable) {
  scroll-behavior: smooth;
  scroll-padding-top: var(--spt, 4.375rem);
}
@media (min-width: 768px) {
  html:has(.page-timetable) {
    --spt: 6.25rem;
  }
}

body {
  background-color: transparent;
}

.bg {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

/* ==================================================
  timetable-time
================================================== */
div.tt-header {
  position: relative;
  padding: 1.25rem 1.25rem 1.375rem;
  background-color: var(--white);
}
@media print, screen and (min-width: 769px) {
  div.tt-header {
    padding: 2.5rem 1.25rem 2.625rem;
  }
}

div.tt-intro {
  color: #263357;
}
div.tt-intro div.ttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 18px;
}
@media (min-width: 768px) {
  div.tt-intro div.ttl {
    gap: 48px;
  }
  div.tt-intro div.ttl svg {
    margin-left: 3rem;
  }
  .is-archive div.tt-intro div.ttl {
    gap: 48px 24px;
    margin-bottom: 1.5rem;
  }
}
div.tt-intro div.ttl svg {
  max-width: 80px;
  aspect-ratio: 84/39;
  height: auto;
  fill: #0464AD;
}
@media (min-width: 768px) {
  div.tt-intro div.ttl svg {
    max-width: 84px;
  }
}
div.tt-intro div.ttl .tt-sect-title {
  margin: 0;
  font-weight: bold;
  font-size: 1.4rem;
  color: inherit;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4642857143;
}
@media (min-width: 768px) {
  div.tt-intro div.ttl .tt-sect-title {
    white-space: nowrap;
    font-size: 1.75rem;
  }
}
div.tt-intro div.ttl h3 {
  margin: 6px 0 0;
  font-size: 1rem;
  color: inherit;
  font-family: inherit;
  font-weight: bold;
  line-height: 1.2222222222;
}
@media (min-width: 768px) {
  div.tt-intro div.ttl h3 {
    font-size: 1.125rem;
  }
}
div.tt-intro div.text ul {
  margin: 0;
  padding: 0 0 0 1rem;
  list-style: disc;
}
div.tt-intro div.text ul li {
  line-height: 160%;
  font-size: 0.875rem;
  line-height: 2;
}
div.tt-intro .example {
  width: fit-content;
  margin: 16px 0;
  color: #253254;
  border: 3px solid #b2e5ff;
  background-color: #b2e5ff;
  border-radius: 8px;
}
div.tt-intro .example h3 {
  margin: 0;
  padding: 0.389em 0;
  color: inherit;
  font-size: min(3.094vw, 18px);
  text-align: center;
}
div.tt-intro .example p {
  margin: 0;
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 0 min(2vw, 1.3rem);
  padding: 2px min(2vw, 1.125em) 4px;
  font-size: min(2.578vw, 15px);
  font-weight: 600;
  background-color: var(--white);
  border-radius: 6px;
  letter-spacing: -0.01em;
  line-height: normal;
}
div.tt-intro .example p img {
  width: min(34vw, 213px);
  height: auto;
}
@media (min-width: 768px) {
  div.tt-intro .example p {
    letter-spacing: 0;
  }
}

div#tt-intro-btns {
  position: sticky;
  top: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 1px;
  width: 100%;
  border-top: solid 5px var(--timetable-blue);
  align-items: center;
  background-color: rgb(from var(--white) r g b/0.2);
  backdrop-filter: blur(5px);
}
div#tt-intro-btns > div {
  height: 100%;
  margin-top: 1px;
}
div#tt-intro-btns > div a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0.742em 0;
  font-family: "Oswald", sans-serif;
  letter-spacing: 3px;
  font-weight: bold;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
  background-color: #EAEAEA;
  color: var(--smt-dark);
  line-height: 24px;
}
@media print, screen and (min-width: 769px) {
  div#tt-intro-btns > div a {
    font-size: 30px;
    align-items: baseline;
  }
}
div#tt-intro-btns > div a span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  letter-spacing: 0.5px;
}
@media print, screen and (min-width: 769px) {
  div#tt-intro-btns > div a span {
    font-size: 14px;
  }
}
div#tt-intro-btns > div a:hover {
  opacity: 0.5;
}
div#tt-intro-btns > div.uk-active {
  margin: 0;
}
div#tt-intro-btns > div.uk-active a {
  background-color: var(--timetable-blue);
  color: #FFF;
}

div.tt-wrap {
  overflow: auto;
  padding: 0;
}
div.tt-wrap div.sem-container {
  width: min(100%, 1557px);
  margin: 46px auto;
  padding: 0 12px;
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container {
    margin: 62px auto;
    padding: 0 24px;
  }
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col-date {
    margin: 0 auto;
    display: grid;
    grid-template-columns: 124px 1fr;
    grid-auto-flow: column;
    gap: 1px;
  }
}
div.tt-wrap div.sem-container div.sem-col-date div.day > div,
div.tt-wrap div.sem-container div.sem-col-date div.place-wrap > div {
  display: flex;
  align-items: first baseline;
  justify-content: center;
  width: 100%;
  padding: 0.24em 0;
  color: var(--smt-dark);
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  font-weight: 700;
  background-color: rgba(from var(--white) r g b/0.6);
}
div.tt-wrap div.sem-container div.sem-col-date div.day {
  display: none;
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col-date div.day {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  div.tt-wrap div.sem-container div.sem-col-date div.day span {
    font-family: unset;
    font-size: 0.85rem;
  }
}
div.tt-wrap div.sem-container div.sem-col-date div.place-wrap {
  display: none;
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col-date div.place-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-flow: column;
    gap: 1px;
  }
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col {
    margin: 1px auto 0;
    display: grid;
    grid-template-columns: 124px 1fr;
    grid-auto-flow: column;
    gap: 1px;
  }
}
div.tt-wrap div.sem-container div.sem-col div.head-time {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 12px 0;
  font-weight: bold;
  color: var(--smt-dark);
  background-color: rgba(from var(--white) r g b/0.6);
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col div.head-time {
    margin: 0;
    justify-content: center;
    flex-wrap: wrap;
  }
}
div.tt-wrap div.sem-container div.sem-col div.head-time div {
  padding: 0.5em 1em;
  font-family: "Oswald", sans-serif;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: normal;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col div.head-time div {
    margin: 0 1em;
    padding: 0;
    display: block;
    font-size: 1.875rem;
    height: unset;
  }
}
div.tt-wrap div.sem-container div.sem-col div.head-time div strong {
  display: block;
  margin-right: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: var(--white);
  background-color: var(--smt-dark);
  width: 2em;
  height: 2em;
  border-radius: 50%;
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col div.head-time div strong {
    margin-right: 0;
    margin-bottom: 1rem;
    line-height: 100%;
    width: 69px;
    height: 69px;
  }
}
div.tt-wrap div.sem-container div.sem-col div.head-time div hr {
  margin: 0 6px;
  height: 2px;
  width: 14px;
  border: none;
  background-color: var(--smt-dark);
}
@media print, screen and (min-width: 769px) {
  div.tt-wrap div.sem-container div.sem-col div.head-time div hr {
    margin: 6px auto;
    width: 4px;
    height: 27px;
  }
}

div#Archive {
  padding-top: 40px;
}

div.orderBtnArea {
  margin: 3em auto;
  text-align: center;
}

/* ==================================================
  FLOATING BUTTIN
================================================== */
.tt-filter ul {
  margin: 0;
  padding: 1em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.tt-filter ul li {
  padding: 0;
}
.tt-filter a {
  padding: 2px 12px;
  cursor: pointer;
  font-weight: bold;
  font-size: 12px;
  color: #7C7C7C;
  border-radius: 16px;
  height: 28px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
}
.tt-filter a:hover {
  opacity: 0.5;
}
.tt-filter a.highlight {
  color: #FFF;
  background: var(--timetable-blue);
}
.tt-filter a.disabled_clear {
  padding: 4px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  max-width: 100px;
  background: #FFF;
  color: #666;
  text-decoration: none;
  font-size: 12px;
  height: 28px;
}
.tt-filter a.disabled_clear i {
  margin-right: 0.3em;
}
.tt-filter a.disabled_clear:hover {
  opacity: 0.5;
}

div#tt-filter-wrap {
  background-color: #FFF;
  min-height: 64px;
}
div#tt-filter-wrap.uk-active {
  border-bottom: solid 1px #CCC;
}
@media only screen and (max-width: 768px) {
  div#tt-filter-wrap {
    display: none;
  }
}
div#tt-filter-wrap .tt-filter {
  display: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media print, screen and (min-width: 769px) {
  div#tt-filter-wrap .tt-filter {
    margin: 0 auto;
    padding: 0 1em;
    border-bottom: solid 1px #F3F3F3;
    gap: 4px;
  }
}
div#tt-filter-wrap .tt-filter h2 {
  padding: 0;
  margin: 0 0.5em 0 0;
  font-weight: bold;
  white-space: nowrap;
  font-size: 14px;
  color: #333;
}
div#tt-filter-wrap .tt-filter ul {
  margin: 0;
  padding: 1em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
div#tt-filter-wrap .tt-filter ul li {
  padding: 0;
}
div#tt-filter-wrap .tt-filter ul li a {
  padding: 2px 12px;
  cursor: pointer;
  font-weight: bold;
  font-size: 12px;
  color: #7C7C7C;
  border-radius: 16px;
  height: 28px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
div#tt-filter-wrap .tt-filter ul li a:hover {
  opacity: 0.5;
}
div#tt-filter-wrap .tt-filter ul li a.highlight {
  color: #FFF;
  background: var(--timetable-blue);
}

div#tt-fixed-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
  padding: 0.9375rem 10px;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 30;
  background: rgba(64, 64, 64, 0.8);
}
div#tt-fixed-nav .counter {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0.375em 0.5625em;
  color: #FF8400;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  background-color: white;
  border-radius: 1.125em;
}
div#tt-fixed-nav .counter::before {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.5em;
  background-color: currentColor;
  mask-image: url('data:image/svg+xml,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.2 12C22.2 6.3667 17.6333 1.8 12 1.8C6.3667 1.8 1.8 6.3667 1.8 12C1.8 17.6333 6.3667 22.2 12 22.2V24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24V22.2C17.6333 22.2 22.2 17.6333 22.2 12Z" fill="black"/><path d="M6.60001 11.5964C6.60001 11.325 6.70389 11.0536 6.90974 10.8477C7.32335 10.4338 7.99284 10.4338 8.40645 10.8477L11.0998 13.5424L16.7556 7.77288C17.1692 7.35906 17.8387 7.35906 18.2523 7.77288C18.6659 8.18671 18.6659 8.85653 18.2523 9.27036L11.0998 16.5373L6.90974 12.3451C6.70389 12.1392 6.60001 11.8678 6.60001 11.5964Z" fill="black"/></svg>');
  mask-size: cover;
  mask-repeat: no-repeat;
}
@media (min-width: 42rem) {
  div#tt-fixed-nav {
    padding: 1.875rem 10px;
  }
  div#tt-fixed-nav .counter {
    font-size: 16px;
  }
}
@media (min-width: 1024px) {
  div#tt-fixed-nav .tt-filter-btn {
    position: absolute;
    right: 1.875rem;
  }
}
div#tt-fixed-nav div.uk-inline button#btn-sch {
  padding: 0 8px;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  background: transparent;
  outline: none;
  box-shadow: none;
  border: none;
}
div#tt-fixed-nav div.uk-inline button#btn-sch i {
  font-size: 20px;
}
div#tt-fixed-nav div.uk-inline div.uk-dropdown {
  padding: 0;
  border-left: solid 1px #FFF;
  border-right: solid 1px #FFF;
}
div#tt-fixed-nav div.uk-inline div.uk-dropdown a {
  padding: 1em;
  display: block;
  width: 100%;
  text-decoration: none;
  border-top: solid 1px #FFF;
}
div#tt-fixed-nav div.uk-inline div.uk-dropdown a.live {
  background-color: #8C054A;
  background: #FF416C; /* fallback for old browsers */
  background: -webkit-linear-gradient(to left, #FF4B2B, #FF416C); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to left, #FF4B2B, #FF416C); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  color: #FFF;
}
div#tt-fixed-nav div.uk-inline div.uk-dropdown a.video {
  background-color: #088ec3;
  background: #00B4DB; /* fallback for old browsers */
  background: -webkit-linear-gradient(to left, #0083B0, #00B4DB); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to left, #0083B0, #00B4DB); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  color: #FFF;
}
div#tt-fixed-nav button.tt-login-btn {
  margin: 0 auto;
}

.tt-submit-btn {
  display: flex;
  gap: 0 0.59em;
  align-items: center;
  padding: 0.9166666667em;
  color: var(--smt-dark);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  background-color: #FFD800;
  border-radius: 3.3333333333em;
}
@media print, screen and (min-width: 769px) {
  .tt-submit-btn {
    padding: 0.9166666667em 3.3958333333em;
    font-size: 24px;
  }
}
.tt-submit-btn:hover {
  opacity: 0.75;
  color: #FFF;
}

.tt-filter-btn {
  display: flex;
  gap: 0 0.715em;
  align-items: center;
  padding: 0.77em 1.3em 0.85em 1.07em;
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  background-color: #0DACFC;
  border-radius: 1.5em;
  border: 0;
  appearance: none;
}
.tt-filter-btn:before {
  content: "";
  display: block;
  width: 0.8125em;
  height: 0.8125em;
  background-color: currentColor;
  mask-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.925 16.194"%3E%3Cpath d="M0,0V2.7L6.256,7.557v8.637l3.412-2.159V7.557L15.925,2.7V0Z" transform="translate(0 0)" /%3E%3C/svg%3E');
  mask-size: cover;
}

/* tool tip*/
div.uk-tooltip {
  padding: 12px;
  width: 38em;
  font-size: 11px;
  background: #FFF;
  color: #333;
  box-shadow: 0 0 4px #CCC;
  border-radius: 8px;
}
div.uk-tooltip h3 {
  font-size: 13px;
  margin: 0;
}

div#session-disp {
  background: #FFF;
}

.tt-sem-recommend {
  padding-block: 35px;
  background-color: var(--white);
}
.tt-sem-recommend-container {
  width: min(100%, 1224px);
  margin-inline: auto;
  padding-inline: 12px;
}
.tt-sem-recommend h3 {
  margin: 0 auto 1em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.875rem;
  font-weight: 600;
  text-align: center;
}
.tt-sem-recommend .card-seminar {
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
}
@media print, screen and (min-width: 769px) {
  .tt-sem-recommend {
    padding-block: 70px;
  }
  .tt-sem-recommend h3 {
    font-size: 3.75rem;
  }
  .tt-sem-recommend div.card-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  .tt-sem-recommend .card-seminar {
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
  }
  .is-archive .tt-sem-recommend .card-body {
    display: flex;
    flex-direction: column;
  }
  .is-archive .tt-sem-recommend .thum {
    margin-top: auto;
  }
}

@media (min-width: 640px) {
  #tt-sem-archive div.card-container {
    gap: 0 8px;
    grid-template-columns: repeat(2, 1fr);
  }
  #tt-sem-archive div.card-container .card-seminar {
    grid-row: auto/span 3;
    grid-template-rows: subgrid;
    margin-block: 4px;
  }
}
@media print, screen and (min-width: 769px) {
  #tt-sem-archive div.card-container {
    grid-auto-flow: unset;
  }
}
@media (min-width: 1024px) {
  #tt-sem-archive div.card-container {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  #tt-sem-archive div.card-container {
    grid-template-columns: repeat(4, 1fr);
  }
}

#modal-category .close-button {
  position: relative;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 0 0.5em;
  margin-left: auto;
  padding-inline: 1em;
  color: var(--color-white);
  font-size: 0.75rem;
  background-color: #0DACFC;
  border-radius: 2em;
}
#modal-category .close-button svg {
  width: 0.85em;
  height: 0.85em;
}

/**********************************************/
/* 講演詳細 */
/**********************************************/
div#smt-movie-wrap {
  margin-bottom: 3em;
}
div#smt-movie-wrap * {
  font-size: 14px;
}
div#smt-movie-wrap h3 {
  background: var(--smt-dark);
  padding: 8px;
  text-align: center;
  color: #FFF;
}
div#smt-movie-wrap div.movie-area {
  padding-block: 2em;
}
div#smt-movie-wrap div.movie-area .button-expand {
  display: none;
  padding: 8px;
  background-color: #ffffff;
  border: none;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-area {
    width: 100%;
    display: flex;
  }
  div#smt-movie-wrap div.movie-area .button-expand {
    display: block;
  }
}
div#smt-movie-wrap div.movie-area div.movie-cts {
  aspect-ratio: 16/9;
  width: 100%;
  height: fit-content;
  background-color: #000;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-area div.movie-cts {
    flex: 3;
    transition: flex 0.35s;
  }
}
@media only screen and (max-width: 768px) {
  div#smt-movie-wrap div.movie-area div.movie-cts {
    margin-bottom: 1em;
  }
  div#smt-movie-wrap div.movie-area div.movie-cts iframe {
    width: 100%;
  }
}
div#smt-movie-wrap div.movie-area div.movie-side {
  display: grid;
  grid-template-rows: auto max-content;
  gap: 18px 0;
}
div#smt-movie-wrap div.movie-area div.movie-side iframe {
  min-height: 420px;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-area div.movie-side {
    flex: 1;
    transition: flex 0.35s;
  }
  div#smt-movie-wrap div.movie-area div.movie-side.is-expand {
    flex: 2;
  }
  div#smt-movie-wrap div.movie-area div.movie-side iframe {
    min-height: auto;
  }
}
div#smt-movie-wrap div.movie-area div.movie-side .movie-side-buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px 0;
  height: fit-content;
  background-color: #ffffff;
}
div#smt-movie-wrap div.movie-area div.movie-side .button-download {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 42px;
  min-width: 120px;
  color: #FFF;
  background: #FC6437;
  border-radius: 6px;
}
div#smt-movie-wrap div.movie-area div.movie-side .u-button-text {
  line-height: 1.5;
}
div#smt-movie-wrap div.enq-tokuten-area {
  margin: 0 0 1em;
}
div#smt-movie-wrap div.enq-tokuten-area h4 {
  margin: 1em 0 0.5em;
  color: #FC6437;
  font-weight: 700;
  font-size: 22px;
  text-align: center;
  line-height: 1.6;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.enq-tokuten-area h4 {
    font-size: 30px;
  }
}
div#smt-movie-wrap div.enq-tokuten-area .enq-tokuten-text {
  display: grid;
  gap: 2rem;
}
div#smt-movie-wrap div.enq-tokuten-area a.movie-enq-btn {
  display: block;
  width: fit-content;
  margin: 1em auto 0;
  padding: 1em 2em;
  color: white;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  background-color: #FC6437;
  border-radius: 1.5em;
}
div#smt-movie-wrap div.enq-tokuten-area a.movie-enq-btn:hover {
  opacity: 0.75;
}
div#smt-movie-wrap div.enq-tokuten-area div.gift {
  margin: 0 auto;
  padding: 1.5rem;
  width: min(100%, 740px);
  box-sizing: border-box;
  text-align: left;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
}
div#smt-movie-wrap div.enq-tokuten-area div.gift h5 {
  width: min(100%, 330px);
  margin: 0 auto 1.5em;
  padding: 0.54em 0.25em;
  color: #FC6437;
  font-size: 0.875rem;
  text-align: center;
  font-weight: bold;
  background-color: oklch(92.4% 0.12 95.746deg);
  border-radius: 6px;
}
div#smt-movie-wrap div.enq-tokuten-area div.gift p {
  margin: 1em 0;
  padding: 0 1em;
  text-align: center;
  line-height: 1.6;
}
div#smt-movie-wrap div.enq-tokuten-area div.gift p b {
  display: block;
  color: #F54545;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: underline;
}
div#smt-movie-wrap div.enq-tokuten-area div.gift p:first-of-type {
  font-size: 1rem;
  font-weight: 700;
}
div#smt-movie-wrap div.enq-tokuten-area div.gift p:nth-of-type(2) {
  font-size: 0.875rem;
}
div#smt-movie-wrap div.movie-dl-area {
  padding: 2em 0;
}
div#smt-movie-wrap div.movie-dl-area div.dl-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-dl-area div.dl-area {
    grid-template-columns: repeat(4, 1fr);
  }
}
div#smt-movie-wrap div.movie-dl-area div.dl-area div.uk-card a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
div#smt-movie-wrap div.movie-dl-area div.dl-area div.uk-card a div.text {
  margin-left: 1em;
  font-size: 13px;
}
div#smt-movie-wrap div.movie-dl-area div.dl-area div.uk-card a h4 {
  margin-bottom: 0;
}
div#smt-movie-wrap div.movie-dl-area div.company {
  margin: 1rem 0;
  padding: 1em;
  text-align: right;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-dl-area div.company {
    padding: 2em 1em;
    gap: 8px;
  }
}
div#smt-movie-wrap div.movie-dl-area div.company div {
  text-align: right;
}
div#smt-movie-wrap div.movie-foot {
  margin: 2em auto;
  padding: 2em 0;
  background-color: #FFF;
}
div#smt-movie-wrap div.movie-foot ul {
  margin: 0;
  padding: 0 !important;
}
div#smt-movie-wrap div.movie-foot div.btnarea {
  display: flex;
  gap: 0.5em 1em;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 3em;
  text-align: center;
}
div#smt-movie-wrap div.movie-foot div.btnarea a {
  width: min(100%, 350px);
  padding-inline: 1em;
}
div#smt-movie-wrap div.movie-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 3;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-bottom-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1em;
  }
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-head {
  background: transparent;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-bottom-nav div.movie-head {
    padding: 1.2em;
  }
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-head div.ttl-wrap {
  margin: 0 auto;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-bottom-nav div.movie-head div.ttl-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-head div.ttl-wrap div.num {
  width: 30%;
  margin: 0.5em 0 1em;
  background: var(--smt-dark);
  color: #FFF;
  text-align: center;
  font-family: "Oswald", sans-serif;
  font-weight: normal;
  line-height: 24px;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-bottom-nav div.movie-head div.ttl-wrap div.num {
    margin: 0 1em 0;
    width: 58px;
    height: 58px;
    line-height: 58px;
    min-width: 58px;
    font-size: 18px;
  }
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-head div.ttl-wrap h1 {
  margin: 0 0 0.5em;
  font-size: 1.4em;
  line-height: 140%;
  color: #FFF;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-head div.ttl-wrap h2 {
  margin: 0;
  font-size: 1em;
  color: #FFF;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-head div.ttl-wrap p {
  margin: 0;
  color: #FFF;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-bottom-nav div.movie-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav ul li {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav ul li a {
  padding: 0 1em;
  color: #FFF;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav ul li a i {
  margin-left: 4px;
  height: 12px;
  color: #fd8d1c;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav ul li a:hover {
  opacity: 0.75;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav ul li:after {
  margin-left: 4px;
  height: 14px;
  content: "";
  border-right: solid 1px #CCC;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav ul li:last-child:after {
  display: none;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav .balloon {
  display: none;
}
div#smt-movie-wrap div.movie-bottom-nav div.movie-nav .balloon:before {
  display: none;
}
@media print, screen and (min-width: 769px) {
  div#smt-movie-wrap div.movie-bottom-nav div.movie-nav .balloon {
    position: absolute;
    top: -100px;
    left: 0px;
    display: inline-block;
    margin: 1.5em 0;
    padding: 1em;
    width: 120px;
    min-height: 50px;
    background: #FC6437;
    box-sizing: border-box;
    border-radius: 8px;
  }
  div#smt-movie-wrap div.movie-bottom-nav div.movie-nav .balloon p {
    margin: 0;
    white-space: normal;
    line-height: 140%;
    font-size: 11px;
    color: #FFF;
    text-align: left;
  }
  div#smt-movie-wrap div.movie-bottom-nav div.movie-nav .balloon:before {
    display: block;
    content: "";
    position: absolute;
    bottom: -25px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #FC6437;
    z-index: 0;
  }
}

div#movie-qa h2 {
  font-size: 1.2rem;
  text-align: center;
}
div#movie-qa ul.uk-list-divider {
  padding: 0;
}
div#movie-qa ul.uk-list-divider > li {
  padding: 1.5em 0;
}
div#movie-qa ul.uk-list-divider > li h3 {
  font-size: 1.15rem;
  font-weight: bold;
  color: var(--smt-dark);
}
div#movie-qa ul.uk-list-divider > li ul li {
  padding: 0;
  list-style: none;
}

div#movie-info h2 {
  font-size: 1.2rem;
  text-align: center;
}
div#movie-info ul.uk-list-divider {
  padding: 0;
}
div#movie-info ul.uk-list-divider > li {
  padding: 1.5em 0;
}
div#movie-info ul.uk-list-divider > li div.info-wrap div.info-head {
  margin-bottom: 0.3em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
div#movie-info ul.uk-list-divider > li div.info-wrap div.info-head div.title {
  font-size: 1.15rem;
  font-weight: bold;
  color: var(--smt-dark);
}
div#movie-info ul.uk-list-divider > li div.info-wrap div.info-body {
  font-size: 12px;
  line-height: 150%;
}
div#movie-info ul.uk-list-divider > li i {
  margin-right: 4px;
  height: 12px;
  color: #fd8d1c;
}

div#modal-enq {
  top: unset;
  height: 50vh;
  padding: 0;
  outline: none !important;
  background: #FFF;
  border-radius: 18px 18px 0 0;
  box-shadow: -4px 0 12px #626262;
  overflow: hidden;
  opacity: 0.75;
  transform: translateY(500px);
  transition: 0.3s linear;
  transition-property: opacity, transform;
}
div#modal-enq.uk-open {
  opacity: 1;
  transform: translateY(0px);
}
div#modal-enq div.uk-modal-dialog {
  padding: 42px 12px 12px;
  width: 100% !important;
  position: relative;
  height: 100%;
}
div#modal-enq div.uk-modal-dialog button.uk-close {
  top: 18px;
  right: 18px;
  color: #000;
  position: fixed;
}
div#modal-enq div.uk-modal-dialog button.uk-close:hover {
  opacity: 0.5;
}
div#modal-enq div.uk-modal-dialog div.enq-wrap {
  margin: 0 auto;
  width: 100% !important;
  overflow: hidden;
  overflow-y: auto;
  height: 100%;
}
div#modal-enq div.uk-modal-dialog div.enq-wrap::-webkit-scrollbar {
  width: 10px;
}
div#modal-enq div.uk-modal-dialog div.enq-wrap::-webkit-scrollbar-track {
  background-color: var(--smt-pale);
}
div#modal-enq div.uk-modal-dialog div.enq-wrap::-webkit-scrollbar-thumb {
  background-color: var(--smt-dark);
}
div#modal-enq div.uk-modal-dialog div.enq-wrap div.uk-modal-header {
  margin-bottom: 18px;
  padding: 0 0 18px;
}
div#modal-enq div.uk-modal-dialog div.enq-wrap div.uk-modal-header h2.uk-modal-title {
  font-size: 14px;
  text-align: center;
}
div#modal-enq div.uk-modal-dialog div.enq-wrap div.uk-modal-body {
  margin: 0 auto;
  padding: 12px;
  max-width: 960px;
}
div#modal-enq div.uk-modal-dialog div.enq-wrap .CmnBtnClr {
  color: #FFF;
}
div#modal-enq h2 {
  font-size: 1.3rem;
}

.CmnBtnClr {
  background: #FF3300 !important;
}

.CmnBtnClr:hover {
  background: #F7BF00 !important;
}

ul.cmn-enq-list {
  margin: 0;
  padding: 0;
}
ul.cmn-enq-list li {
  margin-bottom: 2em;
}
ul.cmn-enq-list li div.enq-ttl {
  margin-bottom: 1em;
  display: flex;
  font-weight: bold;
  color: #133379;
  align-items: center;
}
ul.cmn-enq-list li div.enq-ttl div.num {
  margin-right: 1em;
  padding: 4px 8px;
  font-size: 0.7875rem;
  align-self: baseline;
  background: #133379;
  color: #fff;
  font-weight: normal;
}
ul.cmn-enq-list li div.enq-cts label {
  margin-bottom: 0.5em;
  display: flex;
  line-height: 24px;
  align-items: center;
}
ul.cmn-enq-list li div.enq-cts label input {
  min-width: 16px;
}
ul.cmn-enq-list li div.enq-cts label input + textarea {
  margin: 8px 20px;
}
@media only screen and (max-width: 768px) {
  ul.cmn-enq-list li div.enq-cts label input + textarea {
    max-width: 300px;
    width: 90%;
  }
}
ul.cmn-enq-list li div.enq-cts label p {
  margin: 0;
}

h1.lab {
  color: #84262d;
}
h1.lab svg {
  max-height: 60px;
  height: auto;
  z-index: 1;
  position: relative;
  fill: #263357;
  max-width: 15%;
}

#NHLWrap {
  padding: 3rem 0;
  background: #eaeaea;
}
#NHLWrap h2 {
  font-size: 1.3rem;
  font-weight: bold;
}
#NHLWrap h2 + p {
  font-size: 1rem;
}
#NHLWrap h1.uk-h1 {
  color: #84262d;
  font-size: 1.8rem;
  font-weight: bold;
}
#NHLWrap div.card-wrap {
  margin-top: 3rem;
  padding: 8px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
  gap: 8px;
}
@media print, screen and (min-width: 769px) {
  #NHLWrap div.card-wrap {
    padding: 12px;
    gap: 12px;
  }
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card {
  height: 100%;
  border-radius: 20px;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header {
  padding: 20px 17px 0;
  border: none;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25em 0;
  margin-bottom: 13px;
  padding-bottom: 13px;
  border-bottom: 1px solid #E4E4E4;
  /* タイトル回り */
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.SesNum {
  margin-right: 10px;
  padding-inline: 0.5em;
  font-size: 1.1375rem;
  font-family: "Oswald", sans-serif;
  display: inline-block;
  height: 45px;
  min-width: 70px;
  background: var(--smt-dark);
  line-height: 45px;
  color: #FFF !important;
  text-align: center;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.date {
  margin: 0;
  gap: 6px;
  font-size: 14px;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media print, screen and (min-width: 769px) {
  #NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.date {
    gap: 12px;
    font-size: 18px;
  }
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.date span {
  margin-right: 1em;
  font-size: 14px;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.date span.time {
  font-family: "Oswald", sans-serif;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.icon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex-direction: column;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.icon div.special {
  margin-left: 0.5em;
  display: inline-block;
  position: relative;
  height: 24px; /*高さ*/
  line-height: 24px; /*高さ*/
  text-align: center;
  padding: 0 18px; /*文字の2左右の余白*/
  font-size: 13px; /*文字サイズ*/
  background: #d62136; /*背景色*/
  color: #FFF; /*文字色*/
  box-sizing: border-box;
  clip-path: polygon(0% 0%, 100% 0%, calc(100% - 6px) 50%, 100% 100%, 0% 100%, 6px 50%);
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.icon div.status {
  background-color: #BC080B;
  color: #FFF;
  font-weight: bold;
  font-size: 12px !important;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  min-width: 60px;
}
@media print, screen and (min-width: 769px) {
  #NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header div.info div.icon div.status {
    min-width: 90px;
  }
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header a {
  text-decoration: underline;
  color: #333;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header a:hover * {
  color: #1565c0;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header a h3 {
  margin: 0 0 0.5rem;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: normal;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-header a h4 {
  margin: 0;
  font-weight: bold;
  font-size: 0.8125rem;
  line-height: normal;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-body {
  padding: 20px 17px;
  font-size: 0.9375rem;
  line-height: 1.6;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-body img {
  max-width: 100%;
  height: auto;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-body p.uk-text-meta {
  margin-top: 1em;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-footer {
  padding: 0 17px 20px;
  border: none;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-footer .uk-grid-small {
  margin-left: 0;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-footer .uk-width-1-4 {
  width: fit-content;
  padding-left: 0;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-footer img {
  max-width: 80px;
  width: 100%;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-footer p.name {
  font-size: 0.6875rem;
  line-height: 1.5;
}
#NHLWrap div.card-wrap div.nhlCard div.uk-card div.uk-card-footer p.name strong {
  margin-bottom: 0.3125rem;
  font-size: 1.5454545455em;
  font-weight: bold;
  color: #111;
  display: block;
}
#NHLWrap .page-nav {
  margin-block: 2.5rem;
}
#NHLWrap .page-nav .button {
  position: relative;
  display: block;
  width: min(100%, 392px);
  margin: 0 auto;
  padding: 0.8em 0.85em;
  color: var(--color-navy);
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
  line-height: normal;
  background-color: rgba(255, 255, 255, 0.8);
  border: 2px solid currentColor;
  border-radius: 2em;
  transition: all 0.25s;
}
#NHLWrap .page-nav .button:after {
  content: "";
  position: absolute;
  right: 0.85em;
  top: calc(50% - 0.75ch);
  display: block;
  width: 0.6em;
  height: 0.9em;
  background-color: currentColor;
  mask-image: var(--caret-r);
  mask-size: contain;
  mask-repeat: no-repeat;
}
#NHLWrap .page-nav .button:hover {
  color: var(--color-white);
  background-color: var(--color-navy);
  border-color: var(--color-navy);
}
@media print, screen and (min-width: 769px) {
  #NHLWrap .page-nav .button {
    font-size: 1.25rem;
  }
}

/*--------------------------------------------------------------------------------------------------
 コンテンツエリア
*/
#QaWrap {
  display: grid;
  gap: 3rem 1.25rem;
  padding-top: 40px;
  line-height: 1.6;
  /* NAVIGATION */
}
#QaWrap #QaLeft {
  background: #FFF;
}
#QaWrap #QaLeft ul {
  display: grid;
  gap: 3px 0;
  padding: 0;
  width: 100%;
  list-style: none;
}
#QaWrap #QaLeft ul a {
  display: block;
  padding: 12px;
  font-size: 0.875rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
}
#QaWrap #QaLeft ul a:hover {
  text-decoration: none;
  background: var(--smt-pale);
  color: #FFF;
}
#QaWrap #QaRight h2 {
  margin: 1em 0;
  color: var(--smt-primary);
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
}
#QaWrap #QaRight h3 {
  margin-bottom: 1em;
  background: #333333;
  padding: 6px 12px;
  font-weight: bold;
  color: #FFF;
}
#QaWrap #QaRight div.list {
  margin-bottom: 2em;
  padding: 1em;
  border: solid 1px #CCC;
}
#QaWrap #QaRight dt {
  display: flex;
  gap: 0 1em;
  margin-bottom: 1em;
  padding-top: 1em;
  font-weight: bold;
  border-top: dotted 2px #CCC;
  font-size: 1rem;
  position: relative;
  color: var(--smt-dark);
}
#QaWrap #QaRight dt strong {
  height: fit-content;
  padding: 2px 4px;
  background: var(--smt-dark);
  color: #FFF;
  font-size: 0.75rem;
}
#QaWrap #QaRight dd {
  margin-bottom: 3em;
  font-size: 0.875rem;
}
#QaWrap #QaRight dd > ol {
  list-style: none;
}
#QaWrap #QaRight dd > ol > li {
  margin-bottom: 0.5em !important;
  padding: 0;
}
#QaWrap #QaRight dd > ol > li > ul {
  list-style: disc;
}
#QaWrap #QaRight dd h4 {
  margin: 2rem 0 0;
  font-size: 1rem;
  font-weight: bold;
}
@media print, screen and (min-width: 769px) {
  #QaWrap {
    grid-template-columns: 260px auto;
  }
  #QaWrap #QaLeft ul {
    position: sticky;
    top: 0;
  }
  #QaWrap #QaLeft ul a {
    font-size: 1rem;
    text-align: left;
  }
  #QaWrap #QaRight h2 {
    margin-block: 2em;
    font-size: 1.25rem;
  }
  #QaWrap #QaRight h5 {
    font-size: 1.125rem;
    font-weight: bold;
  }
  #QaWrap #QaRight dt {
    font-size: 1.125rem;
  }
  #QaWrap #QaRight dd {
    padding-left: 5ch;
    font-size: 1rem;
  }
}

.privacy-policy {
  width: min(94%, 1200px);
  margin-inline: auto;
}
.privacy-policy h1 {
  font-size: 1.4rem;
  margin: 1.75rem auto;
  line-height: 150%;
}
.privacy-policy .note {
  font-size: 0.9625rem;
  margin-bottom: 1.75rem;
}
.privacy-policy-list {
  display: grid;
  gap: 1rem;
}
.privacy-policy-list > div {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 0.875rem;
}
.privacy-policy dt {
  font-weight: bold;
  font-size: 1.125rem;
}
.privacy-policy dd {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
}
.privacy-policy dd a[href=""] {
  color: red;
}

@media print, screen and (min-width: 769px) {
  .privacy-policy-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.875rem;
  }
  .privacy-policy h1 {
    font-size: 1.75rem;
    margin: 4.375rem auto 2.625rem;
  }
  .privacy-policy .note {
    margin-bottom: 4.375rem;
  }
  .privacy-policy dt {
    font-size: 1.225rem;
  }
}
#modal-login h2 {
  font-size: 1.25rem;
}
#modal-login a {
  color: rgb(2, 101, 203);
}
#modal-login .uk-modal-dialog {
  width: 860px;
}

#CmnLogin1Colum {
  margin: 0 auto;
  max-width: 640px;
  border-radius: 4px;
  padding: 2em 1em;
  box-sizing: border-box;
}
#CmnLogin1Colum .uk-checkbox {
  margin-right: 4px;
  border-color: #0e417d;
}
#CmnLogin1Colum .uk-checkbox:checked {
  background-color: #0e417d;
}
#CmnLogin1Colum .uk-button-primary {
  padding-inline: 1.4em;
  font-size: 13px;
  background-color: #0e417d;
}
#CmnLogin1Colum div.formwarp {
  display: flex;
  flex-direction: column;
  gap: 8px 18px;
  margin-bottom: 6px;
}
#CmnLogin1Colum div.formwarp div.inputwrap {
  position: relative;
  width: 100%;
}

@media (min-width: 640px) {
  #modal-login .uk-section {
    padding-bottom: 0;
  }
  #CmnLogin1Colum {
    padding: 2em;
  }
  #CmnLogin1Colum div.formwarp {
    flex-direction: row;
    justify-content: space-between;
  }
  #CmnLogin1Colum div.formwarp div.inputwrap {
    width: 50%;
  }
}
