* {
  letter-spacing: 0.08em;
  scroll-margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  * {
    letter-spacing: 0.05em;
  }
}

html {
  --fw: 100vw;
  overflow-x: hidden;
  overscroll-behavior-y: none;
  scrollbar-gutter: stable;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.388888888vw;
  }
}
@media screen and (min-width: 1153px) {
  html {
    font-size: 16px;
  }
}

body {
  color: #363434;
  font-family: "Noto Sans JP", sans-serif;
}

html[data-lang=en] body,
html:has(.newheader--en) body {
  font-family: "Roboto", sans-serif;
}

button {
  color: #363434;
}

.newsite * {
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px !important;
}

.newsite .kjmHoverLink {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .newsite .kjmHoverLink {
    transition: color 0.2s ease;
  }
  .newsite .kjmHoverLink:hover {
    color: #9ea3a6 !important;
  }
}
.newsite .kjmHeaderFollow {
  transition: top 0.3s ease-in-out;
  will-change: top;
}

html:has(.kjmHeaderFollow) #newheader:not([data-visible=true]) {
  transform: translateY(-64px);
}
@media screen and (min-width: 768px) {
  html:has(.kjmHeaderFollow) #newheader:not([data-visible=true]) {
    transform: translateY(-100px);
  }
}

html:has(#newheader[data-visible=true]) .kjmHeaderFollow {
  top: 64px !important;
}
@media screen and (min-width: 768px) {
  html:has(#newheader[data-visible=true]) .kjmHeaderFollow {
    top: 100px !important;
  }
}

