@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap");
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

a, button {
  cursor: revert;
}

ol, ul, menu, summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

:where(pre) {
  all: revert;
  box-sizing: border-box;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-details-marker {
  display: none;
}

/* Settings
---------------------------------------------------------- */
/* Theme
---------------------------------------------------------- */
/* Color
---------------------------------------------------------- */
/* Font
---------------------------------------------------------- */
/* Breakpoints
---------------------------------------------------------- */
/* Bootstrap 参考 */
/**
* @ Media Query(1方向 || 範囲指定)
* params: $key : variables/breakpointsで定義しているマップのキー
* params: $option : (up/down) or (variables/breakpointsのキー)
*/
/* Base(  @layer Base )
---------------------------------------------------------- */
/**
* Available vars:
* @var --viewport-from: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --viewport-to: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --font-size-from: <number> - Number in pixels without the unit. Required if `--font-size` and `--min-font-size` is not exist.
* @var --font-size-to: <number> - Number in pixels without the unit. Required if `--font-size` and `--max-font-size` is not exist.
* @var --max-font-size: <number> - Number in pixels without the unit. Optional.
* @var --min-font-size: <number> - Number in pixels without the unit. Optional.
* @var --viewport-unit-converter: 1vw | 1vh | 1vmin | 1vmax - Optional. Default: 1vw.
* @var --font-size: <length> | <percentage> | <absolute-size> | <relative-size> | Global values - Optional.
*/
*,
*::before,
*::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

:root {
  --viewport-from: 375;
  --viewport-to: 1024;
  --clr-primary: #0011FF;
  --clr-secondary: #ddd;
  --clr-primary-gry: #313131;
  --clr-bg-gry: #F6F6F6;
  --fc-default: #313131;
  --link-clr-default: #0000ee;
  --link-clr-visited: #551a8b
  --link-clr-hover : #0000ee;
  --link-clr-active: #FF0000;
  --theme-inline-size-min: 90%;
  --theme-inline-size-max: 1260px;
  --theme-inline-size-native: 1260;
  --theme-side-gap: min(5vw, 48px);
  --inner-size-min: calc( 100% - ( var(--theme-side-gap) * 2 ) );
  --inner-size-max: var(--theme-inline-size-max);
  --theme-inner-size: min(var(--inner-size-min), var(--inner-size-max));
  --max-inline-size-native: 1630;
  --max-inline-size: calc( var(--max-inline-size-native) * 1px );
  --leading-trim: calc((1em - 1lh) / 2);
  --header-height: clamp(4rem, 2.3863636364rem + 8.0681818182vw, 8.4375rem);
  --webfont-noto: "Noto Sans JP", sans-serif;
  --webfont-oswald: "Oswald", sans-serif;
}

:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

:where(*) {
  min-inline-size: 0;
  min-block-size: 0;
}

:where(html) {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

:where(body) {
  --min-font-size: 16;
  --max-font-size: 18;
  color: var(--fc-default);
  line-height: 2.2222222222;
  min-block-size: 100svh;
  font-family: var(--webfont-noto);
  font-weight: 400;
  accent-color: #080;
}
:where(body):has([data-dialog=open]) {
  overflow: hidden;
}

:where(a, a:link) {
  color: var(--link-clr-default);
  text-decoration: none;
  cursor: pointer;
}

:where(a:visited) {
  color: revert;
}

@media (any-hover: hover) {
  :where(a:hover) {
    color: revert;
  }
}
:where(a:active) {
  color: revert;
}

:where(a:focus-visible, a:focus) {
  outline: solid currentColor;
  color: revert;
}

:where(textarea) {
  inline-size: 100%;
  field-sizing: content;
}
@supports (field-sizing: content) {
  :where(textarea) {
    resize: none;
  }
}

:where(img, picture, svg) {
  display: block;
  max-inline-size: 100%;
  height: auto;
}

:where(iframe, object, video) {
  display: block;
  max-inline-size: 100%;
  height: auto;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  border: unset;
  overflow: unset;
}

/* Components(  @layer Base )
---------------------------------------------------------- */
/* --- Components --- */
@property --btn-color {
  syntax: "<color>";
  inherits: false;
  initial-value: #808080;
}
.c-btn {
  --btn-hover-color: lch(from var(--btn-color) calc(l + 10) calc(c + 20) h);
  background-color: var(--btn-color);
  color: currentColor;
}
.c-btn:focus-visible {
  background-color: var(--btn-hover-color);
}
@media (any-hover: hover) {
  .c-btn {
    transition: 0.3s background-color;
  }
  .c-btn:hover {
    background-color: var(--btn-hover-color);
  }
}
.c-btn:is(.--danger) {
  --btn-color: green;
}

@property --card-layout-width-max {
  syntax: "<length>";
  inherits: false;
  initial-value: 1024px;
}
@property --card-layout-width-min {
  syntax: "<length>";
  inherits: false;
  initial-value: 375px;
}
@property --card-gap {
  syntax: "<length>";
  inherits: false;
  initial-value: min(3.2vw, 48px);
}
@property --card-columns {
  syntax: "<number>";
  inherits: false;
  initial-value: 3;
}
.c-card__list {
  display: grid;
  gap: var(--card-gap);
  grid-template-columns: repeat(auto-fit, minmax(min((var(--card-layout-width-max) - var(--card-gap) * (var(--card-columns) - 1)) / var(--card-columns), 100%), 1fr));
}
.c-card__list .c-card {
  padding-inline: var(--card-gap);
  padding-block: var(--card-gap);
  border: 1px solid #ddd;
}
.c-card__list .c-card:has(.c-card__thumbnail) {
  padding-block: 0 calc(var(--card-gap) * 1.5);
}
.c-card__list .c-card__thumbnail {
  margin-inline: calc(var(--card-gap) * -1);
  aspect-ratio: 4/3;
  position: relative;
  contain: strict;
}
.c-card__list .c-card__thumbnail img {
  inline-size: 100%;
  block-size: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}
.c-card__list .c-card-heading {
  margin-block: var(--leading-trim);
}

.c-heading__lv1 {
  --min-font-size: 36;
  --max-font-size: 50;
  font-family: var(--webfont-oswald);
  font-weight: 700;
  color: var(--clr-primary);
  line-height: 1.625;
  margin-block-end: calc(var(--leading-trim) + clamp(2.5rem, 1.1363636364rem + 6.8181818182vw, 6.25rem));
}
.c-heading__lv1.--middle {
  --min-font-size: 36;
  --max-font-size: 40;
  color: var(--clr-primary-gry);
  margin-block-end: calc(var(--leading-trim) + clamp(2.5rem, 1.1363636364rem + 6.8181818182vw, 6.25rem));
}
.c-heading__lv1.--lg {
  --min-font-size: 36;
  --max-font-size: 60;
  margin-block-end: calc(var(--leading-trim) + clamp(2rem, 1.6363636364rem + 1.8181818182vw, 3rem));
}
.c-heading__lv2 {
  --min-font-size: 24;
  --max-font-size: 30;
  margin-block: var(--leading-trim) calc(var(--leading-trim) + 32px);
  line-height: 2;
}
.c-heading__lv3 {
  --min-font-size: 20;
  --max-font-size: 24;
  line-height: 1.3333333333;
  margin-block: var(--leading-trim) calc(var(--leading-trim) + 24px);
}

.c-information__list {
  --border-color: #D4D4D4;
  display: grid;
  border-block-start: 1px solid var(--border-color);
  margin-block-end: 40px;
}
.c-information__row {
  border-block-end: 1px solid var(--border-color);
}
.c-information__link {
  display: grid;
  grid-template-columns: max-content 1fr clamp(2.5rem, 2.0454545455rem + 2.2727272727vw, 3.75rem);
  grid-template-areas: "published category icon" "title . .";
  grid-template-rows: repeat(2, auto);
  padding-block: clamp(2rem, 1.5909090909rem + 2.0454545455vw, 3.125rem);
  column-gap: clamp(1rem, -0.4545454545rem + 7.2727272727vw, 5rem);
  row-gap: clamp(1rem, 0.6818181818rem + 1.5909090909vw, 1.875rem);
  align-items: center;
  color: var(--clr-primary-gry);
}
.c-information__link::after {
  content: "→";
  grid-area: icon;
  font-weight: 700;
  aspect-ratio: 1;
  grid-row: 1/-1;
  border: 1px solid var(--clr-primary);
  border-radius: 50%;
  display: grid;
  place-content: center center;
  color: var(--clr-primary);
  transition: 0.65s background ease, 0.65s color ease;
  background: transparent;
}
.c-information__link :is(*) {
  margin-block: var(--leading-trim);
}
.c-information__link:focus-visible::after {
  background: var(--clr-primary);
  color: #fff;
}
@media (any-hover: hover) {
  .c-information__link:hover::after {
    background: var(--clr-primary);
    color: #fff;
  }
}
.c-information__title {
  grid-area: title;
  grid-column: 1/3;
  color: currentColor;
  line-height: 1.7777777778;
}
.c-information-meta__published {
  grid-area: published;
  font-family: var(--webfont-oswald);
  font-weight: 700;
  color: currentColor;
}
.c-information-meta__category {
  grid-area: category;
  color: var(--clr-primary);
  font-weight: 700;
}

.c-tab-group {
  display: grid;
  row-gap: 80px;
}
.c-tab-header {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(2.4vw, 8px);
  justify-content: flex-start;
}
@media (width >= 992px) {
  .c-tab-header {
    grid-template-columns: revert;
    grid-auto-flow: column;
    justify-content: flex-start;
  }
}
.c-tab__btn {
  --min-font-size: 16;
  --max-font-size: 24;
  block-size: auto;
  text-align: center;
  padding-block: 0.72lh;
  border-block-end: 2px solid #aaa;
  color: #aaa;
  padding-inline: clamp(0.5rem, -0.4090909091rem + 4.5454545455vw, 3rem);
  display: block;
  cursor: pointer;
  line-height: 1.3333333333;
}
.c-tab__btn[aria-selected=true] {
  color: var(--clr-primary);
  border-block-end: 2px solid var(--clr-primary);
  font-weight: 700;
}

.c-researcher__list {
  display: grid;
}

.c-researcher {
  display: grid;
  grid-template-columns: clamp(7.5rem, 4.7727272727rem + 13.6363636364vw, 15rem) 1fr;
  align-items: flex-start;
  column-gap: min(3.2vw, 32px);
}
.c-researcher-item {
  display: grid;
  row-gap: 0.32lh;
}
.c-researcher-item :is(dt, dd) {
  margin-block: var(--leading-trim);
}
.c-researcher-item__label {
  --min-font-size: 14;
  --max-font-size: 16;
}
.c-researcher-item__heading {
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.4;
  font-weight: 700;
}
.c-researcher__image {
  aspect-ratio: 9/10;
  contain: strict;
}
.c-researcher__image :is(img) {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.c-researcher__name {
  --min-font-size: 20;
  --max-font-size: 24;
  line-height: 1.3333333333;
  margin-block: calc(var(--leading-trim) + 0.72lh) calc(var(--leading-trim) + 0.56lh);
}
.c-researcher__state {
  color: #808080;
  line-height: 1.3333333333;
}
.c-researcher__list {
  display: grid;
  row-gap: clamp(2rem, 1.4545454545rem + 2.7272727273vw, 3.5rem);
}

/* Layout(  @layer Base )
---------------------------------------------------------- */
/* --- Header --- */
.l-header {
  --header-columns-setting: var(--theme-side-gap) 1fr min(16vw, 135px);
  --header-columns-setting-areas: ". inner global-menu";
  --header-menu-state: none;
  --header-inner-columns-setting: 1fr;
}
@media (width >= 768px) {
  .l-header {
    --header-inner-columns-setting: max-content auto;
  }
}
@media (width >= 1260px) {
  .l-header {
    --header-columns-setting: 1fr min(calc( 100% - ( var(--theme-side-gap) * 2 ) ), var(--max-inline-size)) 1fr;
    --header-columns-setting-areas: ". inner .";
    --header-menu-state: grid;
    --header-inner-columns-setting: max-content 1fr auto;
  }
}

.l-header {
  display: grid;
  grid-template-columns: var(--header-columns-setting);
  grid-template-areas: var(--header-columns-setting-areas);
  block-size: var(--header-height);
  inline-size: 100%;
  z-index: 999;
  background: rgba(255, 255, 255, 0.9);
}
.l-header:is(#js-header-sticky) {
  pointer-events: none;
  position: fixed;
  transform: translateY(-100%);
  opacity: 0;
  transition: 0.6s transform ease, 0.3s opacity ease;
}
.l-header:is(#js-header-sticky):where([data-header-type=sticky] *) {
  opacity: 1;
  pointer-events: revert;
  opacity: 1;
  transform: translateY(0);
}
.l-header__inner {
  grid-area: inner;
  display: grid;
  grid-template-columns: var(--header-inner-columns-setting);
  justify-content: space-between;
  position: relative;
  align-items: center;
}
@media (width >= 1260px) {
  .l-header__inner :is(.l-header-menu__list, .l-header-lang__list) {
    align-self: flex-end;
    justify-self: flex-end;
    padding-block-end: 43px;
  }
}
@media (width <= 1259px) {
  .l-header__inner :is(.l-header-lang__list) {
    align-self: center;
    padding-inline-end: 32px;
  }
}
.l-header__sitename {
  padding-inline-end: min(2vw, 24px);
  block-size: 100%;
  text-align: left;
}
@media (width <= 1259px) {
  .l-header__sitename {
    display: grid;
    align-items: center;
  }
}
@media (width >= 1260px) {
  .l-header__sitename {
    padding-block-start: 36px;
  }
}
.l-header__sitename a {
  --min-font-size: 16;
  --max-font-size: 22;
  font-weight: 400;
  color: #000;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
  transition: 0.3s font-size ease;
  margin-block: var(--leading-trim);
}
@media (width >= 1400px) {
  .l-header__sitename a {
    --min-font-size: 16;
    --max-font-size: 24;
    line-height: 1.3333333333;
  }
}
.l-header-menu__list {
  --column-gap: clamp(2rem, -3.7272727273rem + 7.2727272727vw, 5rem);
  grid-auto-flow: column;
  align-items: center;
  column-gap: var(--column-gap);
  margin-inline-end: clamp(2rem, -6.1136363636rem + 10.303030303vw, 6.25rem);
  color: var(--clr-primary-gry);
  display: var(--header-menu-state);
}
.l-header-menu__item {
  --min-font-size: 18;
  --max-font-size: 20;
  --btn-hover-color: hsl(from var(--clr-primary-gry) h s 60%);
  position: relative;
  color: currentColor;
  font-weight: 400;
  line-height: 1.45;
  margin-block: var(--leading-trim);
  transition: 0.6s color ease;
  position: relative;
}
.l-header-menu__item:is(.--current) {
  color: var(--clr-primary);
}
.l-header-menu__item:focus-visible {
  color: var(--btn-hover-color);
}
@media (any-hover: hover) {
  .l-header-menu__item:hover {
    color: var(--btn-hover-color);
  }
}
.l-header-menu__item:not(:last-child)::after {
  content: "";
  display: block;
  inline-size: 1px;
  block-size: 30px;
  background: #707070;
  position: absolute;
  top: 50%;
  right: calc(var(--column-gap) * -0.5);
  transform: translateY(-50%);
}
.l-header-lang__list {
  grid-template-columns: auto 20px auto;
  grid-template-areas: "en bar jp";
  align-items: center;
  column-gap: 6px;
  color: #ABABAB;
  display: none;
}
@media (width >= 768px) {
  .l-header-lang__list {
    display: grid;
  }
}
.l-header-lang__list::before {
  content: "";
  grid-area: bar;
  aspect-ratio: 20/1;
  background: #707070;
  display: block;
}
.l-header-lang__link {
  margin-block: var(--leading-trim);
}
.l-header-lang__link:is(.--en) {
  grid-area: en;
}
.l-header-lang__link:is(.--jp) {
  grid-area: jp;
}
.l-header-lang__link a {
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.6666666667;
  color: currentColor;
}
.l-header-lang__link :is(.--current a) {
  color: var(--clr-primary-gry);
}
.l-header-global-menu__trigger {
  grid-area: global-menu;
  block-size: 100%;
  display: grid;
  border-inline-start: 1px solid var(--clr-primary-gry);
  background: url(../img/icon_menu.svg) no-repeat center center/32% auto;
}
@media (width >= 1260px) {
  .l-header-global-menu__trigger {
    display: none;
  }
}

/* --- Main --- */
.l-main {
  display: grid;
}

/* --- Segments --- */
.l-section {
  display: grid;
  grid-template-columns: 1fr var(--theme-inner-size) 1fr;
  grid-template-areas: ". inner .";
  position: relative;
  padding-block: clamp(3rem, -1.1363636364rem + 20.6818181818vw, 14.375rem);
}
.l-section:is(.--mode-full-width) {
  grid-template-columns: var(--theme-side-gap) 1fr var(--theme-side-gap);
}
.l-section:is(.--bg-gray) {
  background: var(--clr-bg-gry);
}
.l-section__inner {
  grid-area: inner;
}

.l-panels-section {
  --panels-border-color: #D4D4D4;
  --panels-inline-columns: 1fr var(--theme-side-gap) var(--theme-inner-size) 1fr var(--theme-side-gap);
  --panels-base-gap: clamp(1.5rem, 0.5681818182rem + 4.6590909091vw, 4.0625rem);
  background: var(--clr-bg-gry);
  padding-block: clamp(1.5rem, -3.1818181818rem + 23.4090909091vw, 14.375rem);
}
.l-panels-section:is(.--border-end) {
  border-block-end: 1px solid var(--panels-border-color);
}

.l-panels {
  display: grid;
  grid-template-columns: var(--panels-inline-columns);
}
.l-panels:is(.--bg-white)::before {
  content: "";
  grid-column: 2/-1;
  grid-row: 1/-1;
  background: #fff;
}
@media (width >= 768px) {
  .l-panels:is(.--footer)::before {
    border-top: 1px solid var(--panels-border-color);
  }
}
.l-panels-block :is(img) {
  max-inline-size: revert;
  inline-size: 100%;
}
.l-panels-block:not(:is(.--b)) {
  padding-block: var(--panels-base-gap);
}
@media (width >= 768px) {
  .l-panels-block:is(.--b):where(.l-panels:is(.--bg-white) *):has(img) {
    padding-block: 0 var(--panels-base-gap);
  }
}
.l-panels-block:is(.--b):where(.l-panels:is(.--bg-white) *):has(.u-link) {
  padding-block: 0 var(--panels-base-gap);
}
@media (width >= 768px) {
  .l-panels-block:is(.--b):where(.l-panels:is(.--bg-white) *):has(.u-link) {
    padding-block: var(--panels-base-gap);
  }
}
@media (width >= 768px) {
  .l-panels-block:is(.--b):where(.l-panels:is(.--footer) *) {
    border-inline-start: 1px solid var(--panels-border-color);
  }
}
.l-panels-block:is(.--b):where(.l-panels__inner:is(.--reverse) *) {
  order: -1;
}
@media (width <= 767px) {
  .l-panels-block:is(.--b) {
    margin-inline: calc(var(--theme-side-gap) * -1);
  }
}
.l-panels__inner {
  --photo-inline-size: 506;
  --content-b-inline-size: min(
      calc( (var(--photo-inline-size) / var(--theme-inline-size-native)) * 100% ),
      calc( var(--photo-inline-size) * 1px)
  );
  grid-column: 3/4;
  grid-row: 1/-1;
  position: relative;
  column-gap: 80px;
}
@media (width >= 768px) {
  .l-panels__inner {
    display: grid;
    grid-template-columns: 1fr var(--content-b-inline-size);
  }
}
.l-panels__inner:where(.l-panels.--footer > *) {
  padding-block: var(--panels-base-gap);
  grid-template-columns: 1fr;
}
@media (width >= 768px) {
  .l-panels__inner:is(.--reverse) {
    display: grid;
    grid-template-columns: var(--content-b-inline-size) 1fr;
  }
}

/* --- Footer --- */
.l-footer {
  display: grid;
  grid-template-columns: 1fr var(--theme-inner-size) 1fr;
  grid-template-areas: ". inner ." "copyrights . .";
}
.l-footer__inner {
  grid-area: inner;
  display: grid;
  padding-block: clamp(2.5rem, -5.4090909091rem + 39.5454545455vw, 24.25rem) clamp(2.5rem, 1.1818181818rem + 6.5909090909vw, 6.125rem);
  gap: 40px 24px;
  align-items: flex-start;
}
@media (width >= 768px) {
  .l-footer__inner {
    grid-template-columns: 69.0476190476% 1fr;
  }
}
.l-footer-auther {
  display: grid;
  row-gap: clamp(1.5rem, 0.3863636364rem + 5.5681818182vw, 4.5625rem);
}
.l-footer-auther__description {
  --min-font-size: 18;
  --max-font-size: 29;
  line-height: 1.5172413793;
  margin-block: var(--leading-trim);
  text-align: center;
}
@media (width >= 768px) {
  .l-footer-auther__description {
    text-align: left;
    margin-inline-start: 1em;
  }
}
.l-footer-auther__logo img {
  inline-size: min(72%, 466px);
}
@media (width <= 767px) {
  .l-footer-auther__logo img {
    margin-inline: auto;
    inline-size: min(56%, 240px);
  }
}
.l-footer-sitemap__list {
  display: grid;
}
@media (width <= 767px) {
  .l-footer-sitemap__list {
    border-block-start: 1px solid #ddd;
  }
}
@media (width >= 768px) {
  .l-footer-sitemap__list {
    row-gap: 40px;
  }
}
.l-footer-sitemap__list :is(li, a) {
  --min-font-size: 18;
  --max-font-size: 20;
  color: currentColor;
  margin-block: var(--leading-trim);
  line-height: 1;
}
.l-footer-sitemap__item {
  color: var(--clr-primary-gry);
}
.l-footer-sitemap__item:is(.--current) {
  color: var(--clr-primary);
}
.l-footer-sitemap__item > a {
  display: grid;
  grid-template-columns: 10px 1fr;
  column-gap: 0.32em;
  align-items: center;
  block-size: auto;
  min-block-size: 0;
}
@media (width <= 767px) {
  .l-footer-sitemap__item > a {
    padding-block: 0.72lh;
    border-block-end: 1px solid #ddd;
  }
}
.l-footer-sitemap__item > a::before {
  content: "";
  display: block;
  border-block-end: 1px solid currentColor;
  height: 0;
}
.l-footer-sitemap-sub__list {
  display: grid;
  padding-inline-start: 1em;
}
@media (width >= 768px) {
  .l-footer-sitemap-sub__list {
    margin-block-start: 40px;
  }
}
.l-footer-sitemap-sub__item :is(a) {
  --min-font-size: 14;
  --max-font-size: 16;
  text-decoration: revert;
}
@media (width <= 767px) {
  .l-footer-sitemap-sub__item :is(a) {
    display: block;
    padding-block: 0.72lh;
    border-block-end: 1px solid #ddd;
  }
}
.l-footer__copy {
  grid-area: copyrights;
  grid-column: 1/-1;
  background: var(--clr-primary-gry);
  padding-block: 23px;
}
.l-footer__copy small {
  --min-font-size: 14;
  --max-font-size: 16;
  font-family: var(--webfont-oswald);
  font-weight: 700;
  color: #fff;
  margin-inline: auto;
  inline-size: fit-content;
  display: block;
}

.l-secondary-header {
  --header-columns-setting: 1fr min(calc( 100% - ( var(--theme-side-gap) * 2 ) ), 1630px) 1fr;
  display: grid;
  grid-template-columns: var(--header-columns-setting);
}
.l-secondary-header-heading {
  --min-font-size: 32;
  --max-font-size: 50;
  grid-column: 2/3;
  font-weight: 700;
  color: var(--clr-primary-gry);
  line-height: 1.625;
  padding-block-start: clamp(3rem, -1.1363636364rem + 20.6818181818vw, 14.375rem);
}

/* --- Global Navigation --- */
.l-global-navigation {
  position: fixed;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr var(--theme-inner-size) 1fr;
  grid-template-areas: ". inner .";
  place-content: center center;
  background: rgb(255, 255, 255);
  pointer-events: none;
  transition: 0.3s opacity ease, 0.3s visibility ease;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 9999;
}
.l-global-navigation:where(.l-root[data-dialog=open] *) {
  opacity: 1;
  visibility: visible;
  pointer-events: revert;
}
.l-global-navigation::backdrop {
  background: transparent;
  pointer-events: none;
}
.l-global-navigation__inner {
  align-self: center;
  grid-area: inner;
  block-size: 100%;
  padding-block: clamp(2rem, 1.4545454545rem + 2.7272727273vw, 3.5rem);
  overflow-y: auto;
}
.l-global-navigation-header {
  border-block-end: 1px solid var(--clr-primary-gry);
  display: grid;
  grid-template-columns: 1fr clamp(3rem, 2.8181818182rem + 0.9090909091vw, 3.5rem);
  padding-block-end: clamp(1.5rem, 1.3181818182rem + 0.9090909091vw, 2rem);
  margin-block-end: clamp(2rem, 1.6363636364rem + 1.8181818182vw, 3rem);
  align-items: center;
}
.l-global-navigation-sitename {
  display: grid;
}
.l-global-navigation-sitename__title {
  --min-font-size: 16;
  --max-font-size: 20;
  margin-block: var(--leading-trim);
  line-height: 1.6;
  margin-block-end: clamp(1rem, 0.8181818182rem + 0.9090909091vw, 1.5rem);
}
.l-global-navigation-sitename__logo :is(a) {
  display: block;
  inline-size: clamp(11.25rem, 8.9772727273rem + 11.3636363636vw, 17.5rem);
}
.l-global-navigation__close {
  inline-size: 100%;
  aspect-ratio: 1;
  display: grid;
  background: url(../img/icon_close.svg) no-repeat center center/32% auto;
  border: 1px solid var(--clr-primary-gry);
  border-radius: 50%;
}
.l-global-navigation-menu__list {
  margin-block-end: clamp(3.5rem, 3.1363636364rem + 1.8181818182vw, 4.5rem);
}
.l-global-navigation-menu__item {
  --min-font-size: 20;
  --max-font-size: 24;
  color: var(--clr-primary-gry);
  display: block;
  min-height: auto;
  line-height: 1.5;
}
.l-global-navigation-menu__item:not(:last-child) {
  margin-block: var(--leading-trim) calc(var(--leading-trim) + 1lh);
}
.l-global-navigation-lang__list {
  grid-template-columns: auto 20px auto;
  grid-template-areas: "en bar jp";
  align-items: center;
  column-gap: 6px;
  color: #ABABAB;
  justify-content: flex-start;
  display: grid;
}
.l-global-navigation-lang__list::before {
  content: "";
  grid-area: bar;
  aspect-ratio: 20/1;
  background: #707070;
  display: block;
}
.l-global-navigation-lang__link {
  margin-block: var(--leading-trim);
}
.l-global-navigation-lang__link:is(.--en) {
  grid-area: en;
}
.l-global-navigation-lang__link:is(.--jp) {
  grid-area: jp;
}
.l-global-navigation-lang__link a {
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.6666666667;
  color: currentColor;
}
.l-global-navigation-lang__link :is(.--current a) {
  color: var(--clr-primary-gry);
}

/* --- Article --- */
.l-article {
  display: grid;
  row-gap: clamp(2rem, 1.0909090909rem + 4.5454545455vw, 4.5rem);
}
.l-article-heading {
  --min-font-size: 36;
  --max-font-size: 50;
  font-weight: 700;
  color: var(--clr-primary);
  line-height: 1.625;
  margin-block-end: calc(var(--leading-trim) + clamp(1.5rem, 0.7727272727rem + 3.6363636364vw, 3.5rem));
}
.l-article-meta__list {
  display: grid;
  grid-auto-flow: column;
  justify-content: flex-start;
  align-items: center;
  column-gap: clamp(2rem, 1.6363636364rem + 1.8181818182vw, 3rem);
}
.l-article-meta__published {
  --min-font-size: 18;
  --max-font-size: 20;
  display: grid;
  grid-template-columns: clamp(1rem, 0.8181818182rem + 0.9090909091vw, 1.5rem) 1fr;
  align-items: center;
  column-gap: 8px;
}
.l-article-meta__published::before {
  content: "";
  aspect-ratio: 1;
  background: url(../img/icon_clock.svg) no-repeat center center/contain;
  display: block;
}
.l-article-meta__category {
  --min-font-size: 18;
  --max-font-size: 20;
  color: var(--clr-primary);
}
.l-article-body {
  display: grid;
  row-gap: 0.48lh;
}
.l-article-body figure {
  inline-size: 100%;
}
.l-article-body figure img {
  inline-size: 100%;
}
.l-article-body .wp-block-heading:is(h2) {
  --min-font-size: 27;
  --max-font-size: 48;
}
.l-article-body .wp-block-heading:is(h3) {
  --min-font-size: 22;
  --max-font-size: 32;
  margin-block-end: calc(var(--leading-trim) + 0.56lh);
}
.l-article-body .wp-block-heading:is(h3):not(:first-child) {
  margin-block-start: calc(var(--leading-trim) + 0.72lh);
}

/* Utilities(  @layer Base )
---------------------------------------------------------- */
/* --- Header --- */
@property --side-gap {
  syntax: "<length>";
  inherits: false;
  initial-value: min(5.4421768707vw, 38px);
}
@property --icon-size {
  syntax: "<length>";
  inherits: false;
  initial-value: 12px;
}
.u-link {
  --min-font-size: 18;
  --max-font-size: 20;
  --link-color: #fff;
  --link-hover-color: hsl(from var(--link-color) h s calc(l + 10));
  padding-inline: var(--side-gap);
  padding-block: 0.38lh;
  inline-size: min(54vw, 294px);
  display: grid;
  grid-template-columns: max-content min(5.4421768707vw, 38px) var(--icon-size);
  grid-template-areas: "text . icon";
  justify-content: space-between;
  align-items: center;
  line-height: 2;
  color: var(--clr-primary-gry);
  font-weight: 700;
  background: var(--link-color);
  transition: 0.6s background-color ease;
  margin-inline: auto;
}
.u-link:is(:not(.--type-mat)) {
  --link-hover-color: #eee;
}
.u-link:is(.--type-mat) {
  --link-color: var(--clr-primary);
  color: #fff;
}
.u-link::after {
  content: "";
  grid-area: icon;
  aspect-ratio: 1;
  display: block;
  background: url(../img/icon.svg) var(--clr-primary-gry) no-repeat center center/contain;
}
.u-link:focus-visible {
  background: var(--link-hover-color);
}
@media (any-hover: hover) {
  .u-link:hover {
    background: var(--link-hover-color);
  }
}
.u-link-single {
  display: grid;
}
.u-link-single.--position-start {
  justify-content: flex-start;
}
.u-link-single.--position-center {
  justify-content: center;
}
@media (width >= 768px) {
  .u-link-single.--position-end {
    justify-content: flex-end;
  }
}

.u-paragraph-lh-m {
  line-height: 2;
  margin-block: var(--leading-trim);
}

.u-paragraph-lh-h {
  line-height: 2.2222222222;
  margin-block: var(--leading-trim);
}

/* Projects(  @layer Base )
---------------------------------------------------------- */
/* --- Projects --- */
.p-home-mv {
  --bar-block-size: clamp(3rem, 2.7727272727rem + 1.1363636364vw, 3.625rem);
  inline-size: 100%;
  block-size: calc(100svh - var(--header-height));
  display: grid;
  grid-template-columns: var(--theme-side-gap) 1fr min(100% - var(--theme-side-gap) * 2, var(--max-inline-size)) 1fr var(--theme-side-gap);
  grid-template-rows: repeat(3, 1fr);
  position: relative;
}
.p-home-mv::before, .p-home-mv::after {
  content: "";
  display: block;
  position: relative;
  z-index: 99;
  block-size: var(--bar-block-size);
  background: var(--clr-primary);
  opacity: 0.36;
  align-self: flex-end;
}
.p-home-mv::before {
  grid-column: 1/3;
  grid-row: 2/3;
}
.p-home-mv::after {
  visibility: visible;
  grid-column: 5/6;
  grid-row: 2/3;
}
@media (width >= 1260px) {
  .p-home-mv::after {
    visibility: hidden;
  }
}
.p-home-mv__video {
  grid-column: 1/-1;
  grid-row: 1/-1;
  background: #ddd;
}
.p-home-mv__video video {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  pointer-events: none;
}
.p-home-mv-message__group {
  grid-column: 3/4;
  grid-row: 2/3;
  position: relative;
  align-self: flex-end;
  color: #fff;
  z-index: 99;
}
.p-home-mv-message__group::after {
  content: "";
  background: #F00;
  display: block;
  block-size: var(--bar-block-size);
  z-index: -1;
  position: relative;
  inline-size: 100%;
  background: var(--clr-primary);
  opacity: 0.36;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media (width >= 1260px) {
  .p-home-mv-message__group::after {
    inline-size: min(100%, 580px);
  }
}
.p-home-mv-message__text {
  --min-font-size: 12;
  --max-font-size: 20;
  font-weight: 400;
  line-height: 1.6;
  padding-block-end: 0.16lh;
}
.p-home-mv-message__text::before {
  --min-font-size: 34;
  --max-font-size: 72;
}
@media (width >= 1260px) {
  .p-home-mv-message__text::before {
    --min-font-size: 32;
    --max-font-size: 100;
  }
}
@media (width <= 1259px) {
  .p-home-mv-message__text {
    text-align: center;
  }
}
.p-home-mv-message__text::before {
  content: attr(data-en);
  font-weight: 200;
  display: block;
  line-height: 1;
}
@media (width <= 1259px) {
  .p-home-mv-message__text::before {
    inline-size: fit-content;
    margin-inline: auto;
    margin-block-end: 0.24lh;
  }
}

.p-research-results__list {
  --column-gap: clamp(1.5rem, 1.3181818182rem + 0.9090909091vw, 2rem);
  --row-gap: clamp(3rem, 2.8181818182rem + 0.9090909091vw, 3.5rem);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--row-gap) var(--column-gap);
}
@media (width >= 992px) {
  .p-research-results__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-research-results__row {
  border-block-end: 2px solid #ddd;
  display: grid;
  grid-row: span 3;
  row-gap: 0.32lh;
  padding-block-end: 0.72lh;
}
@media (width >= 992px) {
  .p-research-results__row {
    grid-template-rows: subgrid;
  }
}
.p-research-results-heading {
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 700;
  line-height: 1.4;
  color: var(--clr-primary);
}
.p-research-results-notes {
  display: grid;
  row-gap: 0.24lh;
}
.p-research-results-auther {
  line-height: 1.5;
}
.p-research-results-journal {
  --min-font-size: 14;
  --max-font-size: 16;
  color: #808080;
  line-height: 1.5;
}
.p-research-results-date {
  --min-font-size: 14;
  --max-font-size: 16;
  color: #808080;
  line-height: 1.5;
  display: grid;
  grid-template-columns: clamp(0.875rem, 0.8295454545rem + 0.2272727273vw, 1rem) max-content;
  align-items: center;
  column-gap: 8px;
}
.p-research-results-date::before {
  content: "";
  aspect-ratio: 1;
  background: url(../img/icon_clock) no-repeat center center/contain;
}
.p-research-results__link {
  margin-block-start: 0.32lh;
  margin-inline-start: auto;
  color: var(--clr-primary-gry);
  display: grid inline;
  grid-template-columns: auto clamp(1rem, 0.8181818182rem + 0.9090909091vw, 1.5rem);
  align-items: center;
  column-gap: 0.48em;
}
.p-research-results__link::after {
  content: "";
  aspect-ratio: 1;
  background: url(../img/icon_blank.svg) no-repeat center center/contain;
  display: block;
}

/*# sourceMappingURL=styles.css.map */