.timeline {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .timeline > dl {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 2rem;
  }
  .timeline dt {
    width: auto;
    margin-right: 0;
    padding: 0 0 1rem;
    padding-right: 0;
    border-right: none;
    text-align: left;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4;
    letter-spacing: 0.08em;
    font-family: "Noto Sans JP", sans-serif;
    color: #363434;
  }
  .timeline > dl::after {
    display: none;
  }
  .timeline dd {
    flex: none;
    margin-left: 1.5rem;
    padding: 0 0 0 1.5rem;
    border-bottom: none;
    border-left: 1px solid #9ea3a6;
    font-size: 1rem;
    line-height: 1.85;
    letter-spacing: 0.08em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #363434;
  }
  .timeline dd > div {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
  .timeline dd > div > div:first-child {
    flex: none;
  }
  .timeline dd > div > img {
    flex-shrink: 0;
  }
}
@media screen and (min-width: 768px) {
  .timeline > dl {
    display: flex;
    align-items: stretch;
    position: relative;
  }
  .timeline dt {
    flex-shrink: 0;
    width: 15rem;
    padding: 2.5rem 0;
    padding-right: 1.625rem;
    border-right: 1px solid #9ea3a6;
    text-align: left;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4;
    letter-spacing: 0.08em;
    font-family: "Noto Sans JP", sans-serif;
    color: #363434;
  }
  .timeline > dl::after {
    content: "";
    position: absolute;
    left: 14.625rem;
    top: 2.875rem;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background-color: #e6002d;
    z-index: 1;
  }
  .timeline dd {
    flex: 1;
    margin-left: 2.5rem;
    padding: 2.5rem 0 2.5rem 1.25rem;
    border-bottom: 1px solid #9ea3a6;
    font-size: 1rem;
    line-height: 1.85;
    letter-spacing: 0.08em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #363434;
  }
  .timeline > dl:last-child dd {
    border-bottom: none;
  }
  .timeline dd > div {
    display: flex;
    gap: 2.5rem;
    align-items: flex-start;
  }
  .timeline dd > div > div:first-child {
    flex: 1;
  }
  .timeline dd > div > img {
    flex-shrink: 0;
  }
}

.toggleCellTable .toggleCellTable__input {
  display: none;
}
.toggleCellTable .toggleCellTable__icon::before, .toggleCellTable .toggleCellTable__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: #595757;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
.toggleCellTable .toggleCellTable__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.toggleCellTable .toggleCellTable__icon:hover::before, .toggleCellTable .toggleCellTable__icon:hover::after {
  background-color: #9ea3a6;
}
.toggleCellTable .toggleCellTable__body {
  display: none;
}
.toggleCellTable .toggleCellTable__input:checked ~ .toggleCellTable__body {
  display: block;
}
.toggleCellTable .toggleCellTable__input:checked ~ .toggleCellTable__header .toggleCellTable__icon::after {
  opacity: 0;
}

.newsite .kjmTable table.toggleCellTable .toggleCellTable__row th {
  vertical-align: middle;
}

.newsite .kjmTable table.toggleCellTable .toggleCellTable__row:has(.toggleCellTable__input:checked) th {
  vertical-align: top;
  padding-top: 1.5rem;
}

.newsite .base-status-btn {
  --bg-color: #e6002d;
  --text-color: #fff;
  height: 2.125rem;
  border: 1px solid var(--bg-color, #e6002d);
  background-color: var(--bg-color, #e6002d);
  color: var(--text-color, #fff);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 0 0.75rem;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
}
.newsite .base-status-btn--outline {
  background-color: transparent;
  color: #e6002d;
}
.newsite .base-new-label {
  height: 1.25rem;
  padding: 0 1rem;
  position: absolute;
  left: 0;
  top: 1rem;
  z-index: 20;
  background-color: #363434;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: normal;
  font-family: "Roboto Condensed", sans-serif;
}
.newsite .base-ul-disc {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 1.25rem;
}
.newsite .base-ul-disc > li {
  list-style-type: disc;
}
.newsite .base-ul-square {
  list-style-type: square;
  list-style-position: outside;
  padding-left: 1.25rem;
}
.newsite .base-ul-square > li {
  list-style-type: square;
}
.newsite .base-ul-latin {
  list-style-type: lower-latin;
  list-style-position: outside;
  padding-left: 1.25rem;
}
.newsite .base-ul-latin > li {
  list-style-type: lower-latin;
}
.newsite .base-ol-decimal {
  list-style-type: decimal;
  list-style-position: outside;
  padding-left: 2rem;
}
.newsite .base-ol-decimal > li {
  list-style-type: decimal;
}
.newsite .base-grid-border {
  border-top: 1px solid #9ea3a6;
  border-left: 1px solid #9ea3a6;
}
.newsite .base-grid-border > * {
  border-right: 1px solid #9ea3a6;
  border-bottom: 1px solid #9ea3a6;
}
.newsite .scroll-hint-container {
  position: relative;
}
.newsite .scroll-hint-container .js-scroll-hint {
  overflow: auto;
}
.newsite .scroll-hint-container.show-icon::after {
  opacity: 1;
  visibility: visible;
  transition: none;
}
.newsite .scroll-hint-container::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 5rem;
  height: 4.75rem;
  z-index: 10;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3csvg%20width='80'%20height='76'%20viewBox='0%200%2080%2076'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20opacity='0.75'%20width='80'%20height='76'%20rx='4'%20fill='%23363434'/%3e%3cpath%20d='M14.41%2056.578C14.312%2056.718%2014.102%2057.068%2014.004%2057.306C13.514%2058.454%2012.688%2060.036%2011.708%2061.296C13.15%2062.528%2014.844%2064.334%2015.712%2065.398L14.48%2066.49C13.556%2065.23%2012.156%2063.69%2010.77%2062.402C9.272%2063.998%207.382%2065.496%205.38%2066.434L4.246%2065.244C6.514%2064.376%208.614%2062.696%2010%2061.142C10.952%2060.078%2011.89%2058.538%2012.226%2057.446H7.088C6.542%2057.446%205.786%2057.516%205.562%2057.53V55.948C5.842%2055.99%206.654%2056.046%207.088%2056.046H12.282C12.8%2056.046%2013.262%2055.99%2013.5%2055.906L14.41%2056.578ZM25.442%2055.108C25.162%2055.528%2024.868%2056.074%2024.714%2056.354C24.658%2056.466%2024.588%2056.592%2024.518%2056.704H27.878C28.27%2056.704%2028.662%2056.662%2028.928%2056.564L30.076%2057.264C29.936%2057.488%2029.782%2057.838%2029.684%2058.118C29.306%2059.462%2028.48%2061.338%2027.22%2062.878C25.932%2064.474%2024.238%2065.748%2021.62%2066.756L20.318%2065.594C23.02%2064.782%2024.686%2063.55%2025.932%2062.094C26.968%2060.904%2027.808%2059.14%2028.06%2057.964H23.692C22.796%2059.168%2021.606%2060.414%2020.136%2061.394L18.904%2060.47C21.34%2059.014%2022.642%2057.068%2023.3%2055.836C23.468%2055.556%2023.706%2054.982%2023.818%2054.576L25.442%2055.108ZM34.318%2056.256C34.878%2056.284%2035.326%2056.284%2035.676%2056.284H43.278C43.6%2056.284%2044.104%2056.284%2044.566%2056.27C44.538%2056.648%2044.538%2057.082%2044.538%2057.474V64.348C44.538%2064.838%2044.566%2066.042%2044.566%2066.154H43.04C43.054%2066.084%2043.054%2065.762%2043.068%2065.37H35.816C35.816%2065.748%2035.816%2066.084%2035.83%2066.154H34.304C34.318%2066.028%2034.346%2064.908%2034.346%2064.348V57.474C34.346%2057.11%2034.346%2056.62%2034.318%2056.256ZM35.802%2057.684V63.97H43.068V57.684H35.802ZM48.458%2059.756C48.92%2059.784%2049.788%2059.84%2050.544%2059.84H58.16C58.832%2059.84%2059.378%2059.784%2059.728%2059.756V61.492C59.42%2061.478%2058.776%2061.422%2058.16%2061.422H50.544C49.774%2061.422%2048.934%2061.45%2048.458%2061.492V59.756ZM69.01%2065.692C69.066%2065.454%2069.108%2065.132%2069.108%2064.81V56.522C69.108%2055.948%2069.024%2055.486%2069.024%2055.402H70.648C70.634%2055.486%2070.578%2055.948%2070.578%2056.522V64.264C71.796%2063.718%2073.378%2062.528%2074.386%2061.044L75.24%2062.248C74.05%2063.83%2072.076%2065.3%2070.466%2066.112C70.214%2066.252%2070.046%2066.378%2069.934%2066.462L69.01%2065.692ZM62.556%2065.566C63.774%2064.726%2064.572%2063.452%2064.978%2062.164C65.384%2060.918%2065.384%2058.188%2065.384%2056.578C65.384%2056.102%2065.356%2055.766%2065.272%2055.444H66.896C66.882%2055.556%2066.826%2056.074%2066.826%2056.564C66.826%2058.16%2066.77%2061.142%2066.392%2062.542C65.972%2064.082%2065.09%2065.454%2063.9%2066.462L62.556%2065.566Z'%20fill='white'/%3e%3cpath%20d='M25%2020L16%2029L25%2038'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M55%2020L64%2029L55%2038'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3ccircle%20cx='40'%20cy='29'%20r='4.5'%20fill='white'%20stroke='white'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  opacity: 0;
  visibility: hidden;
}