@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100;300;400;500;600;700;800;900&display=swap");
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

figure {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  line-height: 0;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.75; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* 基本デザイン
---------------------------------------------------------- */
html {
  font-size: 100%;
  font-family: "Noto Sans JP", "Noto Sans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
}

/* 英語ページ用フォント */
html:lang(en) {
  font-family: "Noto Sans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

body {
  color: #1a1a1c;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05rem;
}
@media screen and (max-width: 640px) {
  body {
    font-size: 0.875rem;
  }
}

ul,
li {
  list-style-type: none;
  margin: initial;
  padding: initial;
}

button {
  color: #1a1a1c;
  -webkit-tap-highlight-color: transparent;
}
button:hover {
  cursor: pointer;
}

img {
  max-width: 100%;
  height: auto;
}

/* テキストリンク */
a {
  cursor: pointer;
  transition: all 0.2s 0s ease;
  text-underline-offset: 0.2rem;
  -webkit-tap-highlight-color: transparent;
}
a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

main a {
  color: #003ee5;
  font-weight: 500;
}

/* 見出し */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 auto;
  font-weight: bolder;
  line-height: 1.5;
  letter-spacing: 0.05rem;
}

h5 {
  margin: 2.5rem 0 1.5rem 0;
}

h6 {
  margin: 1.5rem 0 1rem 0;
}

h2:first-child {
  margin-top: 0;
}

h1 {
  position: relative;
  margin: 4rem 0 1.5rem 0;
  padding-top: 2rem;
  font-weight: normal;
  font-size: 3rem;
}

h2 {
  position: relative;
  margin: 6rem 0 2.5rem 0;
  padding-left: 2rem;
  font-size: 2rem;
  line-height: 1.5;
}
h2:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1rem;
  height: 1rem;
  border-radius: 0.125rem;
  background-color: #dc143c;
  content: "";
}

h3 {
  position: relative;
  margin: 5rem 0 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #626264;
  font-size: 1.5rem;
}
h3:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 10rem;
  border-bottom: 3px solid #dc143c;
  border-radius: 3px;
  content: "";
}

h4 {
  position: relative;
  margin: 3rem 0 1.5rem;
  padding-left: 1.25rem;
  font-size: 1.25rem;
}
h4:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0.25rem;
  height: 100%;
  border-radius: 100vh;
  background-color: #dc143c;
  content: "";
}

h2 + h3,
h3 + h4 {
  margin-top: 0;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

/*キャッチコピー*/
.catch-strong {
  display: inline-block;
  margin: 0 0 2rem;
  padding: 0;
  border: none;
  background: linear-gradient(90deg, #eb0000, #eb9100);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  font-size: 2rem;
}
.catch-strong::before, .catch-strong::after {
  content: none;
}
.catch-strong + p {
  margin-top: 0;
}

.h2__title--no-icon {
  padding-left: 0;
}
.h2__title--no-icon::before {
  content: none;
}

.h3__title--no-icon {
  padding-left: 0;
  border: unset;
}
.h3__title--no-icon::before {
  content: none;
}

/*section 調整用*/
section:not(:last-child) {
  margin-bottom: 6rem;
}

/* 基本デザイン（タブレット・SP表示）
---------------------------------------------------------- */
@media screen and (max-width: 980px) {
  h1 {
    font-size: 2rem;
  }
  h2 {
    margin: 3rem 0 1.25rem 0;
    padding-left: 1.5rem;
    font-size: 1.5rem;
  }
  h2:before {
    width: 0.8rem;
    height: 0.8rem;
  }
  h3 {
    margin: 2.5rem 0 1rem 0;
    font-size: 1.25rem;
  }
  h4 {
    margin: 1.5rem 0 0.75rem 0;
    font-size: 1rem;
  }
  h5 {
    font-size: 1rem;
  }
  h6 {
    font-size: 1rem;
  }
  /*キャッチコピー*/
  .catch-strong {
    font-size: 1.5rem;
  }
  /*section 調整用*/
  section:not(:last-child) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  h1 {
    font-size: 1.5rem;
  }
  h2 {
    margin: 3rem 0 1.25rem 0;
    padding-left: 1.5rem;
    font-size: 1.25rem;
  }
  h2:before {
    width: 0.625rem;
    height: 0.625rem;
  }
  h3 {
    margin: 2.5rem 0 1rem 0;
    font-size: 1.125rem;
  }
  h4 {
    margin: 1.5rem 0 0.75rem 0;
  }
  h4,
  h5,
  h6 {
    font-size: 0.875rem;
  } /*キャッチコピー*/
  .catch-strong {
    font-size: 1.25rem;
  }
}
/* 分割
---------------------------------------------------------- */
.wrap--2colums,
.wrap--3colums,
.wrap--4colums {
  display: grid;
  gap: 1.5rem;
}
.wrap--2colums + .wrap--2colums, .wrap--2colums + .wrap--3colums, .wrap--2colums + .wrap--4colums,
.wrap--3colums + .wrap--2colums,
.wrap--3colums + .wrap--3colums,
.wrap--3colums + .wrap--4colums,
.wrap--4colums + .wrap--2colums,
.wrap--4colums + .wrap--3colums,
.wrap--4colums + .wrap--4colums {
  margin-top: 1.5rem;
}
.wrap--2colums + div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums),
.wrap--3colums + div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums),
.wrap--4colums + div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums) {
  margin-top: 3rem;
}
.wrap--2colums:has(+ p), .wrap--2colums:has(+ a), .wrap--2colums:has(+ dl), .wrap--2colums:has(+ div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums)),
.wrap--3colums:has(+ p),
.wrap--3colums:has(+ a),
.wrap--3colums:has(+ dl),
.wrap--3colums:has(+ div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums)),
.wrap--4colums:has(+ p),
.wrap--4colums:has(+ a),
.wrap--4colums:has(+ dl),
.wrap--4colums:has(+ div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums)) {
  margin-bottom: 3rem;
}

.wrap--2colums {
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
}

.wrap--3colums {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.wrap--4colums {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}

p + .wrap--2colums,
p + .wrap--3colums,
p + .wrap--4colums,
a + .wrap--2colums,
a + .wrap--3colums,
a + .wrap--4colums,
dl + .wrap--2colums,
dl + .wrap--3colums,
dl + .wrap--4colums,
div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums) + .wrap--2colums,
div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums) + .wrap--3colums,
div:not(.wrap--2colums):not(.wrap--3colums):not(.wrap--4colums) + .wrap--4colums {
  margin-top: 3rem;
}

@media screen and (max-width: 640px) {
  .wrap--2colums,
  .wrap--3colums,
  .wrap--4colums {
    grid-template-columns: 1fr;
  }
  .wrap--2colums + .wrap--2colums, .wrap--2colums + .wrap--3colums, .wrap--2colums + .wrap--4colums,
  .wrap--3colums + .wrap--2colums,
  .wrap--3colums + .wrap--3colums,
  .wrap--3colums + .wrap--4colums,
  .wrap--4colums + .wrap--2colums,
  .wrap--4colums + .wrap--3colums,
  .wrap--4colums + .wrap--4colums {
    margin-top: 1rem;
  }
}
/* CMS初期値の設定
---------------------------------------------------------- */
/* --- テーブル --- */
main thead td {
  background: #f4f5f6;
  text-align: left;
  vertical-align: top;
}

/* --- リスト --- */
ul {
  /* 箇条書きリスト（ul）※「文頭●あり」 */
  margin: 0;
  padding: 0;
}
ul li {
  list-style-type: circle;
  margin: 0 0 0.5rem 1.25rem;
}
ul li::marker {
  line-height: 1;
}

/* classなしリストの調整 */
/* サイドメニュー */
.nav-items__item {
  margin: 0 0 0.5rem 0;
}

.nav-lang__item {
  margin: 0;
}

.other-link__item {
  margin-left: 0;
}

/* 「文頭●なし」リスト */
/* 目次用 */
.article__list--index {
  margin: 0;
  padding: 0;
}
.article__list--index li {
  list-style-type: none;
  margin: 0;
  padding: 0;
  padding-left: 3em;
  text-indent: -3em;
}

/* --- 番号付きリスト（ol） --- */
ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
  counter-reset: count 0;
}
ol > li {
  margin-bottom: 0.5rem;
  padding-left: 2em;
  text-indent: -2em;
}
ol > li::before {
  margin-right: 0.5rem;
  content: counter(count, decimal-leading-zero) ".";
  counter-increment: count;
}
ol > li:last-child {
  margin-bottom: 0;
}
ol > li ul {
  text-indent: 0;
}

/* classなし番号付きリストの調整 */
/* パンくず */
.breadcrumb ol > li {
  margin-bottom: 0;
  padding-left: 0;
  text-indent: 0;
}
.breadcrumb ol > li::before {
  content: none;
}
.breadcrumb ol > li ul {
  text-indent: 0;
}

/*タグ*/
.tag-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.tag-wrapper .tag {
  list-style: none;
  padding: 0.375rem 1rem;
  border: solid 1px #f4f5f6;
  border-radius: 1.25rem;
  background-color: #f4f5f6;
  color: #2c2c2c;
  font-size: 0.875rem;
  line-height: 1;
}
.tag-wrapper .tag:empty {
  display: none;
}
@media screen and (max-width: 640px) {
  .tag-wrapper {
    gap: 0.25rem;
  }
  .tag-wrapper .tag {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
}

/* ヘッダー
---------------------------------------------------------- */
.global-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1100;
  display: grid;
  grid-template-columns: 330px 1fr;
  width: 100%;
  border-bottom: 1px solid #cccccc;
  box-sizing: border-box;
  background-color: #ffffff;
  /* --- F-REIロゴ --- */
  /* --- メインメニュー --- */
  /* --- 上部メニュー --- */
  /* --- グローバルメニュー --- */
  /* --- SNS／言語切替 --- */
  /* --- ドロップダウンメニュー --- */
  /* --- サイト内検索 --- */
  /* PC版表示：幅調整 1600px */
  /* PC版表示：幅調整 1366px */
  /* PC版表示：幅調整 1180px */
  /*レスポンシブ対応　SP版表示*/
}
.global-header a:not(.btn) {
  color: #333333;
  text-decoration: none;
}
.global-header a:not(.btn):hover {
  opacity: 1;
  color: #dc143c;
}
.global-header a:not(.btn):has(img):hover {
  opacity: 0.7;
}
.global-header__logo {
  display: flex;
  align-items: center;
  width: fit-content;
  height: 98px;
  padding: 0.5rem;
  box-sizing: border-box;
  justify-self: right;
}
.global-header__logo > img {
  width: auto;
  height: 100%;
}
.global-header__nav {
  display: grid;
  grid-template-columns: 1fr 330px 80px;
  grid-template-rows: auto 1fr;
  column-gap: 1.5rem;
  grid-template-areas: "area1 area1 area4" "area2 area3 area4";
}
.global-header__other {
  display: flex;
  justify-content: end;
  gap: 2rem;
  grid-area: area1;
  padding-block: 1rem;
}
.global-header__other > a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
}
.global-header__menu {
  display: flex;
  justify-content: end;
  font-weight: 700;
  font-size: 1.125rem;
  grid-area: area2;
}
.global-header__menu--home {
  display: block;
  padding-inline: 1.5rem;
}
.global-header__menu--btn {
  position: relative;
  display: flex;
  justify-content: center;
  height: 100%;
  border: none;
  border-bottom: 3px solid transparent;
  background-color: initial;
  color: #333333;
  font-weight: 700;
  transition: all 0.2s 0s ease;
  padding-inline: 1.5rem;
}
.global-header__menu--btn::before {
  position: absolute;
  right: 50%;
  bottom: 0.35rem;
  display: block;
  transform: translateX(50%) rotate(135deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #626264;
  border-right: 1px solid #626264;
  content: "";
}
.global-header__menu--btn:hover {
  color: #dc143c;
}
.global-header__menu--btn:hover::before {
  border-color: #dc143c;
}
.global-header__menu--btn.current {
  border-color: #dc143c;
}
.global-header__sub {
  display: flex;
  align-items: center;
  gap: 1rem;
  grid-area: area3;
}
.global-header__sub--sns {
  display: flex;
  gap: 1.5rem;
}
.global-header__sub--sns > a {
  display: flex;
  align-items: center;
}
.global-header__sub--lang {
  color: #626264;
  font-weight: 700;
}
.global-header__sub--lang > .lang-pc {
  display: block;
}
.global-header__sub--lang > .lang-sp {
  display: none;
}
.global-header .menu-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 0;
  overflow: hidden;
  border-top: 1px solid #cccccc;
  background-color: #ffffff;
  transition: all 0.3s 0s ease;
}
.global-header .menu-dropdown.show {
  height: fit-content;
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1), 0 3px 6px rgba(0, 0, 0, 0.15);
}
.global-header .menu-dropdown__container {
  display: flex;
  min-height: 420px;
}
.global-header .menu-dropdown__overview {
  width: 685px;
  background-color: #fefafb;
}
.global-header .menu-dropdown__overview--inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  width: 360px;
  margin-left: auto;
  padding: 2rem 3rem 2rem 1rem;
  box-sizing: border-box;
}
.global-header .menu-dropdown__overview--ttl {
  display: block;
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}
.global-header .menu-dropdown__linkmenu {
  display: grid;
  grid-template-columns: 260px 180px 280px;
  column-gap: 3rem;
  padding: 1.5rem 3rem;
}
.global-header .menu-dropdown__linkmenu li {
  list-style: none;
  margin: 0;
  border-bottom: 1px solid #f4f5f6;
}
.global-header .menu-dropdown__linkmenu li > a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.5rem 1.25rem 0.5rem 0;
  box-sizing: border-box;
  font-weight: 500;
}
.global-header .menu-dropdown__linkmenu li > a::after {
  position: absolute;
  top: 1.125rem;
  right: 0.5rem;
  transform: rotate(-135deg);
  width: 6px;
  height: 6px;
  border-bottom: 1.5px solid #dc143c;
  border-left: 1.5px solid #dc143c;
  content: "";
  transition: ease 0.3s;
}
.global-header .menu-dropdown__linkmenu li > a:hover::after {
  animation: heder-arrow 0.75s forwards;
}
.global-header .menu-dropdown__linkmenu li > a > figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 100%;
}
.global-header .menu-dropdown__linkmenu li > a[target=_blank]:after {
  top: 0.875rem;
  right: 0.25rem;
  transform: rotate(0deg);
  width: 1rem;
  height: 1rem;
  border: none;
  background: url(/assets/images/common/icon/pink/external_link_icon.svg) no-repeat right;
  word-break: break-all;
}
.global-header .menu-dropdown__linkmenu li > a[target=_blank]:hover:after {
  animation: unset;
}
@keyframes heder-arrow {
  to {
    transform: translateX(0.3125rem) rotate(-135deg);
  }
}
.global-header .menu-dropdown__linkmenu--sub {
  margin-bottom: 0.5rem;
}
.global-header .menu-dropdown__linkmenu--sub li {
  border-bottom: unset;
}
.global-header .menu-dropdown__linkmenu--sub li:not(:first-child) {
  margin-top: 0.5rem;
}
.global-header .menu-dropdown__linkmenu--sub li > a {
  gap: 0.25rem;
  width: fit-content;
  padding: 0.125rem 1rem 0.125rem 2rem;
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.25;
}
.global-header .menu-dropdown__linkmenu--sub li > a::before {
  content: "-";
}
.global-header .menu-dropdown__linkmenu--sub li > a::after {
  border: none !important;
  content: none !important;
}
.global-header .menu-dropdown__closebtn {
  width: 100%;
  padding: 0.5rem 0;
  border: none;
  background-color: #f4f5f6;
  color: #626264;
}
.global-header .menu-dropdown__closebtn > span {
  position: relative;
}
.global-header .menu-dropdown__closebtn > span:before, .global-header .menu-dropdown__closebtn > span:after {
  position: absolute;
  top: 0.75rem;
  left: -1.5rem;
  transform: rotate(45deg);
  width: 18px;
  height: 2px;
  background: #626264;
  content: "";
}
.global-header .menu-dropdown__closebtn > span:after {
  top: 0.75rem;
  transform: rotate(-45deg);
}
.global-header .search-box {
  position: relative;
  grid-area: area4;
}
.global-header .search-box__btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 80px;
  height: 100px;
  padding: 0;
  border: none;
  background-color: #2c2c2c;
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1.25;
  cursor: pointer;
  transition: 0.2s all;
}
.global-header .search-box__btn:hover {
  background-color: #505050;
}
.global-header .search-box__btn > .close {
  display: none;
}
.global-header .search-box__form {
  position: absolute;
  right: 0;
  z-index: 10000;
  visibility: hidden;
  opacity: 0;
  width: 375px;
  padding: 0.75rem;
  background-color: #2c2c2c;
  transition: visibility 0s linear 0.1s, opacity 0.1s linear;
}
.global-header .search-box.active .search-box__btn {
  background-color: #505050;
}
.global-header .search-box.active .search-box__btn > .search {
  display: none;
}
.global-header .search-box.active .search-box__btn > .close {
  display: block;
}
.global-header .search-box.active .search-box__form {
  visibility: visible;
  opacity: 1;
  transition: visibility 0s linear 0s, opacity 0.1s linear;
}
.global-header #toggle {
  display: none;
}
@media screen and (max-width: 1600px) {
  .global-header {
    /* --- ドロップダウンメニュー --- */
  }
  .global-header .menu-dropdown__overview {
    width: 450px;
  }
}
@media screen and (max-width: 1366px) {
  .global-header {
    grid-template-columns: 250px 1fr;
    /* --- ドロップダウンメニュー --- */
  }
  .global-header .menu-dropdown__overview {
    width: fit-content;
  }
  .global-header .menu-dropdown__overview--inner {
    width: 300px;
    padding: 2rem 1.5rem;
  }
  .global-header .menu-dropdown__linkmenu {
    column-gap: 1.25rem;
    padding: 1rem 1.5rem;
  }
}
@media screen and (max-width: 1180px) {
  .global-header {
    grid-template-columns: 200px 1fr;
  }
  .global-header__nav {
    grid-template-columns: 1fr 265px 80px;
  }
  .global-header__other {
    gap: 1rem;
  }
  .global-header__menu {
    font-size: 1rem;
  }
  .global-header__menu--home {
    padding-inline: 1rem;
  }
  .global-header__menu--btn {
    padding-inline: 1rem;
  }
  .global-header__sub {
    gap: 0.5rem;
  }
  .global-header__sub--sns {
    gap: 0.5rem;
  }
  .global-header .menu-dropdown__container {
    min-height: unset;
  }
  .global-header .menu-dropdown__overview--inner {
    width: 228px;
  }
  .global-header .menu-dropdown__overview--ttl {
    font-size: 1.25rem;
  }
  .global-header .menu-dropdown__linkmenu {
    grid-template-columns: 260px 155px 260px;
  }
  .global-header .menu-dropdown__linkmenu--sub li:not(:first-child) {
    margin-top: 0.25rem;
  }
  .global-header .menu-dropdown__linkmenu--sub li > a {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 980px) {
  .global-header {
    grid-template-columns: 1fr;
    height: 70px;
    /* --- F-REIロゴ --- */
    /* --- メインメニュー --- */
    /* --- 上部メニュー --- */
    /* --- グローバルメニュー --- */
    /* --- SNS／言語切替 --- */
    /* --- ドロップダウンメニュー --- */
    /* toggle */
  }
  .global-header__logo {
    height: 70px;
    justify-self: unset;
  }
  .global-header__nav {
    grid-template-columns: auto;
    grid-template-rows: auto auto auto 1fr;
    width: 100%;
    height: 0;
    overflow: auto;
    background-color: #ffffff;
    transition: all 0.3s 0s ease;
    grid-template-areas: "area3 area4" "area2 area2" "area5 area5" "area1 area1";
  }
  .global-header__nav.nav-open {
    height: calc(100dvh - 70px);
  }
  .global-header__other {
    flex-wrap: wrap;
    justify-content: unset;
    padding: 2rem 1rem 4rem;
  }
  .global-header__menu {
    justify-content: center;
    padding: 0;
  }
  .global-header__menu--home {
    display: none;
  }
  .global-header__menu--btn {
    width: min(300px, 50%);
    padding: 1rem 0.25rem;
  }
  .global-header__sub {
    justify-content: right;
    margin-block: 1.875rem auto;
  }
  .global-header__sub--sns {
    gap: 1rem;
  }
  .global-header__sub > img:first-child {
    display: none;
  }
  .global-header__sub--lang > .lang-pc {
    display: none;
  }
  .global-header__sub--lang > .lang-sp {
    display: block;
  }
  .global-header .menu-dropdown {
    position: relative;
    top: 0;
    grid-area: area5;
  }
  .global-header .menu-dropdown.show {
    overflow: unset;
    box-shadow: unset;
  }
  .global-header .menu-dropdown__container {
    flex-direction: column;
  }
  .global-header .menu-dropdown__overview {
    width: 100%;
  }
  .global-header .menu-dropdown__overview--inner {
    width: 100%;
    padding: 1.5rem 1rem;
  }
  .global-header .menu-dropdown__linkmenu {
    grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
    padding: 0.75rem 1rem 0;
  }
  .global-header .menu-dropdown__closebtn {
    display: none;
  }
  .global-header .search-box {
    margin-top: 1.5rem;
  }
  .global-header .search-box__btn {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.5rem;
    border-radius: 0.25rem;
  }
  .global-header .search-box__btn > img {
    width: 1.25rem;
  }
  .global-header .search-box__btn > span {
    display: none;
  }
  .global-header .search-box__form {
    right: 0.75rem;
    width: calc(100vw - 1.5rem);
    padding-right: 0;
    border-radius: 0.5rem;
    box-sizing: border-box;
  }
  .global-header .search-box.active {
    margin-bottom: 4.5rem;
  }
  .global-header .global-header__nav:not(.nav-open) .search-box__form {
    visibility: hidden;
  }
  .global-header #toggle {
    position: absolute;
    top: 24px;
    right: 15px;
    z-index: 9999;
    display: block;
    width: 25px;
    height: 18px;
    border-bottom: 2px solid #1a1a1c;
    font-size: 1.4em;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .global-header #toggle:before, .global-header #toggle:after {
    position: absolute;
    top: 10px;
    width: 25px;
    height: 2px;
    background: #1a1a1c;
    content: "";
    transition: 0.1s;
  }
  .global-header #toggle:after {
    margin-top: -8px;
  }
  .global-header #toggle.nav-open {
    border: none;
  }
  .global-header #toggle.nav-open::before {
    top: 11px;
    transform: rotate(45deg);
  }
  .global-header #toggle.nav-open::after {
    top: 11px;
    transform: rotate(-45deg);
    margin-top: 0;
  }
}

@media screen and (min-width: 981px) {
  .global-header--en {
    /* --- グローバルメニュー --- */
    /* --- SNS／言語切替 --- */
    /* --- ドロップダウンメニュー --- */
  }
  .global-header--en .global-header__menu {
    font-size: 1rem;
  }
  .global-header--en .global-header__menu--home {
    padding-inline: 0.25rem;
  }
  .global-header--en .global-header__menu--btn {
    padding-inline: 0.25rem;
  }
  .global-header--en .global-header__sub {
    font-size: 0.875rem;
  }
  .global-header--en .menu-dropdown__linkmenu {
    grid-template-columns: 260px 190px 270px;
  }
}
@media screen and (min-width: 981px) and (max-width: 1280px) {
  .global-header--en {
    grid-template-columns: 150px 1fr;
    /* --- 上部メニュー --- */
    /* --- グローバルメニュー --- */
    /* --- SNS／言語切替 --- */
    /* --- ドロップダウンメニュー --- */
  }
  .global-header--en .global-header__nav {
    grid-template-columns: 1fr 260px 80px;
  }
  .global-header--en .global-header__menu {
    margin-right: -1rem;
    font-size: 0.875rem;
  }
  .global-header--en .global-header__sub {
    gap: 0.5rem;
  }
  .global-header--en .global-header__sub--sns {
    gap: 1rem;
  }
  .global-header--en .menu-dropdown__linkmenu {
    grid-template-columns: 240px 155px 265px;
  }
}
@media screen and (min-width: 1181px) {
  .global-header--en {
    /* --- グローバルメニュー --- */
  }
  .global-header--en .global-header__menu--home {
    padding-inline: 0.5rem;
  }
  .global-header--en .global-header__menu--btn {
    padding-inline: 0.5rem;
  }
}
/* ヘッダー
---------------------------------------------------------- */
.global-footer {
  width: 100%;
  background-color: #f4f5f6;
  /*レスポンシブ対応　SP版表示*/
}
.global-footer__inner {
  width: min(1200px, 100%);
  box-sizing: border-box;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
.global-footer a:not(.mail-btn) {
  color: #333333;
}
.global-footer a:not(.mail-btn):hover {
  opacity: 1;
  color: #dc143c;
  text-decoration: none;
}
.global-footer a:not(.mail-btn):has(img):hover {
  opacity: 0.7;
}
.global-footer__share {
  background-color: #1a1a1c;
}
.global-footer__share--inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: right;
  gap: 1.5rem;
  padding-block: 1rem;
}
.global-footer__share--inner .sns-box {
  display: flex;
  gap: 1.5rem;
}
.global-footer__share--inner .sns-box > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}
.global-footer__share--inner .mail-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid #ffffff;
  border-radius: 4px;
  background-color: initial;
  color: #ffffff;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s 0s ease;
}
.global-footer__share--inner .mail-btn:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.global-footer__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid #626264;
}
.global-footer__menu--info {
  position: relative;
  max-width: 400px;
  margin-top: -3rem;
}
.global-footer__menu--info > figure {
  width: fit-content;
  padding: 1.5rem;
  border-radius: 0.5rem;
  box-sizing: border-box;
  background-color: #ffffff;
}
.global-footer__menu--info > p {
  font-size: 0.875rem;
}
.global-footer__menu--info > p.name {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.25;
}
.global-footer__menu--info > p > span {
  font-weight: 700;
  font-size: 1rem;
}
.global-footer__menu--main {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
  padding-block: 3.5rem 2.5rem;
}
.global-footer__menu--main ul li {
  list-style: none;
  margin: 0 0 1rem;
}
.global-footer__menu--main ul li > a {
  font-weight: 700;
}
.global-footer__menu--main ul.menu-sub {
  margin-top: 0.25rem;
}
.global-footer__menu--main ul.menu-sub li {
  position: relative;
  display: flex;
  gap: 0.25rem;
  margin-bottom: 0.25rem;
}
.global-footer__menu--main ul.menu-sub li::before {
  line-height: 1.25;
  content: "-";
}
.global-footer__menu--main ul.menu-sub li > a {
  font-weight: normal;
  font-size: 0.875rem;
}
.global-footer__menu-sub {
  padding-block: 1.5rem;
}
.global-footer__menu-sub .policy {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}
.global-footer__menu-sub .policy > a {
  position: relative;
}
.global-footer__menu-sub .policy > a:not(:last-child)::after {
  display: inline-block;
  padding-left: 1rem;
  content: "|";
}
.global-footer__menu-sub .copyright {
  font-size: 0.75rem;
}
@media screen and (max-width: 980px) {
  .global-footer__inner {
    padding-inline: 1.5rem;
  }
  .global-footer__share--inner {
    justify-content: center;
    padding-block: 1.5rem 3.5rem;
  }
  .global-footer__menu {
    gap: 0 3rem;
  }
  .global-footer__menu--info {
    margin-top: -2rem;
  }
  .global-footer__menu--info > p.name {
    font-size: 1.125rem;
  }
  .global-footer__menu--main {
    padding-block: 2rem 1rem;
  }
}
@media screen and (max-width: 640px) {
  .global-footer__inner {
    padding-inline: 1rem;
  }
  .global-footer__menu--info > figure {
    max-width: 10rem;
  }
  .global-footer__menu--main ul li {
    margin-bottom: 0.5rem;
  }
}

@media screen and (min-width: 1081px) {
  .global-footer--en .global-footer__menu--main {
    gap: 0 2rem;
  }
  .global-footer--en .global-footer__menu--main ul {
    max-width: 280px;
  }
}
/* --- ページトップボタン --- */
#page-top {
  position: fixed;
  right: 2rem;
  bottom: 3.5rem;
  z-index: 999;
  display: block;
  opacity: 0;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 100vh;
  text-decoration: none;
  text-align: center;
  transition: opacity 0.5s ease-in;
}
#page-top.fadein {
  opacity: 1;
}
@media screen and (max-width: 980px) {
  #page-top {
    right: 1rem;
    bottom: 2rem;
    width: 3rem;
    height: 3rem;
  }
}

/* パーツ
---------------------------------------------------------- */
.main {
  overflow: hidden;
  margin-block: 100px 12rem;
}
.main:has(.sticky-wrap), .main:has(.page__news > .news-tab) {
  overflow: unset;
}
.main:lang(en) {
  word-break: break-word;
}
@media screen and (max-width: 980px) {
  .main {
    margin-block: 70px 6rem;
  }
}

.main__inner {
  margin-top: 3rem;
}

/* --- container --- */
.container {
  width: min(1200px, 100%);
  margin-top: 4rem;
  box-sizing: border-box;
  word-break: break-all;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
.container:lang(en) {
  word-break: break-word;
}
@media screen and (max-width: 980px) {
  .container {
    margin-top: 2rem;
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .container {
    padding-inline: 1rem;
  }
}

.kv + .container:has(.bg-pink) {
  margin-top: 0;
}

/*背景：薄赤色*/
.bg-pink,
.bg-pink-block {
  position: relative;
  background-color: #fefafb;
  margin-block: 0 6rem;
  padding-block: 5rem;
}
.bg-pink::after,
.bg-pink-block::after {
  position: absolute;
  top: 0;
  left: calc((50vw - 560px) * -1);
  z-index: -1;
  width: 100vw;
  height: 100%;
  background-color: #fefafb;
  content: "";
}
.bg-pink p:last-child,
.bg-pink p:only-child,
.bg-pink-block p:last-child,
.bg-pink-block p:only-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1200px) {
  .bg-pink::after,
  .bg-pink-block::after {
    left: -2.5rem;
  }
}
@media screen and (max-width: 980px) {
  .bg-pink,
  .bg-pink-block {
    margin-block: 0 3rem;
    padding-block: 3rem;
  }
  .bg-pink::after,
  .bg-pink-block::after {
    left: -1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .bg-pink::after,
  .bg-pink-block::after {
    left: -1rem;
  }
}

.bg-pink-block {
  margin-block: 6rem;
}
@media screen and (max-width: 980px) {
  .bg-pink-block {
    margin-block: 3rem;
  }
}

/* --- 下位ページ：keyvisual --- */
.kv {
  position: relative;
  width: min(1200px, 100%);
  margin-left: calc((100vw - 1200px) / 2);
  padding: 0 2.5rem 4rem;
  border-bottom: 4px solid;
  border-image: linear-gradient(to right, #64b9f0, #0066cc, #66a666, #f0f000, #ffb900, #cc6699, #64b9f0) 1;
  box-sizing: border-box;
  /* PC版表示：幅調整 1230px */
  /*レスポンシブ対応　TAB版表示*/
  /*レスポンシブ対応　SP版表示*/
}
.kv:has(figure) {
  width: 100%;
  margin-left: 0;
  padding: unset;
  border: none;
}
.kv:has(figure) > figure {
  height: 400px;
  margin-top: -9rem;
}
.kv:has(figure) > figure > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kv__heading {
  display: flex;
  gap: 1rem;
}
.kv__heading--icon {
  width: 35px;
  height: 35px;
}
.kv__heading--ttl {
  z-index: 1;
}
.kv__heading--ttl > h1 {
  margin: initial;
  padding-top: 0.5rem;
}
.kv__heading--ttl > h2 {
  margin: initial;
  padding: 0.5rem 0 0;
  font-weight: normal;
  font-size: 3rem;
}
.kv__heading--ttl > h2::before {
  content: unset;
}
.kv__heading--ttl > p {
  margin: 1rem 0 0;
  font-weight: 500;
  font-size: 0.875rem;
}
.kv__heading-back {
  position: relative;
  z-index: 10;
  width: fit-content;
  min-width: 56vw;
  max-width: calc(100vw - 2.5rem);
  padding: 0 2.5rem 3rem;
  border-bottom-right-radius: 3rem;
  box-sizing: border-box;
  background-color: #ffffff;
}
.kv__heading-back .kv__heading {
  width: min(1200px, 100%);
  margin-left: calc((100vw - 1200px) / 2);
}
.kv.no-border {
  padding-bottom: 0;
  border: none;
}
@media screen and (max-width: 1230px) {
  .kv {
    margin-inline: auto;
  }
  .kv__heading-back .kv__heading {
    margin-left: unset;
  }
}
@media screen and (max-width: 980px) {
  .kv {
    padding: 0 1.5rem 3rem;
  }
  .kv:has(figure) > figure {
    height: 320px;
    margin-top: -7rem;
  }
  .kv__heading {
    gap: 0.75rem;
  }
  .kv__heading--ttl > h2 {
    font-size: 2rem;
  }
  .kv__heading-back {
    max-width: calc(100vw - 1.5rem);
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .kv {
    padding: 0 1rem 2rem;
  }
  .kv:has(figure) > figure {
    height: 240px;
    margin-top: -5rem;
  }
  .kv__heading {
    gap: 0.5rem;
  }
  .kv__heading--icon {
    width: 24px;
    height: 24px;
  }
  .kv__heading--ttl > h2 {
    font-size: 1.5rem;
  }
  .kv__heading--ttl > p {
    margin-top: 0.5rem;
    font-size: 0.625rem;
  }
  .kv__heading-back {
    width: 100%;
    max-width: calc(100vw - 1rem);
    padding: 0 1rem 1.5rem;
  }
  .kv__heading-back:has(p:empty) {
    padding: 0 1rem 2rem;
  }
}

/*グレー罫線*/
.line-gray {
  height: 1px;
  border: none;
  background-color: #cccccc;
}

/* --- トップページスクロール時フェードイン --- */
.scroll_fade {
  visibility: hidden;
  opacity: 0;
  transform: translate(0px, 50px);
  transition: all 2000ms;
}

.scroll_fadein {
  visibility: visible;
  opacity: 1;
  transform: translate(0px, 0px);
}

/* --- お問い合わせ先 --- */
.info-card {
  margin-top: 6rem;
  padding: 2rem 3rem;
  border: 1px solid #cccccc;
  background-color: #ffffff;
  text-align: center;
}
.info-card__text {
  margin: 0;
  font-size: 1.25rem;
}
.info-card__note {
  margin: 1rem 0 0;
  font-size: 0.875rem;
}
@media screen and (max-width: 640px) {
  .info-card {
    margin-top: 2rem;
    padding: 1.5rem 1rem;
  }
  .info-card__text {
    font-size: 1rem;
  }
  .info-card__note {
    font-size: 0.75rem;
  }
}

/* --- お問い合わせ先：ボタンあり --- */
.info-card-btn {
  margin-top: 6rem;
  padding: 2rem 3rem;
  background-color: #f4f5f6;
  text-align: center;
}
.info-card-btn p {
  margin: 0;
}
.info-card-btn p + p {
  margin-top: 1rem;
}
.info-card-btn__ttl {
  margin-bottom: 2rem;
  font-size: 1.5rem;
}
.info-card-btn__ttl::before {
  content: none;
}
.info-card-btn__btn {
  margin: 2rem auto 0 !important;
}
.info-card-btn__tell-area {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #cccccc;
}
.info-card-btn__tell-area--number {
  font-weight: 500;
  font-size: 1.5rem;
}
@media screen and (max-width: 640px) {
  .info-card-btn {
    margin-top: 2rem;
    padding: 1.5rem 1rem;
  }
  .info-card-btn__ttl {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }
}

/* --- SNSポリシーのリスト調整 --- */
.sns-direction-article__list {
  padding-left: 3em;
}

/* --- 活動・催事の余白調整 --- */
.article-lead__contents {
  margin-bottom: 3rem;
}

/* 記事作成
---------------------------------------------------------- */
/* ※ボタン、表テーブル、アイコン付きリストは下部に記載 */
/* --- 記事エリア --- */
.article__inner {
  width: min(1200px, 100%);
  box-sizing: border-box;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 980px) {
  .article__inner {
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .article__inner {
    padding-inline: 1rem;
  }
}

.kv + .article__inner {
  margin-top: 4rem;
}
@media screen and (max-width: 980px) {
  .kv + .article__inner {
    margin-top: 2rem;
  }
}

/* --- 記事タイトル（h1）エリア --- */
.article__top {
  margin: 0 1rem;
  padding: 0 0 0 0;
  border-bottom: 1px solid #cccccc;
}

.article__inner--top {
  padding: 0 0 0 0;
}

.article-top__area {
  padding: 0 0 3rem 0;
}

/* サブタイトル */
.article__subtitle {
  margin: 0 0 1.5rem 0;
  color: #1a1a1c;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.5;
}

/* 日付 */
.date {
  color: #2c2c2c;
  font-weight: 500;
  font-size: 1rem;
}

/* 概要文 */
.article__outline {
  margin: 0 0 2.5rem 0;
}

/* 記事本文エリア */
.article__contents {
  word-break: break-all;
}
.article__contents:lang(en) {
  word-break: break-word;
}
.article__contents p {
  margin-bottom: 1.5rem;
}

/* 記事タイトル　※ニュース以外でも使用 */
.link-arrow {
  position: relative;
  width: fit-content;
  padding-left: 1.5rem;
  font-weight: normal;
  line-height: 1.5;
  margin-block: 0 1rem;
}
.link-arrow:before {
  position: absolute;
  top: 0.375rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  background: url(/assets/images/common/icon/gray/arrow.svg) no-repeat center/contain;
  content: "";
}
.link-arrow a {
  /* ホバー時の矢印アニメーション */
}
.link-arrow a:hover {
  opacity: 1;
  color: #dc143c;
}
.link-arrow a:hover::before {
  animation: elm 2s forwards;
}
.link-arrow:hover::before {
  animation: elm 1s forwards;
}
@media screen and (max-width: 640px) {
  .link-arrow {
    padding-left: 1.25rem;
  }
  .link-arrow:before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

@keyframes elm {
  to {
    transform: translate(0.625rem);
  }
}
/* --- 余白の調整 --- */
/* sectionとsectionの間の余白（80px） */
.lead__contents,
.contents__box {
  margin-bottom: 80px;
}

/* ページ内リンク調整用 */
.anker-scroll {
  margin-top: -10rem;
  padding-top: 10rem;
}
@media screen and (max-width: 980px) {
  .anker-scroll {
    margin-top: -6rem;
    padding-top: 6rem;
  }
}

/* section内のコンテンツとコンテンツの間の余白（3rem） */
.info__box {
  margin-bottom: 3rem;
}
.info__box:last-child {
  margin-bottom: 0;
}

/* --- テキスト装飾 --- */
/* 太字 */
.text--bold {
  font-weight: bold;
}

/* 文字右揃え */
.text--right {
  text-align: right;
}

/* 改行位置の部分調整 */
.text__inline {
  display: inline-block;
}

/* --- テキスト --- */
.text__wrap {
  display: grid;
  grid-row-gap: 1.5rem;
}
.text__wrap--2colums {
  /* ２列 */
  grid-template-rows: repeat(2, 1fr);
}
.text__wrap--3colums {
  /* ３列 */
  grid-template-rows: repeat(3, 1fr);
}
.text__wrap--4colums {
  /* ４列 */
  grid-template-rows: repeat(4, 1fr);
}

/* 組織体制 */
.institution-chart__img {
  margin-bottom: 40px;
  text-align: center;
}

/* --- 背景つきテキスト（座布団） --- */
.article__text {
  padding: 1.25rem 1rem;
  border-radius: 0.5rem;
}
.article__text--bg-gray {
  background-color: #f4f5f6;
}
.article__text--bg-gray > p:first-child {
  margin-top: 0;
}
.article__text--bg-gray > p:last-child {
  margin-bottom: 0;
}

/* --- 注釈 --- */
.article__note {
  margin-bottom: 2.5rem;
  padding: 1.5rem 1.5rem;
  font-size: 1rem;
  line-height: 175%;
  letter-spacing: 0.05em;
}
.article__note:last-child {
  margin-bottom: 0;
}
.article__note li {
  list-style: none;
  margin: 0 0 8px 0;
  text-indent: -1em;
}
.article__note li:last-child {
  margin-bottom: 0;
}
.article__note--cms {
  margin-bottom: 2.5rem;
  padding: 1.5rem 1.25rem;
  /* --- CMSブロック用注釈 --- */
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  font-size: 0.875rem;
  letter-spacing: 0.0025em;
}
.article__note--cms:last-child {
  margin-bottom: 0;
}
.article__note--cms li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .article__note--cms {
    padding: 1.25rem 1rem;
  }
}

P + .article__note--cms,
a + .article__note--cms,
dl + .article__note--cms {
  margin-top: 2.5rem;
}

/* --- リスト --- */
.article__list {
  /* 箇条書きリスト（ul）※「文頭●あり」 */
  margin: 0;
  padding: 0;
}
.article__list li {
  list-style-type: circle;
  margin: 0 0 0.5rem 1.25rem;
}
.article__list li::marker {
  line-height: 1;
}
.article__list--discretionary li {
  list-style-type: none;
  /* 箇条書きリスト（ul）※「文頭●なし」 */
  margin-left: 0;
  padding-left: 3em;
  text-indent: -3em;
}
.article__list--discretionary li ul > li {
  padding-left: 2em;
  text-indent: -2em;
}
.article__list--indent li {
  list-style-type: none;
  /* 箇条書きリスト（ul）※「文頭●なし、インデント1文字分」 */
  margin-left: 0;
  padding-left: 1em;
  text-indent: -1em;
}
.article__list--indent li ul > li {
  padding-left: 1em;
  text-indent: -1em;
}
.article__list--english li {
  list-style-type: none;
  /* 箇条書きリスト（ul）※「文頭●なし、英語文書、インデント1.5文字分」 */
  margin-left: 0;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.article__list--english li ul > li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/* 英語サイト 数字リストのインデント位置 */
:lang(en) .article__list--discretionary li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/* 番号付きリスト（ol） */
.article__list--number {
  list-style-type: none;
  margin: 0;
  padding: 0;
  counter-reset: count 0;
}
.article__list--number > li {
  margin-bottom: 0.5rem;
  padding-left: 2em;
  text-indent: -2em;
}
.article__list--number > li::before {
  margin-right: 0.5rem;
  content: counter(count, decimal-leading-zero) ".";
  counter-increment: count;
}
.article__list--number > li:last-child {
  margin-bottom: 0;
}
.article__list--number > li ul {
  text-indent: 0;
}

/* 番号なしリスト（ol） */
ol.article__list--discretionary > li::before {
  content: none;
}

/* --- 画像 --- */
/* 画像１列 */
.article__img {
  margin-bottom: 1.5rem;
  text-align: center;
}
.article__img:last-of-type {
  margin-bottom: 0;
}

/* 画像２列横並び */
.img__wrap--2colums {
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  margin-bottom: 1.5rem;
  grid-row-gap: 1.5rem;
}

/* 画像＋テキスト（回り込み） */
.side__box {
  margin-bottom: 1.5rem;
}

.side__img,
.side__img--right {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 1.5rem;
  margin-inline: auto;
}

/* 記事一覧
---------------------------------------------------------- */
/* --- 記事リンク --- */
.news-wrap .news-card {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #cccccc;
}
.news-wrap .news-card a {
  position: relative;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 2rem;
  color: #2c2c2c;
}
.news-wrap .news-card a::after {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 2px solid #dc143c;
  border-right: 2px solid #dc143c;
  vertical-align: middle;
  content: "";
  transition: 0.3s ease;
}
.news-wrap .news-card a:hover::after {
  right: 0.25rem;
}
.news-wrap .news-card a:hover > figure > img {
  transform: scale(1.02);
}
.news-wrap .news-card a[href$=".pdf"]::after {
  right: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border: none;
  background: url(/assets/images/common/icon/pink/pdf_icon.svg) no-repeat right;
}
.news-wrap .news-card a[href$=".pdf"] > figure::after {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 1;
  display: block;
  width: 20px;
  height: 20px;
  background: url(/assets/images/common/icon/pink/pdf_icon.svg) no-repeat right;
  content: "";
}
.news-wrap .news-card a > figure {
  position: relative;
  aspect-ratio: 5/3;
  overflow: hidden;
  border: 1px solid #f4f5f6;
  border-radius: 8px;
  box-sizing: border-box;
}
.news-wrap .news-card a > figure > img {
  width: 100%;
  height: 100%;
  transition: 0.3s all;
  object-fit: cover;
}
.news-wrap .news-card__txt {
  padding-right: 1.5rem;
}
.news-wrap .news-card__date {
  margin-bottom: 1rem;
}
.news-wrap .news-card__title {
  font-weight: 500;
  font-size: 1.25rem;
}
.news-wrap .news-card.new-icon > a {
  overflow: hidden;
}
.news-wrap .news-card.new-icon > a::before {
  position: absolute;
  top: 8px;
  left: -17px;
  z-index: 1;
  transform: rotate(-45deg) scale(1) !important;
  width: 65px;
  height: auto;
  padding: 2px 0;
  background: #dc143c;
  color: #ffffff;
  font-weight: bold;
  font-size: 0.75rem;
  line-height: 1;
  text-align: center;
  content: "NEW";
  pointer-events: none;
  text-rendering: optimizeLegibility;
  will-change: transform;
}
.news-wrap__newsletter {
  margin-top: 5rem;
  border-top: 1px solid #cccccc;
}
.news-wrap__newsletter .news-card__newsletter {
  border-bottom: 1px solid #cccccc;
}
.news-wrap__newsletter .news-card__newsletter a {
  position: relative;
  display: block;
  padding: 1.5rem 2rem 1.5rem 0;
  color: #2c2c2c;
  text-decoration: none;
}
.news-wrap__newsletter .news-card__newsletter a::after {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 2px solid #dc143c;
  border-right: 2px solid #dc143c;
  vertical-align: middle;
  content: "";
  transition: 0.3s ease;
}
.news-wrap__newsletter .news-card__newsletter a:hover {
  color: #dc143c;
}
.news-wrap__newsletter .news-card__newsletter a:hover::after {
  right: 0.5rem;
}
.news-wrap__newsletter .news-card__newsletter--title {
  font-size: 1.25rem;
}
@media screen and (max-width: 980px) {
  .news-wrap .news-card__title {
    font-size: 1rem;
  }
  .news-wrap__newsletter {
    margin-top: 2.5rem;
  }
  .news-wrap__newsletter .news-card__newsletter--title {
    font-size: 1rem;
  }
}
@media screen and (max-width: 640px) {
  .news-wrap .news-card {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
  .news-wrap .news-card a {
    grid-template-columns: 100px 1fr;
    gap: 0.5rem;
  }
  .news-wrap .news-card a::after {
    width: 0.375rem;
    height: 0.375rem;
    border-top: 1.5px solid #dc143c;
    border-right: 1.5px solid #dc143c;
  }
  .news-wrap .news-card a[href$=".pdf"]::after {
    width: 16px;
    height: 16px;
    background-size: 16px;
  }
  .news-wrap .news-card a[href$=".pdf"] > figure::after {
    content: none;
  }
  .news-wrap .news-card a > figure {
    border-radius: 4px;
  }
  .news-wrap .news-card__date {
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
  }
  .news-wrap .news-card__title {
    font-size: 0.75rem;
  }
  .news-wrap .news-card.new-icon > a::before {
    top: 5px;
    left: -22px;
    font-size: 0.5rem;
  }
  .news-wrap__newsletter .news-card__newsletter a {
    padding: 1rem 1.5rem 1rem 0;
  }
  .news-wrap__newsletter .news-card__newsletter a::after {
    width: 0.375rem;
    height: 0.375rem;
    border-top: 1.5px solid #dc143c;
    border-right: 1.5px solid #dc143c;
  }
  .news-wrap__newsletter .news-card__newsletter--title {
    font-size: 0.75rem;
  }
}

/* 右側固定メニュー */
.sticky-wrap {
  display: grid;
  align-items: start;
  grid-template-columns: 1fr 280px;
  gap: 4rem;
  margin-top: 5rem;
  grid-template-areas: "area2 area1";
}
.sticky-wrap .content {
  overflow: hidden;
  grid-area: area2;
}
.sticky-wrap > aside {
  position: sticky;
  top: 10rem;
  right: 0;
  padding: 0.5rem 1rem;
  border: 1px solid #f4f5f6;
  border-radius: 8px;
  grid-area: area1;
}
.sticky-wrap > aside li {
  list-style: none;
  margin: 0;
}
.sticky-wrap > aside li:not(:last-child) {
  border-bottom: 1px solid #f4f5f6;
}
.sticky-wrap > aside li a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: 0.75rem 1.75rem 0.75rem 0;
  color: #1a1a1c;
  font-size: 0.875rem;
  text-decoration: none;
}
.sticky-wrap > aside li a::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 100vh;
  background-color: #dc143c;
  content: "";
}
.sticky-wrap > aside li a::after {
  position: absolute;
  top: calc(50% - 1px);
  right: 6px;
  transform: translateY(-50%) rotate(135deg);
  width: 0.3rem;
  height: 0.3rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  content: "";
  transition: 0.3s ease;
}
.sticky-wrap > aside li a:hover {
  color: #dc143c;
}
.sticky-wrap > aside li a:hover::after {
  transform: translateY(-25%) rotate(135deg);
}
@media screen and (max-width: 980px) {
  .sticky-wrap {
    grid-template-columns: 1fr 230px;
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .sticky-wrap {
    grid-template-columns: 1fr;
    margin-top: 3rem;
    grid-template-areas: "area1" "area2";
  }
  .sticky-wrap > aside {
    position: static;
  }
}

/* 下部、戻るボタンエリア */
.return-area,
.return-area--noline {
  margin-top: 8rem;
  padding: 3rem 0 0 0;
  border-top: 1px solid #cccccc;
}
.return-area > *,
.return-area--noline > * {
  margin-inline: auto;
}
@media screen and (max-width: 980px) {
  .return-area,
  .return-area--noline {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .return-area,
  .return-area--noline {
    margin-top: 4rem;
  }
}

.return-area--noline {
  padding: 0;
  border: none;
}

.public_offering + .return-area {
  padding: 0;
  border-top: unset;
}

/* パーツ（タブレット、PC表示）
---------------------------------------------------------- */
@media screen and (min-width: 641px) {
  /* 記事作成（タブレット、PC表示）
  ---------------------------------------------------------- */
  /* --- 記事エリア --- */
  /* --- 記事タイトル（h1）エリア --- */
  .article__top {
    margin: 0 2.5rem;
  }
  .article__inner--top {
    padding: 0 0 0 0;
  }
  .article__inner--border {
    margin: 0 30px;
    padding: initial;
  }
  /* --- 画像 --- */
  /* 画像２列横並び */
  .img__wrap--2colums {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    grid-column-gap: 2rem;
  }
  /* 画像（大）＋ テキスト */
  .big__img--2colums {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
    grid-column-gap: 2rem;
  }
  .big__box {
    grid-column: 1/3;
    grid-row: 1/3;
  }
  /* 画像（左）＋テキスト（回り込み） */
  .side__img {
    float: left;
    max-width: 50%;
    margin-right: 2rem;
    margin-bottom: 1rem;
  }
  /* 画像（右）＋テキスト（回り込み） */
  .side__img--right {
    float: right;
    max-width: 50%;
    margin-bottom: 1rem;
    margin-left: 2rem;
  }
  /* 回り込み解除 */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
  /* --- テキスト --- */
  .text__wrap--2colums {
    /* ２列 */
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
  }
  .text__wrap--3colums {
    /* ３列 */
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
  }
  .text__wrap--4colums {
    /* ４列 */
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(1, 1fr);
  }
}
/* パーツ（PC表示）
---------------------------------------------------------- */
@media screen and (min-width: 980px) {
  /* 記事作成（PC表示）
  ---------------------------------------------------------- */
  /* --- 記事エリア --- */
  /* --- 記事タイトル（h1）エリア --- */
  .article__top {
    margin: 0 auto;
  }
  /* --- 余白の調整 --- */
  /* sectionとsectionの間の余白（104px） */
  .lead__contents,
  .contents__box {
    margin-bottom: 104px;
  }
  .contents__box:last-child {
    margin-bottom: 0;
  }
}
/* Googleカスタム検索
---------------------------------------------------------- */
.search-box .gsc-search-box {
  margin: 0;
}
.search-box .gsc-search-box td.gsc-input {
  padding: 0;
}
.search-box .gsc-search-box td.gsc-input .gsc-input-box {
  width: 100%;
  height: 32px;
  margin-right: 0;
  padding: 0 0 0 0;
  border-radius: initial;
  box-sizing: border-box;
}
.search-box .gsc-control-cse {
  padding: initial;
  border: none;
  background-color: transparent;
}
.search-box .gsib_a {
  padding: 0 9px;
}
.search-box .gsc-search-button-v2 {
  width: 40px;
  height: 32px;
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: initial;
  background: url(/assets/images/common/icon/white/search.svg) no-repeat 12px/24px;
  transition: all 0.4s ease;
}
.search-box .gsc-search-button-v2 svg {
  display: none;
}
.search-box .gsc-search-button-v2:hover {
  border-color: #cccccc;
  background-color: #4f4f4f;
}
.search-box .gscb_a {
  line-height: 30px;
}
.search-box .gsc-results-wrapper-visible,
.search-box .gsc-modal-background-image-visible {
  top: 5px;
}
@media screen and (max-width: 980px) {
  .search-box .gsc-search-box td.gsc-input .gsc-input-box {
    height: 40px;
  }
  .search-box .gsc-search-button-v2 {
    height: 40px;
  }
}

/* パンくずリスト
---------------------------------------------------------- */
.breadcrumb {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1rem;
}
.breadcrumb__list {
  display: inline-block;
  list-style: none;
  margin: 2rem 0 4rem 0;
  padding: initial;
  letter-spacing: 0.05em;
}
.breadcrumb__item {
  display: inline;
  color: #626264;
  font-size: 0.875rem;
}
.breadcrumb__item a {
  color: #2c2c2c;
  font-size: 0.875rem;
  text-decoration: none;
}
.breadcrumb__item a:hover {
  color: #dc143c;
}
.breadcrumb__item:not(:last-of-type)::after {
  color: #dc143c;
  font-size: 1rem;
  content: "›";
  margin-inline: 0.3rem 0.15rem;
}
@media screen and (max-width: 980px) {
  .breadcrumb__list {
    margin: 1rem 0 2rem 0;
  }
  .breadcrumb__item {
    font-size: 0.75rem;
  }
  .breadcrumb__item a {
    font-size: 0.75rem;
  }
}

/* ボタンデザイン
---------------------------------------------------------- */
.btn {
  position: relative;
  display: block;
  width: min(400px, 100%);
  padding: 1rem 1.5rem;
  overflow: hidden;
  border: 1px solid #2c2c2c;
  border-radius: 45px;
  box-sizing: border-box;
  background-color: #2c2c2c;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  text-align: center;
  transition: ease 0.2s;
}
.btn:after {
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  transform: rotate(45deg);
  width: 0.5rem;
  height: 0.5rem;
  margin: auto;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  vertical-align: middle;
  content: "";
}
.btn:hover {
  opacity: 1;
  /*ホバー時*/
  background-color: #ffffff;
  color: #2c2c2c;
  text-decoration: none;
}
.btn:hover:after {
  border-color: #2c2c2c;
}
.btn:lang(en) {
  padding-inline: 2.5rem;
}
.btn.btn--back:after {
  right: initial;
  left: 1rem;
  transform: rotate(-135deg);
}
.btn.btn--white {
  border: 1px solid #626264;
  background-color: #ffffff;
  color: #2c2c2c;
}
.btn.btn--white::after {
  border-color: #2c2c2c;
}
.btn.btn--white:hover {
  background-color: #2c2c2c;
  color: #ffffff;
  text-decoration: none;
}
.btn.btn--white:hover:after {
  border-color: #ffffff;
}
.btn[target=_blank]:not(.notex) {
  padding-inline: 2.5rem;
}
.btn[target=_blank]:not(.notex):after {
  transform: rotate(0deg);
  width: 1rem;
  height: 1rem;
  border: none;
  background: url(/assets/images/common/icon/white/open_in_new.svg) no-repeat right;
}
.btn[target=_blank]:not(.notex):hover:after {
  background: url(/assets/images/common/icon/black/open_in_new_b.svg) no-repeat right;
}
.btn--en {
  font-family: "Noto Sans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.btn span {
  position: relative;
  z-index: 99;
}

/* --- 前後のmargin調整 --- */
P + .btn,
a:not(.btn) + .btn,
dl + .btn {
  margin-top: 2.5rem;
}

.btn:has(+ p),
.btn:has(+ a:not([class])),
.btn:has(+ dl) {
  margin-bottom: 2.5rem;
}

.btn:has(+ table),
.btn:has(+ .table__wrap),
.btn:has(+ * > table) {
  margin-bottom: 3rem;
}

table + .btn,
.table__wrap + .btn,
div:has(table) + .btn {
  margin-top: 3rem;
}

/*カード型ボタン*/
.btn-card {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 3rem 1.5rem 1.5rem;
  border: solid 1px #cccccc;
  border-radius: 8px;
  background-color: #ffffff;
  color: #1a1a1c;
  font-weight: 700;
  text-decoration: none;
}
.btn-card .img-border {
  border: 1px solid #f4f5f6;
  border-radius: 0.5rem;
}
.btn-card:not(:has(.btn-card__inner)) {
  font-size: 1.25rem;
}
.btn-card::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 2px solid #dc143c;
  border-right: 2px solid #dc143c;
  vertical-align: middle;
  content: "";
  transition: 0.3s ease;
}
.btn-card:hover {
  color: #dc143c;
  text-decoration: none;
}
.btn-card:hover::after {
  right: 1.25rem;
}
.btn-card:has(img) {
  justify-content: flex-start;
  gap: 1.5rem;
}
.btn-card:has(.btn-card__inner) {
  align-items: flex-start;
}
.btn-card__inner {
  flex: 1;
  font-weight: normal;
}
.btn-card__inner > p:only-child, .btn-card__inner > p:last-child {
  margin-bottom: 0;
}
.btn-card:has(.btn-card__inner > .keyperson__name) > img, .btn-card:has(.btn-card__inner > .keyperson__name--min) > img {
  max-width: 6.25rem;
}
.btn-card__nolink {
  padding: 1.5rem;
  border-color: #ddd;
}
.btn-card__nolink::after {
  content: none;
}
.btn-card__nolink:hover {
  color: unset;
}
.btn-card__anker {
  padding-right: 4rem;
}
.btn-card__anker::before {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border-radius: 100vh;
  background-color: #dc143c;
  content: "";
}
.btn-card__anker::after {
  top: calc(50% - 2px);
  right: 26px;
  transform: translateY(-50%) rotate(135deg);
  width: 0.5rem;
  height: 0.5rem;
  border-color: #ffffff;
}
.btn-card__anker:hover::after {
  right: 26px;
  transform: translateY(-25%) rotate(135deg);
}
@media screen and (max-width: 640px) {
  .btn-card {
    padding: 0.75rem 1.5rem 0.75rem 0.75rem;
  }
  .btn-card:not(:has(.btn-card__inner)) {
    font-size: 1rem;
  }
  .btn-card::after {
    right: 0.75rem;
    width: 0.5rem;
    height: 0.5rem;
  }
  .btn-card:hover::after {
    right: 1rem;
  }
  .btn-card:has(img) {
    gap: 0.75rem;
  }
  .btn-card:has(img) > img {
    max-width: 6rem;
  }
  .btn-card:has(.btn-card__inner > .keyperson__name) > img, .btn-card:has(.btn-card__inner > .keyperson__name--min) > img {
    max-width: 4.5rem;
  }
  .btn-card__anker {
    padding-right: 2.5rem;
  }
  .btn-card__anker::before {
    right: 8px;
    width: 24px;
    height: 24px;
  }
  .btn-card__anker::after {
    right: 15px;
    width: 0.425rem;
    height: 0.425rem;
  }
}

/* カード
---------------------------------------------------------- */
/* --- ーカード --- */
.card {
  display: flex;
  width: min(48rem, 100%);
  border-radius: 8px;
  box-sizing: border-box;
  color: #1a1a1c;
  margin-inline: auto;
}
.card figure {
  width: min(40%, 300px);
  overflow: hidden;
  border-radius: 8px 0 0 8px;
}
.card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card__inner {
  flex: 1;
  padding: 3rem 2rem;
}
.card__inner .card-title {
  margin-bottom: 2.5rem;
}
.card__inner .card-title--big,
.card__inner .card-title > span {
  font-weight: 500;
  font-size: 2rem;
}
.card__inner .card-text {
  margin: 0;
}
.card__inner .card-text > span {
  font-size: 1.5rem;
}
@media screen and (max-width: 640px) {
  .card {
    flex-direction: column;
  }
  .card figure {
    width: 100%;
    border-radius: 8px 8px 0 0;
  }
  .card__inner {
    padding: 1.5rem 1rem;
  }
  .card__inner .card-title {
    margin-bottom: 1.5rem;
  }
  .card__inner .card-title--big,
  .card__inner .card-title > span {
    font-size: 1.25rem;
  }
  .card__inner .card-text > span {
    font-size: 1.125rem;
  }
}

/* --- 背景グレーカード --- */
.card-gray {
  background-color: #f4f5f6;
}
.card-gray .btn {
  margin-inline: auto;
}

/* --- 背景薄赤 --- */
.card-red {
  width: 100%;
  margin-top: 8rem;
  padding: 4rem;
  background-color: #fefafb;
}
.card-red figure {
  border-radius: 0;
}
.card-red .card__inner {
  padding: 0 0 0 3rem;
}
@media screen and (max-width: 980px) {
  .card-red {
    padding: 2rem;
  }
  .card-red .card__inner {
    padding: 0 0 0 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .card-red {
    padding: 1rem;
  }
  .card-red .card__inner {
    padding: 1.5rem 0 0 0;
  }
}

P + .card {
  margin-top: 2.5rem;
}

/* --- 研究ユニット紹介用 --- */
.card-list {
  position: relative;
}
.card-list:not(:has(a)),
.card-list > a {
  display: flex;
  width: 100%;
  border: solid 1px #eeeeee;
  border-radius: 8px;
  box-sizing: border-box;
  background-color: #ffffff;
  color: #1a1a1c;
  text-decoration: none;
}
.card-list > a {
  border-color: #cccccc;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
}
.card-list > a::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 2px solid #dc143c;
  border-right: 2px solid #dc143c;
  vertical-align: middle;
  content: "";
  transition: 0.3s ease;
}
.card-list > a:hover {
  color: #dc143c;
  text-decoration: none;
}
.card-list > a:hover::after {
  right: 1.25rem;
}
.card-list > a .card-list__inner {
  padding-right: 3.5rem;
}
.card-list + .card-list {
  margin-top: 2rem;
}
.card-list figure {
  width: min(40%, 300px);
  overflow: hidden;
  border-radius: 8px 0 0 8px;
}
.card-list figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card-list__inner {
  flex: 1;
  padding: 1.5rem;
}
.card-list__inner .card-title {
  margin: 0 0 1rem;
  padding: 0;
  border: none;
  font-weight: 500;
  font-size: 1.25rem;
}
.card-list__inner .card-title::before {
  content: none;
}
.card-list__inner .card-text {
  margin: 0;
  font-weight: normal;
}
@media screen and (max-width: 640px) {
  .card-list:not(:has(a)),
  .card-list > a {
    flex-direction: column;
  }
  .card-list > a::after {
    content: none;
  }
  .card-list > a .card-list__inner {
    padding-right: 0.75rem;
  }
  .card-list figure {
    width: 100%;
    aspect-ratio: 2/1;
    border-radius: 8px 8px 0 0;
  }
  .card-list__inner {
    padding: 1rem 0.75rem;
  }
  .card-list__inner .card-title {
    margin: 0 0 0.5rem;
    font-size: 1.125rem;
  }
  .card-list__inner .card-text > span {
    font-size: 1.125rem;
  }
}

/* --- 研究ユニットリーダー紹介用 --- */
.card-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  border: solid 1px #cccccc;
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
  background-color: #ffffff;
  color: #1a1a1c;
  text-decoration: none;
}
.card-intro[href=""] {
  border-color: #eeeeee;
  box-shadow: unset;
  pointer-events: none;
}
.card-intro:hover {
  color: #dc143c;
  text-decoration: none;
}
.card-intro figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 180px;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  background-color: #f4f5f6;
}
.card-intro figure img {
  width: auto;
  height: 100%;
  object-fit: cover;
}
.card-intro__inner {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1rem 0.75rem;
}
.card-intro__inner .card-title {
  margin-top: auto;
  text-align: center;
}
.card-intro__inner .card-text {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
}
.card-intro__inner .card-text > span {
  font-weight: normal;
}
@media screen and (max-width: 640px) {
  .card-intro__inner .card-text {
    margin: 0 0 0.5rem;
    font-size: 0.625rem;
  }
}

/* テーブルレイアウト
---------------------------------------------------------- */
/* --- 基本のテーブル --- */
.table__wrap {
  width: 100%;
  margin-bottom: 2.5rem;
  padding: initial;
  overflow-x: auto;
  box-sizing: border-box;
  line-height: 1.75;
}
.table__wrap--wide {
  width: 55%;
  min-width: 300px;
}
.table__wrap--normal {
  width: 25%;
  min-width: 100px;
}
.table__wrap--narrow {
  width: 20%;
  min-width: 80px;
}
.table__wrap > table {
  min-width: 520px;
}

main {
  /* --- PC表示 --- */
}
main table {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  border-spacing: 0;
}
main table::after {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: solid 1px #dddddd;
  border-radius: 7px;
  content: "";
  pointer-events: none;
}
main table,
main th,
main td {
  border: solid 1px #dddddd;
  border-spacing: 0;
}
main th,
main td {
  min-width: 3.75rem;
  padding: 1.25rem 1rem;
  word-break: break-all;
  vertical-align: top;
}
main th > p:first-child,
main td > p:first-child {
  margin-top: 0;
}
main th > p:last-child,
main td > p:last-child {
  margin-bottom: 0;
}
main th {
  background: #f4f5f6;
  text-align: left;
}
main td {
  background: #ffffff;
}
@media screen and (max-width: 640px) {
  main th,
  main td {
    padding: 1rem 0.75rem;
  }
}

/* --- テーブル（1列） --- */
.single-column__table {
  min-width: initial;
}

/* 英語サイト 表改行ルール */
:lang(en) main th,
:lang(en) main td {
  word-break: normal;
}

/* --- 横軸テーブル --- */
.horizontal-table__wrap {
  overflow-x: hidden;
}

.horizontal-table {
  display: block;
  width: 100%;
  min-width: initial;
  border: solid 1px #dddddd;
  box-sizing: border-box;
  border-collapse: collapse;
}
.horizontal-table tbody,
.horizontal-table tr,
.horizontal-table th,
.horizontal-table td {
  display: block;
  width: 100%;
  border: none;
  box-sizing: border-box;
}
.horizontal-table th {
  padding: 1rem 0.5rem 0 0.5rem;
  border-bottom: none;
  background-color: inherit;
  font-size: 16px;
}
.horizontal-table td {
  padding: 0 0.5rem 1rem 0.5rem;
  border-bottom: solid 1px #dddddd;
}
.horizontal-table tr:last-of-type td {
  border-bottom: none;
}

/* --- corporate-documentsページ　余白調整 --- */
.corporate-documents-table__wrap {
  margin-top: 1.5rem;
}

/* --- 余白と横幅小さめテーブル --- */
.table--small {
  min-width: initial;
}
.table--small th,
.table--small td {
  min-width: 3.75rem;
  padding: 0.5rem;
}

/* --- 実施中の委託事業について --- */
.request_for_disclosure__table tr th {
  width: 6rem;
  min-width: unset;
}
.request_for_disclosure__table tr th:lang(en) {
  width: 10.5rem;
}
@media screen and (max-width: 640px) {
  .request_for_disclosure__table tr th:lang(en) {
    width: 6rem;
  }
}

/* テーブルレイアウト（タブレット、PC表示）
---------------------------------------------------------- */
/* --- 横軸テーブル --- */
@media screen and (min-width: 520px) {
  .horizontal-table th {
    width: 30%;
    font-size: inherit;
  }
  .horizontal-table td,
  .horizontal-table th {
    padding: 1.25rem 1rem;
    border: none;
    background: #ffffff;
  }
  .horizontal-table tr {
    display: flex;
    border-bottom: solid 1px #dddddd;
  }
  .horizontal-table tr:last-child {
    border-bottom: none;
  }
}
/* テーブルレイアウト（PC表示）
---------------------------------------------------------- */
/* --- 基本のテーブル --- */
@media screen and (min-width: 93.75rem) {
  .table__wrap {
    overflow-x: initial;
  }
  .table__wrap--md {
    padding: 0 10vw;
  }
  main table th,
  main table td {
    min-width: 150px;
  }
}
/* ページネーション
---------------------------------------------------------- */
.pagination-container {
  margin-top: 4rem;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-block: 1px;
}
.pagination .page-item {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  width: 3rem;
  height: 3rem;
  margin: 0;
  box-sizing: border-box;
  text-align: center;
}
.pagination .page-item.number:not(:first-child) {
  margin-inline: 0.25rem;
}
.pagination .page-item.prev.disabled, .pagination .page-item.next.disabled {
  border-color: #eeeeee;
}
.pagination .page-item.prev.disabled a, .pagination .page-item.next.disabled a {
  color: #dddddd;
  pointer-events: none;
}
.pagination .page-item.prev.disabled a:hover, .pagination .page-item.next.disabled a:hover {
  background-color: initial;
}
.pagination .page-item a {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border: 1px solid #cccccc;
  border-radius: 100vh;
  box-sizing: border-box;
  color: #2c2c2c;
  font-weight: bold;
  text-decoration: none;
}
.pagination .page-item a:hover {
  opacity: 1;
  border-radius: 45px;
  background-color: #eeeeee;
  color: #dc143c;
  font-weight: bold;
}
.pagination .page-item.navi-active a {
  border-color: #dc143c;
  background: #dc143c;
  color: #ffffff;
  pointer-events: none;
}
.pagination .page-item.first {
  display: none;
}
.pagination .page-item.last {
  display: none;
}
.pagination .page-item.prev {
  width: auto;
  margin-right: 2rem;
}
.pagination .page-item.prev a {
  padding: 1.5rem;
  box-sizing: border-box;
}
.pagination .page-item.next {
  width: auto;
  margin-left: 2rem;
}
.pagination .page-item.next a {
  padding: 1.5rem;
  box-sizing: border-box;
}

/* ページネーション（SP表示）
---------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .pagination .page-item {
    width: 2.25rem;
    height: 2.25rem;
  }
  .pagination .page-item.prev {
    margin-right: 0.5rem;
  }
  .pagination .page-item.prev a {
    padding: 1rem;
  }
  .pagination .page-item.next {
    margin-left: 0.5rem;
  }
  .pagination .page-item.next a {
    padding: 1rem;
  }
}
/* アイコン付きリスト
---------------------------------------------------------- */
/* --- pdfアイコン --- */
.pdf__link {
  padding-right: 1.75rem;
  background: url(/assets/images/common/icon/pink/pdf_icon.svg) no-repeat right;
  word-break: break-all;
}

/* --- 外部サイトリンクアイコン --- */
.external__link {
  padding-right: 1.5rem;
  background: url(/assets/images/common/icon/pink/external_link_icon.svg) no-repeat right;
  word-break: break-all;
}

.pdf-link__list,
.external-link__list {
  margin-bottom: 1.5rem;
  font-weight: bolder;
  word-break: break-all;
}
.pdf-link__list li,
.external-link__list li {
  margin: 0 0 0.5rem 0;
}

.pdf-link__list li > a {
  padding-right: 1.75rem;
  background: url(/assets/images/common/icon/pink/pdf_icon.svg) no-repeat right;
}

.external-link__list li > a {
  padding-right: 1.5rem;
  background: url(/assets/images/common/icon/pink/external_link_icon.svg) no-repeat right;
}

/* --- ピンク矢印アイコン --- */
.arrow__link {
  position: relative;
}
.arrow__link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  transform: rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  margin: auto;
  border-top: 2px solid #dc143c;
  border-right: 2px solid #dc143c;
  content: "";
}

@media screen and (max-width: 640px) {
  /* --- pdfアイコン --- */
  .pdf__link {
    padding-right: 1.275rem;
    background-size: 1rem 1rem;
  }
  /* --- 外部サイトリンクアイコン --- */
  .external__link {
    padding-right: 1rem;
    background-size: 0.75rem 0.75rem;
  }
}
/* 動画
---------------------------------------------------------- */
/* YouTube：モーダル表示
---------------------------------------------------------- */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  /* YouTube：モーダル表示（SP表示）
  ---------------------------------------------------------- */
}
.modal .modal-moive__panel {
  position: relative;
  width: calc(100% - 4rem);
  max-width: 1200px;
}
.modal .modal-content {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.modal .modal-content > iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.modal .close {
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border: 2px solid #626264;
  border-radius: 100vh;
  box-sizing: border-box;
  background-color: #ffffff;
  color: #626264;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: 0.2s all;
}
.modal .close:hover, .modal .close:focus {
  border-color: #ffffff;
  background-color: #626264;
  color: #ffffff;
}
@media screen and (max-width: 640px) {
  .modal .modal-moive__panel {
    width: calc(100% - 1.5rem);
  }
  .modal .close {
    top: -3rem;
    right: calc(50% - 2.6rem);
    transform: translateX(-50%);
  }
}

/* iframe用スタイル：
---------------------------------------------------------- */
/* 記事内：直置き時のSP対策
---------------------------------------------------------- */
iframe {
  max-width: 100%;
}

/* 記事内：YouTube動画用
---------------------------------------------------------- */
.movie-frame {
  width: 100%;
  margin-inline: auto;
  aspect-ratio: 16/9;
}
.movie-frame iframe {
  width: 100%;
  height: 100%;
}

/* Goolge Map用
---------------------------------------------------------- */
.map-wrap {
  max-width: 100%;
}
.map-wrap .map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 40%; /* 比率を設定 */
}
.map-wrap .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .map-wrap .map {
    padding-top: 70%;
  }
}

/*トップページ
---------------------------------------------------------- */
.page__top {
  margin-block: 0;
  /*メインビジュアルエリア
  ---------------------------------------------------------- */
  /*ガイドエリア
  ---------------------------------------------------------- */
  /*ニュースエリア
  ---------------------------------------------------------- */
  /*動画エリア
  ---------------------------------------------------------- */
  /*広報物（パンフレット）エリア
  ---------------------------------------------------------- */
}
.page__top a {
  text-decoration: none;
}
.page__top .btn-more {
  padding-block: 3rem 4rem;
}
.page__top .btn-more .btn {
  font-size: 1.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 640px) {
  .page__top .btn-more {
    padding-block: 2rem 3rem;
  }
  .page__top .btn-more .btn {
    font-size: 1rem;
  }
}
.page__top .sp__hidden {
  display: initial !important;
}
.page__top .sp__visible {
  display: none !important;
}
@media screen and (max-width: 980px) {
  .page__top .sp__hidden {
    display: none !important;
  }
  .page__top .sp__visible {
    display: block !important;
  }
}
.page__top .main-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: calc(100vh - 0px);
  overflow: hidden;
  text-align: center;
}
.page__top .main-visual__text {
  position: absolute;
  color: #ffffff;
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.75);
}
.page__top .main-visual__text > h1 {
  margin: 3rem 0 0 0;
  padding: 0 1rem;
  font-size: min(6vw, 2.5rem);
}
.page__top .main-visual__text > h1.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.page__top .main-visual__text > h1 > span {
  display: block;
  font-size: min(3vw, 3rem);
}
.page__top .main-visual__img-only {
  width: 100%;
  height: 100%;
}
.page__top .main-visual__img-only > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page__top .main-visual__img-sp {
  display: none;
}
.page__top .main-visual > video {
  width: 100vw;
  height: auto;
}
.page__top .main-visual .movie-btn {
  position: absolute;
  bottom: 3rem;
  left: 2.5rem;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  border-radius: 100vh;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.2) url(/assets/images/common/parts/stop.svg) center/cover no-repeat;
  transition: 0.2s all;
}
.page__top .main-visual .movie-btn.start {
  background-image: url(/assets/images/common/parts/start.svg);
}
.page__top .main-visual .movie-btn:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.75);
  background-color: rgba(0, 0, 0, 0.4);
}
.page__top .main-visual .movie-btn-link {
  position: absolute;
  right: 2.5rem;
  bottom: 3rem;
  padding: 0.875rem 2rem 0.875rem 1rem;
  border: 2px solid #ffffff;
  border-radius: 100vh;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.75);
  background-color: rgba(0, 0, 0, 0.2);
  color: #ffffff;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  word-break: keep-all;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(12px);
}
.page__top .main-visual .movie-btn-link::after {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  display: block;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: url(/assets/images/common/icon/white/open_in_new.svg) center/cover no-repeat;
  content: "";
}
.page__top .main-visual .movie-btn-link:hover {
  opacity: 1;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.75);
  background-color: rgba(0, 0, 0, 0.4);
}
.page__top .main-visual .movie-btn-link > .sp-txt {
  display: none;
}
@media screen and (max-width: 1230px) {
  .page__top .main-visual .movie-btn {
    left: 1.5rem;
  }
  .page__top .main-visual .movie-btn-link {
    right: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .page__top .main-visual {
    height: 376px;
  }
  .page__top .main-visual__text > h1 > span {
    display: none;
  }
  .page__top .main-visual__img-sp {
    display: block;
    width: 100%;
    height: 100%;
  }
  .page__top .main-visual__img-sp > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .page__top .main-visual > video {
    display: none;
  }
  .page__top .main-visual .movie-btn {
    display: none;
  }
  .page__top .main-visual .movie-btn-link {
    right: 50%;
    transform: translateX(50%);
    padding: 0.5rem 3rem;
  }
  .page__top .main-visual .movie-btn-link > .pc-txt {
    display: none;
  }
  .page__top .main-visual .movie-btn-link > .sp-txt {
    display: block;
  }
  .page__top .main-visual .movie-btn-link > .sp-txt > span {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.625rem;
  }
}
.page__top .guide-area {
  background-color: #fefafb;
}
.page__top .guide-area__inner {
  position: relative;
  width: min(1200px, 100%);
  margin: -2rem auto 0;
  box-sizing: border-box;
  padding-inline: 2.5rem;
}
.page__top .guide-area__inner:has(.guide-area__wrap) {
  margin-top: -1.5rem;
}
.page__top .guide-area__box {
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: 2rem 1.5rem;
  padding: 2rem 1.5rem;
  border-radius: 8px;
  box-shadow: 0 4px 8px 0 rgba(185, 185, 185, 0.15);
  background-color: #ffffff;
}
.page__top .guide-area__box--item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.page__top .guide-area__box--item:not(:first-child) {
  padding-left: 1.5rem;
  border-left: 1px dotted #cccccc;
}
.page__top .guide-area__box--item p {
  margin: 1rem 0;
}
.page__top .guide-area__box--item p + .btn {
  margin-top: 0;
}
.page__top .guide-area__box--item .btn {
  width: min(280px, 100%);
  padding: 0.75rem 1.5rem 0.75rem 1rem;
}
.page__top .guide-area__box--item .btn::after {
  right: 0.575rem;
  width: 0.3rem;
  height: 0.3rem;
}
.page__top .guide-area__box--btnbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  margin-top: auto;
}
.page__top .guide-area__box--btnbox .btn {
  width: fit-content;
}
.page__top .guide-area__box--btnbox .btn:last-child {
  flex: 1;
}
.page__top .guide-area__box--ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  font-weight: 500;
  font-size: 20px;
}
.page__top .guide-area__wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem 1rem;
}
.page__top .guide-area__wrap--box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1.75rem 1.25rem;
  border-radius: 8px;
  box-shadow: 0 3px 2px 0 rgba(185, 185, 185, 0.3);
  background-color: #ffffff;
  color: #000000;
  text-decoration: none;
  text-align: center;
  grid-row: span 3;
}
.page__top .guide-area__wrap--box > p {
  margin: 0;
  font-weight: normal;
}
.page__top .guide-area__wrap--box > p > span {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 700;
}
.page__top .guide-area__wrap--box:hover {
  opacity: 1;
  box-shadow: 0 3px 4px 0 rgba(185, 185, 185, 0.6);
}
.page__top .guide-area__wrap--box:hover > img {
  opacity: 0.8;
}
.page__top .guide-area__wrap4 {
  grid-template-columns: repeat(4, 1fr);
}
.page__top .guide-area__banner {
  margin-top: 4rem;
}
.page__top .guide-area__banner a {
  display: block;
  width: fit-content;
  margin-inline: auto;
}
.page__top .guide-area__banner a + a {
  margin-top: 3rem;
}
.page__top .guide-area__banner .banner-vision {
  display: grid;
  grid-template-columns: min(450px, 35%) 1fr;
  width: 100%;
  border: 1px solid #cccccc;
  box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.15);
  background-color: #ffffff;
}
.page__top .guide-area__banner .banner-vision > figure {
  position: relative;
}
.page__top .guide-area__banner .banner-vision > figure::after {
  position: absolute;
  right: 0;
  width: 50px;
  height: 100%;
  background: rgb(255, 255, 255);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  content: "";
}
.page__top .guide-area__banner .banner-vision > figure > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page__top .guide-area__banner .banner-vision > div {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 1rem;
  box-sizing: border-box;
  color: #2c2c2c;
  font-weight: 700;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 980px) {
  .page__top .guide-area__banner .banner-vision > div > br {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .page__top .guide-area__banner .banner-vision {
    grid-template-columns: 1fr;
  }
  .page__top .guide-area__banner .banner-vision > figure::after {
    bottom: 0;
    width: 100%;
    height: 50px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  }
  .page__top .guide-area__banner .banner-vision > div {
    font-size: min(5vw, 1.5rem);
  }
}
.page__top .guide-area__semicircle, .page__top .guide-area__semicircle-min {
  height: 10rem;
  border-radius: 0 0 50% 50%;
  background-color: #fefafb;
}
.page__top .guide-area__semicircle-min {
  height: 6rem;
}
@media screen and (max-width: 1230px) {
  .page__top .guide-area__inner {
    margin-top: -2rem;
    padding-inline: 1.5rem;
  }
  .page__top .guide-area__box {
    grid-template-columns: 280px 1fr;
    column-gap: 1rem;
  }
  .page__top .guide-area__box--item:not(:first-child) {
    padding-left: 1rem;
  }
}
@media screen and (max-width: 980px) {
  .page__top .guide-area__box {
    grid-template-columns: 1fr;
    gap: 1.5rem 1rem;
  }
  .page__top .guide-area__box--item:not(:first-child) {
    padding: 2rem 0 0 0;
    border: none;
    border-top: 1px dotted #cccccc;
  }
  .page__top .guide-area__box--btnbox .btn {
    width: min(280px, 100%);
  }
  .page__top .guide-area__box--btnbox .btn:last-child {
    flex: unset;
  }
  .page__top .guide-area__wrap--box {
    padding: 1rem 0.75rem;
  }
  .page__top .guide-area__wrap--box > img {
    width: 40px;
    height: 40px;
  }
  .page__top .guide-area__wrap--box > p {
    font-size: 0.875rem;
  }
  .page__top .guide-area__wrap--box > p > span {
    margin-bottom: 0;
  }
  .page__top .guide-area__semicircle, .page__top .guide-area__semicircle-min {
    height: 5rem;
    border-radius: 0 0 75% 75%;
  }
  .page__top .guide-area__semicircle-min {
    height: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .page__top .guide-area__inner {
    margin-top: -1rem;
    padding-inline: 1rem;
  }
  .page__top .guide-area__inner:has(.guide-area__wrap) {
    margin-top: -1rem;
  }
  .page__top .guide-area__box {
    margin-inline: -1rem;
  }
  .page__top .guide-area__box--item .btn {
    width: 100%;
  }
  .page__top .guide-area__box--btnbox .btn {
    width: 100%;
  }
  .page__top .guide-area__wrap {
    grid-template-columns: 1fr;
  }
  .page__top .guide-area__wrap--box {
    flex-direction: row;
    text-align: left;
  }
  .page__top .guide-area__wrap--box > p {
    font-size: 0.875rem;
  }
}
.page__top .news-area {
  margin-top: 6rem;
}
.page__top .news-area__box {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 1rem;
  margin: 2rem 0 0 calc((100vw - 1200px - 1.25rem) / 2);
  box-sizing: border-box;
  padding-inline: 2.5rem 0;
}
.page__top .news-area__box .news-wrap:nth-of-type(1) .news-card {
  margin-bottom: 0rem;
  padding-bottom: 6.25rem;
  border-bottom: unset;
}
.page__top .news-area__box .news-wrap:nth-of-type(1) .news-card a {
  grid-template-columns: 1fr;
}
.page__top .news-area__box .news-wrap:nth-of-type(1) .news-card a::after {
  content: unset;
}
.page__top .news-area__box .news-wrap:nth-of-type(1) .news-card__title {
  font-size: 1.25rem;
}
.page__top .news-area__box .news-wrap:nth-of-type(2) {
  padding: 0 calc((100vw - 1200px + 3.75rem) / 2) 2rem 2rem;
  border-bottom-left-radius: 2rem;
  background: #ffffff;
}
.page__top .news-area__box .news-wrap:nth-of-type(2) .news-card:nth-of-type(1) {
  padding-top: 1.5rem;
  border-top: 1px solid #cccccc;
}
.page__top .news-area__category {
  margin-top: -5.25rem;
  padding: 7.25rem 1rem 0;
  background-image: url(/assets/images/top/news_bg.webp);
  background-size: cover;
}
.page__top .news-area__category--btn-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  width: min(100%, 850px);
  margin-inline: auto;
  /* アイコンなしボタン */
}
.page__top .news-area__category--btn-wrap .btn-noicon {
  display: inline-block;
  list-style-image: none;
  padding: 0.75rem 2rem;
  border: solid 1px #cccccc;
  border-radius: 50px;
  background-color: #ffffff;
  color: #1a1a1c;
  line-height: 1;
  text-decoration: none;
}
.page__top .news-area__category--btn-wrap .btn-noicon:hover {
  background-color: #000000;
  color: #ffffff;
  text-decoration: none;
}
@media screen and (max-width: 1230px) {
  .page__top .news-area__box {
    grid-template-columns: 300px 1fr;
    margin-left: 0;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(2) {
    padding: 0 2.5rem 1.5rem 2rem;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(2) a {
    grid-template-columns: 150px 1fr;
    gap: 1rem;
  }
}
@media screen and (max-width: 980px) {
  .page__top .news-area {
    margin-top: 4rem;
  }
  .page__top .news-area__box {
    padding-inline: 1.5rem 0;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(2) {
    padding: 0 1.5rem 2rem 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .page__top .news-area__box {
    grid-template-columns: 1fr;
    padding-inline: 0.75rem 0;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(1) {
    padding-inline: 0.75rem 1.5rem;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(1) .news-card {
    padding-bottom: 0rem;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(1) .news-card a::after {
    top: calc(50% + 30vw);
    content: "";
  }
  .page__top .news-area__box .news-wrap:nth-of-type(1) .news-card a[href$=".pdf"] > figure::after {
    content: none;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(2) {
    padding: 0 1.5rem 2rem 0.75rem;
    border-bottom-left-radius: 1rem;
  }
}
@media screen and (max-width: 640px) {
  .page__top .news-area {
    margin-top: 2rem;
  }
  .page__top .news-area__box {
    grid-template-columns: 1fr;
    padding-inline: 0.5rem 0;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(1) {
    padding-inline: 0.5rem 1rem;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(1) .news-card.new-icon > a::before {
    top: 8px;
    left: -17px;
    font-size: 0.75rem;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(2) {
    padding: 0 1rem 0.5rem 0.5rem;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(2) .news-card:nth-of-type(1) {
    padding-top: 1rem;
  }
  .page__top .news-area__box .news-wrap:nth-of-type(2) a {
    grid-template-columns: 100px 1fr;
    gap: 0.5rem;
  }
  .page__top .news-area__category--btn-wrap {
    gap: 0.5rem;
  }
  .page__top .news-area__category--btn-wrap .btn-noicon {
    padding: 0.5rem 0.75rem;
  }
}
.page__top .movie-area {
  margin-block: 6rem 2rem;
}
.page__top .movie-area .movie-wrap:nth-of-type(1) {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 980px) {
  .page__top .movie-area {
    margin-block: 4rem 1rem;
  }
}
@media screen and (max-width: 640px) {
  .page__top .movie-area {
    margin-block: 2rem 0;
  }
}
@media screen and (min-width: 641px) {
  .page__top .movie-area .movie-wrap:nth-of-type(1) {
    grid-template-columns: 1fr;
    margin-block: 2rem 3rem;
  }
  .page__top .movie-area .movie-wrap:nth-of-type(1) .movie-card {
    grid-template-columns: 375px 1fr;
    grid-template-rows: auto 1fr;
    gap: 1rem 1.5rem;
    padding: 0;
    border: 0;
    pointer-events: none;
    grid-template-areas: "area1 area2" "area1 area3";
  }
  .page__top .movie-area .movie-wrap:nth-of-type(1) .movie-card > figure {
    width: 100%;
    height: 300px;
    margin: auto;
    border-radius: 0.5rem;
    pointer-events: auto;
    grid-area: area1;
  }
  .page__top .movie-area .movie-wrap:nth-of-type(1) .movie-card__ttl {
    font-size: 2rem;
    grid-area: area2;
  }
  .page__top .movie-area .movie-wrap:nth-of-type(1) .movie-card__txt {
    font-size: 1rem;
    grid-area: area3;
  }
  .page__top .movie-area .movie-wrap:nth-of-type(1) .movie-card__date {
    text-align: left;
  }
}
@media screen and (min-width: 981px) {
  .page__top .movie-area .movie-wrap:nth-of-type(1) .movie-card {
    grid-template-columns: 540px 1fr;
    gap: 1rem 3rem;
  }
}
.page__top .medialibrary__area {
  background-color: #f4f5f6;
  padding-block: 6rem 2rem;
}
.page__top .medialibrary__area .pr-slider {
  margin-top: 2rem;
}
.page__top .medialibrary__area .pr-slider .pr-card {
  height: auto;
  margin-inline: 1rem;
}
.page__top .medialibrary__area .prbtn__container {
  position: absolute;
  top: 30%;
  left: 0;
  display: flex;
  justify-content: space-between;
  transform: translateX(0);
  width: 100%;
}
.page__top .medialibrary__area .btn-prev {
  transform: translateY(-50%);
  margin-left: 50px;
  border: none;
  background-color: initial;
}
.page__top .medialibrary__area .btn-next {
  transform: translateY(-50%);
  margin-right: 50px;
  border: none;
  background-color: initial;
}
@media screen and (max-width: 980px) {
  .page__top .medialibrary__area {
    padding-top: 4rem;
  }
  .page__top .medialibrary__area .btn-prev {
    margin-left: 16px;
  }
  .page__top .medialibrary__area .btn-next {
    margin-right: 16px;
  }
}
@media screen and (max-width: 640px) {
  .page__top .medialibrary__area {
    padding-top: 2rem;
  }
  .page__top .medialibrary__area .pr-slider .pr-card {
    margin-inline: 0.5rem;
  }
}

/*ピックアップエリア
  ---------------------------------------------------------- */
.picup-area {
  margin-top: 6rem;
}
.picup-area .picup-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.5rem;
}
.picup-area .picup-list .picup-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid #cccccc;
  border-radius: 8px;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);
  color: #2c2c2c;
}
.picup-area .picup-list .picup-card > figure {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  margin: -1.5rem -1.5rem 0;
  overflow: hidden;
  border-bottom: 0.5px solid #eeeeee;
  border-radius: 8px 8px 0 0;
}
.picup-area .picup-list .picup-card > figure > img {
  width: 100%;
  height: 100%;
  transition: 0.3s all;
  object-fit: cover;
}
.picup-area .picup-list .picup-card:hover figure > img {
  transform: scale(1.02);
}
.picup-area .picup-list .picup-card[href$=".pdf"] > figure::after {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 999;
  display: block;
  width: 20px;
  height: 20px;
  background: url(/assets/images/common/icon/pink/pdf_icon.svg) no-repeat right;
  content: "";
}
.picup-area .picup-list .picup-card__date {
  margin-left: auto;
  font-weight: normal;
  font-size: 0.875rem;
}
.picup-area .picup-list .picup-card__title {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.35;
}
.picup-area .picup-list .picup-card__txt {
  margin-top: auto;
  font-weight: normal;
  font-size: 0.875rem;
}
@media screen and (max-width: 980px) {
  .picup-area {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .picup-area .picup-list {
    grid-template-columns: 1fr;
  }
  .picup-area .picup-list .picup-card {
    padding: 1rem;
  }
  .picup-area .picup-list .picup-card > figure {
    height: auto;
    aspect-ratio: 5/3;
    margin: -1rem -1rem 0;
  }
  .picup-area .picup-list .picup-card__title {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 640px) {
  .picup-area {
    margin-top: 2rem;
  }
  .picup-area .picup-list .picup-card__date {
    font-size: 0.75rem;
  }
}

/* F-REIの概要ページ
---------------------------------------------------------- */
/* --- F-REIの4つの機能 --- */
.four-func {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
.four-func__ttl {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 1.25rem;
}
.four-func__ttl > .number {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 0.25rem;
  background-color: #91c9ed;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  text-align: center;
}
.four-func--01, .four-func--02, .four-func--03, .four-func--04 {
  padding: 1rem;
  border: 2px solid #91c9ed;
  border-radius: 0.5rem;
  background-color: #ffffff;
}
.four-func--02 {
  border-color: #fcc69a;
}
.four-func--02 .four-func__ttl > .number {
  background-color: #fcc69a;
}
.four-func--03 {
  border-color: #c2dfae;
}
.four-func--03 .four-func__ttl > .number {
  background-color: #c2dfae;
}
.four-func--04 {
  border-color: #c7a0c9;
}
.four-func--04 .four-func__ttl > .number {
  background-color: #c7a0c9;
}
@media screen and (max-width: 640px) {
  .four-func {
    grid-template-columns: 1fr;
  }
  .four-func__ttl {
    gap: 0.75rem;
    font-size: 1rem;
  }
  .four-func__ttl > .number {
    width: 32px;
    height: 32px;
    font-size: 1.25rem;
  }
}

/* --- F-REIの5つの研究分野について --- */
.five-research-fields__wrap {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 3rem 3.5rem;
}
.five-research-fields__wrap > figure {
  margin-inline: auto;
}
.five-research-fields__ttl {
  display: grid;
  align-items: center;
  grid-template-columns: 45px 1fr;
  gap: 1rem;
  margin: 6rem 0 2.5rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.5rem;
  background-color: #0074cc;
  color: #ffffff;
}
.five-research-fields__ttl::before {
  content: none;
}
.five-research-fields__ttl > .number {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  border-radius: 0.25rem;
  background-color: #ffffff;
  color: #0074cc;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}
.five-research-fields__list > li {
  position: relative;
  list-style: none;
  margin: 0;
  padding-left: 1.25rem;
}
.five-research-fields__list > li::before {
  position: absolute;
  top: 0.45rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  border-radius: 100vh;
  background-color: #0074cc;
  content: "";
}
.five-research-fields__list > li:not(:last-child) {
  margin-bottom: 1.5rem;
}
.five-research-fields--02 .five-research-fields__ttl {
  background-color: #66a666;
}
.five-research-fields--02 .five-research-fields__ttl > .number {
  color: #66a666;
}
.five-research-fields--02 .five-research-fields__list > li::before {
  background-color: #66a666;
}
.five-research-fields--03 .five-research-fields__ttl {
  background-color: #dcdc00;
}
.five-research-fields--03 .five-research-fields__ttl > .number {
  color: #dcdc00;
}
.five-research-fields--03 .five-research-fields__list > li::before {
  background-color: #dcdc00;
}
.five-research-fields--04 .five-research-fields__ttl {
  background-color: #ffb900;
}
.five-research-fields--04 .five-research-fields__ttl > .number {
  color: #ffb900;
}
.five-research-fields--04 .five-research-fields__list > li::before {
  background-color: #ffb900;
}
.five-research-fields--05 .five-research-fields__ttl {
  background-color: #99ccff;
}
.five-research-fields--05 .five-research-fields__ttl > .number {
  color: #99ccff;
}
.five-research-fields--05 .five-research-fields__list > li::before {
  background-color: #99ccff;
}
@media screen and (max-width: 980px) {
  .five-research-fields__wrap {
    grid-template-columns: 1fr 300px;
    gap: 2rem 2rem;
  }
}
@media screen and (max-width: 640px) {
  .five-research-fields__wrap {
    grid-template-columns: 1fr;
  }
  .five-research-fields__ttl {
    grid-template-columns: 36px 1fr;
    gap: 0.75rem;
    margin: 3rem 0 1.25rem;
    padding: 0.5rem 0.5rem;
  }
  .five-research-fields__ttl > .number {
    width: 36px;
    height: 36px;
    font-size: 1.5rem;
  }
  .five-research-fields__list > li {
    padding-left: 1rem;
  }
  .five-research-fields__list > li::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

/* --- F-REIビジョン --- */
.vision-list > ol {
  list-style-type: none;
  margin-left: 0;
  padding-right: 0;
}
.vision-list > ol > li {
  margin-bottom: 1.5rem;
  padding: 0 0 0 3.25rem;
  line-height: 1.5;
  text-indent: -3.25rem;
  counter-increment: step-counter;
}
.vision-list > ol > li::before {
  margin: 0 1rem 0 0;
  padding: 0 0.575rem;
  border: 1px solid #dc143c;
  border-radius: 0.5rem;
  color: #dc143c;
  font-weight: bold;
  font-size: 1.5rem;
  vertical-align: middle;
  content: counter(step-counter);
}
.vision-list + p {
  margin-top: 6rem;
}

.vision-philosophy {
  margin-top: 4rem;
}
.vision-philosophy__ttl {
  display: flex;
  align-items: center;
}
.vision-philosophy__ttl > h2 {
  margin: 0;
  padding: 0;
  font-size: 2.5rem;
  line-height: 1.25;
  text-align: center;
}
.vision-philosophy__ttl > h2::before {
  content: none;
}
.vision-philosophy__ttl > h2 > .sub {
  display: block;
  font-weight: normal;
  font-size: 1rem;
}
.vision-philosophy__ttl::after {
  flex-grow: 1;
  height: 1px;
  margin-left: 1.5rem;
  background-color: #cccccc;
  content: "";
}
.vision-philosophy__inner {
  margin-top: -0.5rem;
  padding-left: 12rem;
}
.vision-philosophy__inner .mission-main {
  display: flex;
  color: #dc143c;
  font-weight: 500;
  font-size: 1.5rem;
}
.vision-philosophy__inner .mission-main + .mission-txt {
  margin-top: 1rem;
}
.vision-philosophy__inner .mission-txt {
  display: flex;
}
.vision-philosophy__inner .vision-main {
  color: #dc143c;
  font-weight: 500;
  font-size: 1.25rem;
  margin-block: 0.5rem 2rem;
}
.vision-philosophy__inner .value-main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2rem;
}
.vision-philosophy__inner .value-main__txt {
  display: grid;
  grid-template-columns: 330px 1fr;
  column-gap: 2.5rem;
}
.vision-philosophy__inner .value-main__txt > div {
  position: relative;
  display: flex;
  align-items: center;
  padding: 1rem;
  box-sizing: border-box;
}
.vision-philosophy__inner .value-main__txt > div::before {
  position: absolute;
  top: 0;
  right: -2rem;
  clip-path: polygon(0 0, 0 100%, 100% 0);
  width: 2rem;
  height: 100%;
  background-color: #fefafb;
  content: "";
}
.vision-philosophy__inner .value-main__txt > div:nth-child(1) {
  background-color: #fefafb;
  color: #dc143c;
  font-weight: 500;
  font-size: 1.5rem;
}
.vision-philosophy__inner .value-main__txt > div:nth-child(2) {
  flex: 1;
  background-color: #f4f5f6;
}
.vision-philosophy__inner .value-main__txt > div:nth-child(2)::before {
  right: unset;
  left: calc(-2rem + 1px);
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  background-color: #f4f5f6;
}
@media screen and (max-width: 980px) {
  .vision-philosophy__inner {
    padding-left: 0;
    margin-block: 1rem 4rem;
  }
  .vision-philosophy__inner .value-main__txt {
    grid-template-columns: 290px 1fr;
  }
  .vision-philosophy__inner .value-main__txt > div:nth-child(1) {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 640px) {
  .vision-philosophy {
    margin-top: 2rem;
  }
  .vision-philosophy__ttl > h2 {
    font-size: 2rem;
  }
  .vision-philosophy__ttl > h2 > .sub {
    font-size: 0.75rem;
  }
  .vision-philosophy__ttl::after {
    margin-left: 0.75rem;
  }
  .vision-philosophy__inner {
    margin-block: 1rem 2rem;
  }
  .vision-philosophy__inner .mission-main {
    font-size: 1rem;
  }
  .vision-philosophy__inner .vision-main {
    font-size: 1rem;
  }
  .vision-philosophy__inner .value-main {
    gap: 1rem;
  }
  .vision-philosophy__inner .value-main__txt {
    grid-template-columns: 1fr;
  }
  .vision-philosophy__inner .value-main__txt > div {
    margin: 0;
  }
  .vision-philosophy__inner .value-main__txt > div::before {
    content: none;
  }
}

/* 組織情報ページ
---------------------------------------------------------- */
/* 役員一覧、分野長・副分野長　カード */
.human-notes {
  text-align: right;
  margin-block: 5rem 1.5rem;
}

.boardmembers-ttl {
  margin: 5rem 0 2rem;
  padding: 0 0 1rem 0;
  font-size: 1.5rem;
}
.boardmembers-ttl:before {
  content: none;
}
.boardmembers-ttl::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: min(85%, 18rem);
  border-bottom: 3px solid #dc143c;
  border-radius: 3px;
  content: "";
}

.keyperson-sm,
.keyperson-md,
.keyperson-lg {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 1rem 3rem;
}
.keyperson-sm.reverse,
.keyperson-md.reverse,
.keyperson-lg.reverse {
  grid-template-columns: 1fr 100px;
  grid-template-areas: "area2 area1";
}
.keyperson-sm.reverse > figure,
.keyperson-md.reverse > figure,
.keyperson-lg.reverse > figure {
  grid-area: area1;
}
.keyperson-sm.reverse > div,
.keyperson-md.reverse > div,
.keyperson-lg.reverse > div {
  grid-area: area2;
}
.keyperson-sm + .keyperson-sm, .keyperson-sm + .keyperson-md, .keyperson-sm + .keyperson-lg,
.keyperson-md + .keyperson-sm,
.keyperson-md + .keyperson-md,
.keyperson-md + .keyperson-lg,
.keyperson-lg + .keyperson-sm,
.keyperson-lg + .keyperson-md,
.keyperson-lg + .keyperson-lg {
  margin-top: 6rem;
}
.keyperson-sm > figure,
.keyperson-md > figure,
.keyperson-lg > figure {
  margin-inline: auto;
}
.keyperson-sm .keyperson__biography,
.keyperson-md .keyperson__biography,
.keyperson-lg .keyperson__biography {
  margin-top: 2rem;
}
.keyperson-sm .keyperson__biography__ttl, .keyperson-sm .keyperson__biography__no-ttl,
.keyperson-md .keyperson__biography__ttl,
.keyperson-md .keyperson__biography__no-ttl,
.keyperson-lg .keyperson__biography__ttl,
.keyperson-lg .keyperson__biography__no-ttl {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
.keyperson-sm .keyperson__biography__ttl::after, .keyperson-sm .keyperson__biography__no-ttl::after,
.keyperson-md .keyperson__biography__ttl::after,
.keyperson-md .keyperson__biography__no-ttl::after,
.keyperson-lg .keyperson__biography__ttl::after,
.keyperson-lg .keyperson__biography__no-ttl::after {
  flex-grow: 1;
  height: 1px;
  margin-left: 1rem;
  background-color: #cccccc;
  content: "";
}
.keyperson-sm .keyperson__biography__no-ttl::after,
.keyperson-md .keyperson__biography__no-ttl::after,
.keyperson-lg .keyperson__biography__no-ttl::after {
  margin: 0;
}
.keyperson-sm .keyperson__biography > dl,
.keyperson-md .keyperson__biography > dl,
.keyperson-lg .keyperson__biography > dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.125rem 1rem;
  margin: 0;
}
.keyperson-sm .keyperson__biography > dl dt,
.keyperson-md .keyperson__biography > dl dt,
.keyperson-lg .keyperson__biography > dl dt {
  margin: 0;
  font-weight: 500;
}
.keyperson-sm .keyperson__biography > dl dd,
.keyperson-md .keyperson__biography > dl dd,
.keyperson-lg .keyperson__biography > dl dd {
  margin: 0;
  line-height: 1.5;
}
.keyperson-sm .keyperson__biography > p:last-child,
.keyperson-md .keyperson__biography > p:last-child,
.keyperson-lg .keyperson__biography > p:last-child {
  margin-bottom: 0;
}
.keyperson-sm p + .keyperson__biography,
.keyperson-md p + .keyperson__biography,
.keyperson-lg p + .keyperson__biography {
  margin-top: 1rem;
}
.keyperson-sm .keyperson__biography__ttl + p,
.keyperson-md .keyperson__biography__ttl + p,
.keyperson-lg .keyperson__biography__ttl + p {
  margin-top: 0;
}
.keyperson-sm .keyperson__name + p,
.keyperson-md .keyperson__name + p,
.keyperson-lg .keyperson__name + p {
  margin-top: 2rem;
}

.keyperson-sm + .keyperson-sm {
  margin-top: 4rem;
}

.keyperson-md,
.keyperson-lg {
  grid-template-columns: 200px 1fr;
  gap: 5rem;
}
.keyperson-md.reverse,
.keyperson-lg.reverse {
  grid-template-columns: 1fr 200px;
}

.keyperson-lg {
  grid-template-columns: 330px 1fr;
}
.keyperson-lg.reverse {
  grid-template-columns: 1fr 330px;
}

@media screen and (max-width: 980px) {
  .boardmembers-ttl {
    margin-top: 2.5rem;
    font-size: 1.25rem;
  }
  .keyperson-md,
  .keyperson-lg {
    grid-template-columns: 200px 1fr;
    gap: 3rem;
  }
  .keyperson-md.reverse,
  .keyperson-lg.reverse {
    grid-template-columns: 1fr 200px;
  }
}
@media screen and (max-width: 640px) {
  .human-notes {
    margin-block: 3rem 1rem;
  }
  .boardmembers-ttl {
    font-size: 1.125rem;
  }
  .keyperson-sm,
  .keyperson-md,
  .keyperson-lg {
    grid-template-columns: 1fr;
  }
  .keyperson-sm.reverse,
  .keyperson-md.reverse,
  .keyperson-lg.reverse {
    grid-template-columns: 1fr;
    grid-template-areas: "area1" "area2";
  }
  .keyperson-sm + .keyperson-sm, .keyperson-sm + .keyperson-md, .keyperson-sm + .keyperson-lg,
  .keyperson-md + .keyperson-sm,
  .keyperson-md + .keyperson-md,
  .keyperson-md + .keyperson-lg,
  .keyperson-lg + .keyperson-sm,
  .keyperson-lg + .keyperson-md,
  .keyperson-lg + .keyperson-lg {
    margin-top: 4rem;
  }
  .keyperson-sm .keyperson__biography,
  .keyperson-md .keyperson__biography,
  .keyperson-lg .keyperson__biography {
    margin-top: 1rem;
  }
  .keyperson-sm .keyperson__biography__ttl, .keyperson-sm .keyperson__biography__no-ttl,
  .keyperson-md .keyperson__biography__ttl,
  .keyperson-md .keyperson__biography__no-ttl,
  .keyperson-lg .keyperson__biography__ttl,
  .keyperson-lg .keyperson__biography__no-ttl {
    font-size: 0.75rem;
  }
  .keyperson-sm .keyperson__biography__ttl::after, .keyperson-sm .keyperson__biography__no-ttl::after,
  .keyperson-md .keyperson__biography__ttl::after,
  .keyperson-md .keyperson__biography__no-ttl::after,
  .keyperson-lg .keyperson__biography__ttl::after,
  .keyperson-lg .keyperson__biography__no-ttl::after {
    margin-left: 0.5rem;
  }
  .keyperson-sm .keyperson__name,
  .keyperson-md .keyperson__name,
  .keyperson-lg .keyperson__name {
    text-align: center;
  }
  .keyperson-sm + .keyperson-sm {
    margin-top: 2rem;
  }
  .keyperson-md,
  .keyperson-lg {
    gap: 1.5rem;
  }
}
.keyperson__name,
.keyperson__name--min {
  margin: 0;
  padding: 0;
  border: none;
  font-weight: 500;
  font-size: 2rem;
}
.keyperson__name::before, .keyperson__name::after,
.keyperson__name--min::before,
.keyperson__name--min::after {
  content: none;
}
.keyperson__name > span,
.keyperson__name > sub,
.keyperson__name--min > span,
.keyperson__name--min > sub {
  display: block;
  font-weight: normal;
  font-size: 1rem;
}
@media screen and (max-width: 980px) {
  .keyperson__name,
  .keyperson__name--min {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 640px) {
  .keyperson__name,
  .keyperson__name--min {
    font-size: 1.5rem;
  }
  .keyperson__name > span,
  .keyperson__name > sub,
  .keyperson__name--min > span,
  .keyperson__name--min > sub {
    font-size: 0.75rem;
  }
}

.keyperson__name--min {
  font-size: 1.5rem;
}
.keyperson__name--min > span,
.keyperson__name--min > sub {
  font-size: 0.75rem;
}
@media screen and (max-width: 980px) {
  .keyperson__name--min {
    font-size: 1.25rem;
  }
  .keyperson__name--min > span,
  .keyperson__name--min > sub {
    font-size: 0.625rem;
  }
}

.red-back {
  margin-top: 5rem;
  padding: 4rem 2rem;
  background-color: #fefafb;
}
@media screen and (max-width: 980px) {
  .red-back {
    margin-top: 3rem;
    padding: 2rem 1rem;
  }
}

/* ニュースページ
---------------------------------------------------------- */
.page__news a {
  text-decoration: none;
}
.page__news .news-tab {
  border-bottom: 1px solid #626264;
  margin-block: 3.5rem 4rem;
}
.page__news .news-tab__inner {
  display: flex;
  flex-wrap: wrap;
  width: min(1200px, 100%);
  box-sizing: border-box;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
.page__news .news-tab__item {
  margin-bottom: -2px;
  padding: 0.75rem;
  border-bottom: 3px solid transparent;
  color: #626264;
  font-weight: normal;
  text-align: center;
}
.page__news .news-tab__item:hover {
  opacity: 1;
  color: #dc143c;
}
.page__news .news-tab__item.active {
  border-color: #dc143c;
  color: #dc143c;
  font-weight: 500;
}
@media screen and (min-width: 981px) {
  .page__news .news-tab {
    position: sticky;
    top: 100px;
    z-index: 99;
    padding-top: 0.5rem;
    background: #ffffff;
  }
}
@media screen and (max-width: 1080px) {
  .page__news .news-tab__item {
    padding: 0.75rem 0.5rem;
  }
}
@media screen and (max-width: 980px) {
  .page__news .news-tab {
    margin-block: 2rem;
  }
  .page__news .news-tab__inner {
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    padding-inline: 1.5rem;
  }
  .page__news .news-tab__item {
    margin: 0;
    padding: 0.25rem 0.75rem;
    border: 1px solid #626264;
    border-radius: 0.25rem;
  }
  .page__news .news-tab__item.active {
    background-color: #dc143c;
    color: #ffffff;
  }
}
@media screen and (max-width: 640px) {
  .page__news .news-tab__inner {
    font-size: 0.75rem;
    padding-inline: 1rem;
  }
}

/* 事業・研究ページ
---------------------------------------------------------- */
/* --- F-REIの5つの研究分野について --- */
.rnd__five-research-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem;
}
.rnd__five-research-fields > a {
  display: block;
  padding: 1.5rem;
  border: solid 1px #cccccc;
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  color: #000000;
  text-decoration: none;
}
.rnd__five-research-fields__ttl--01, .rnd__five-research-fields__ttl--02, .rnd__five-research-fields__ttl--03, .rnd__five-research-fields__ttl--04, .rnd__five-research-fields__ttl--05 {
  display: grid;
  align-items: center;
  grid-template-columns: 45px 1fr;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.5rem;
  background-color: #0074cc;
  color: #ffffff;
}
.rnd__five-research-fields__ttl--01::before, .rnd__five-research-fields__ttl--02::before, .rnd__five-research-fields__ttl--03::before, .rnd__five-research-fields__ttl--04::before, .rnd__five-research-fields__ttl--05::before {
  content: none;
}
.rnd__five-research-fields__ttl--01 > .number, .rnd__five-research-fields__ttl--02 > .number, .rnd__five-research-fields__ttl--03 > .number, .rnd__five-research-fields__ttl--04 > .number, .rnd__five-research-fields__ttl--05 > .number {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  border-radius: 0.25rem;
  background-color: #ffffff;
  color: #0074cc;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}
.rnd__five-research-fields__ttl--02 {
  background-color: #66a666;
}
.rnd__five-research-fields__ttl--02 > .number {
  color: #66a666;
}
.rnd__five-research-fields__ttl--03 {
  background-color: #dcdc00;
}
.rnd__five-research-fields__ttl--03 > .number {
  color: #dcdc00;
}
.rnd__five-research-fields__ttl--04 {
  background-color: #ffb900;
}
.rnd__five-research-fields__ttl--04 > .number {
  color: #ffb900;
}
.rnd__five-research-fields__ttl--05 {
  background-color: #99ccff;
}
.rnd__five-research-fields__ttl--05 > .number {
  color: #99ccff;
}
@media screen and (min-width: 981px) {
  .rnd__five-research-fields {
    display: flex;
    flex-wrap: wrap;
  }
  .rnd__five-research-fields > a {
    width: calc((100% - 3rem) / 3);
  }
  .rnd__five-research-fields > a:nth-last-child(1), .rnd__five-research-fields > a:nth-last-child(2) {
    width: calc((100% - 1.5rem) / 2);
  }
}
@media screen and (max-width: 640px) {
  .rnd__five-research-fields {
    grid-template-columns: 1fr;
  }
  .rnd__five-research-fields > a {
    padding: 1rem;
  }
  .rnd__five-research-fields__ttl--01, .rnd__five-research-fields__ttl--02, .rnd__five-research-fields__ttl--03, .rnd__five-research-fields__ttl--04, .rnd__five-research-fields__ttl--05 {
    grid-template-columns: 36px 1fr;
    gap: 0.75rem;
    padding: 0.5rem 0.5rem;
  }
  .rnd__five-research-fields__ttl--01 > .number, .rnd__five-research-fields__ttl--02 > .number, .rnd__five-research-fields__ttl--03 > .number, .rnd__five-research-fields__ttl--04 > .number, .rnd__five-research-fields__ttl--05 > .number {
    width: 36px;
    height: 36px;
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 981px) {
  .rnd__five-research-fields_en > a {
    width: calc((100% - 1.5rem) / 2);
  }
}
/* --- 事業・研究の公募について --- */
.public_offering {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #cccccc;
}
.public_offering__date {
  display: flex;
}
.public_offering__date > p {
  font-size: 0.875rem;
  margin-block: 0 0.5rem;
}
.public_offering__date > p:not(:last-child) :after {
  position: relative;
  right: 0;
  content: "／";
}

/* --- 研究ユニットリーダー紹介 --- */
.unit-leader-info > ul > li {
  list-style: none;
  margin: 0;
}
.unit-leader-info__ttl {
  width: fit-content;
  min-width: 35rem;
  max-width: calc(100% - 1rem);
  padding: 2rem 2rem 2rem 0;
  border: none;
  border-top-right-radius: 2rem;
  box-sizing: border-box;
  background-color: #ffffff;
  font-weight: 500;
  font-size: 2.5rem;
  margin-block: -4rem 0;
}
.unit-leader-info__ttl > span {
  display: block;
  font-weight: normal;
  font-size: 1.25rem;
}
.unit-leader-info__ttl::before {
  content: none;
}
.unit-leader-info__biography {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 0.875rem;
}
.unit-leader-info__biography::after {
  flex-grow: 1;
  height: 1px;
  margin-left: 1rem;
  background-color: #cccccc;
  content: "";
}
@media screen and (max-width: 980px) {
  .unit-leader-info__ttl {
    padding: 1.5rem 1.5rem 1.5rem 0;
    font-size: 1.75rem;
    margin-block: -3rem 0;
  }
  .unit-leader-info__ttl > span {
    font-size: 1rem;
  }
}
@media screen and (max-width: 640px) {
  .unit-leader-info__ttl {
    width: 100%;
    min-width: unset;
    max-width: 100%;
    padding: 0 0 1.5rem;
    border-radius: 0;
    font-size: 1.25rem;
    margin-block: 0;
  }
  .unit-leader-info__biography {
    font-size: 0.75rem;
  }
}

.unit-leader-return {
  margin-top: 6rem;
}
@media screen and (max-width: 980px) {
  .unit-leader-return {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .unit-leader-return {
    margin-top: 2rem;
  }
  .unit-leader-return > .btn {
    margin-inline: auto;
  }
}

/* 福島国際研究教育機構職員給与規程ページ
---------------------------------------------------------- */
/* --- 俸給表用テーブル --- */
.payment_for_regular__table td,
.payment_for_regular__table th {
  min-width: 65px;
}
.payment_for_regular__table td {
  text-align: right;
}
.payment_for_regular__table--small {
  max-width: 190px;
}

.table-unit {
  margin: 0 0 4px 0;
  text-align: right;
}
.table-unit--small {
  max-width: 190px;
}

/* 福島国際研究教育機構職員給与規程ページ（タブレット、PC表示）
---------------------------------------------------------- */
/* --- 俸給表用テーブル --- */
@media screen and (min-width: 520px) {
  .payment_for_regular__table td,
  .payment_for_regular__table th {
    min-width: initial;
  }
}
/* サイトマップ
---------------------------------------------------------- */
.sitemap__ttl {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #cccccc;
}
.sitemap ul li {
  list-style-type: none;
  margin: initial;
}
.sitemap ul li:not(:last-child) {
  margin-bottom: 5rem;
}
.sitemap ul li > ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem 1.25rem;
  margin-inline: 0.5rem;
}
.sitemap ul li > ul + ul {
  margin-top: 1.5rem;
}
.sitemap ul li > ul.colums2 {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}
.sitemap ul li > ul.colums3 {
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}
.sitemap ul li > ul li:not(:last-child) {
  margin-bottom: 0;
}
.sitemap ul li > ul li > ul {
  display: block;
  margin-top: 0.75rem;
  padding-left: 1rem;
  font-size: 0.875rem;
}
.sitemap ul li a {
  position: relative;
  display: block;
  width: fit-content;
  padding-left: 1rem;
  color: #1a1a1c;
  font-weight: normal;
  line-height: 1.25;
  text-decoration: none;
}
.sitemap ul li a.lg {
  padding-left: 1.5rem;
  font-weight: 500;
  font-size: 1.5rem;
}
.sitemap ul li a.lg::after {
  width: 8px;
  height: 8px;
}
.sitemap ul li a.md {
  font-weight: 500;
  font-size: 1.25rem;
}
.sitemap ul li a::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-135deg);
  width: 6px;
  height: 6px;
  border-bottom: 1.5px solid #dc143c;
  border-left: 1.5px solid #dc143c;
  content: "";
  transition: ease 0.3s;
}
.sitemap ul li a:hover::after {
  animation: sitemap-arrow 0.75s forwards;
}
@keyframes sitemap-arrow {
  to {
    transform: translateX(0.3125rem) translateY(-50%) rotate(-135deg);
  }
}
@media screen and (max-width: 640px) {
  .sitemap__ttl {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
  .sitemap ul li:not(:last-child) {
    margin-bottom: 2.5rem;
  }
  .sitemap ul li > ul {
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
  }
  .sitemap ul li > ul + ul {
    margin-top: 0.75rem;
  }
  .sitemap ul li > ul li > ul {
    font-size: 0.75rem;
  }
  .sitemap ul li a.lg {
    font-size: 1.25rem;
  }
  .sitemap ul li a.md {
    font-size: 1rem;
  }
}

/* 福島国際研究教育機構職員退職手当規程ページ
---------------------------------------------------------- */
/* --- 定年前早期退職者に対する退職手当の基本額に係る特例,定年前早期退職者に係る退職手当の基本額の最高限度額のテーブル --- */
.employees-retirement-allowance__wrap {
  margin-top: 24px;
}

.employees-retirement-allowance__table th:first-child, .employees-retirement-allowance__table th:nth-child(2) {
  min-width: 75px;
}

/* 福島国際研究教育機構職員退職手当規程ページ（タブレット、PC表示）
---------------------------------------------------------- */
@media screen and (min-width: 520px) {
  .employees-retirement-allowance__table th:first-child, .employees-retirement-allowance__table th:nth-child(2) {
    min-width: 180px;
  }
}
/* 環境物品等の調達の推進に関する基本方針ページ
---------------------------------------------------------- */
/* --- td小分けレイアウトのテーブル --- */
.policy_for_eviroment__table td,
.policy_for_eviroment__table th {
  min-width: 60px;
}

/* 環境物品等の調達の推進に関する基本方針ページ（PC表示）
---------------------------------------------------------- */
/* --- td小分けレイアウトのテーブル --- */
@media screen and (min-width: 960px) {
  .policy_for_eviroment__table td,
  .policy_for_eviroment__table th {
    min-width: initial;
  }
}
/* 広報活動
---------------------------------------------------------- */
.media_library__btn-warp .btn-card > img {
  padding: 1.25rem;
  box-sizing: border-box;
  margin-block: auto;
}
.media_library__btn-warp .btn-card h2 {
  margin: 0 0 1rem;
  padding: 0;
  font-weight: 500;
  font-size: 1.5rem;
}
.media_library__btn-warp .btn-card h2::before {
  content: none;
}
@media screen and (max-width: 640px) {
  .media_library__btn-warp .btn-card > img {
    max-width: 4rem;
    padding: 0.5rem;
  }
  .media_library__btn-warp .btn-card h2 {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
  }
}

/* 動画情報
---------------------------------------------------------- */
.movie-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
  gap: 1.25rem 1.5rem;
}
.movie-wrap .movie-card {
  display: grid;
  grid-template-rows: subgrid;
  gap: 1rem;
  padding: 0 1.5rem 1.5rem;
  overflow: hidden;
  border: 1px solid #cccccc;
  border-radius: 0.5rem;
  box-sizing: border-box;
  background-color: #ffffff;
  color: #000000;
  text-decoration: none;
  grid-row: span 3;
}
.movie-wrap .movie-card > figure {
  position: relative;
  display: flex;
  align-items: center;
  width: calc(100% + 3rem);
  height: 200px;
  margin: 0 -1.5rem;
  overflow: hidden;
  background-color: #000000;
}
.movie-wrap .movie-card > figure::before, .movie-wrap .movie-card > figure::after {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0.4;
  transform: translateX(-50%) translateY(-50%);
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 100vh;
  background-color: #ffffff;
  content: "";
}
.movie-wrap .movie-card > figure::after {
  left: calc(50% + 0.25rem);
  opacity: 1;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  width: 1.75rem;
  height: 2rem;
  border-radius: 0;
}
.movie-wrap .movie-card > figure > img {
  width: 100%;
  transition: 0.3s all;
  object-fit: cover;
}
.movie-wrap .movie-card__ttl {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 1rem;
}
.movie-wrap .movie-card__ttl::before {
  content: none;
}
.movie-wrap .movie-card__txt {
  font-weight: normal;
  font-size: 0.875rem;
}
.movie-wrap .movie-card__date {
  margin-bottom: 0.5rem;
  text-align: right;
}
@media screen and (max-width: 640px) {
  .movie-wrap {
    grid-template-columns: 1fr;
  }
  .movie-wrap .movie-card {
    padding: 0 1rem 1rem;
  }
  .movie-wrap .movie-card > figure {
    width: calc(100% + 2rem);
    height: 150px;
    margin: 0 -1rem;
  }
  .movie-wrap .movie-card__title {
    font-size: 0.875rem;
  }
  .movie-wrap .movie-card__txt {
    font-size: 0.75rem;
  }
}

.pr-wrap {
  display: flex;
  justify-content: center;
  gap: 16px;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.pr-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #000000;
  text-decoration: none;
  pointer-events: none;
}
.pr-card:hover {
  opacity: 1;
  text-decoration: none;
}
.pr-card > figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 200px;
  overflow: hidden;
  border: 1px solid #e8ebed;
  border-radius: 0.5rem;
  box-sizing: border-box;
  background-color: #ffffff;
  pointer-events: auto;
}
.pr-card > figure > img {
  width: auto;
  height: 100%;
  transition: 0.3s all;
  object-fit: cover;
}
.pr-card > figure:hover > img {
  transform: scale(1.02);
}
.pr-card__ttl {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 1rem;
}
.pr-card__ttl::before {
  content: none;
}
.pr-card__date {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.pr-card__btn {
  margin-top: auto;
  pointer-events: auto;
}
.pr-card[href$=".pdf"] .pr-card__btn::after {
  transform: rotate(0deg);
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  background: url(/assets/images/common/icon/pink/pdf_icon.svg) no-repeat right;
}

/* エフとも
---------------------------------------------------------- */
/* --- F-REIの4つの機能 --- */
.redbold {
  color: #dc143c;
  font-weight: 700;
}

.f_tomo-future,
.f_tomo-community {
  width: 100%;
  padding: 3rem 2.5rem;
  background: url(/assets/images/f_tomo/f_tomo_02.jpg) no-repeat left top/cover rgba(255, 255, 255, 0.5);
  margin-inline: -1rem 0;
  background-blend-mode: lighten;
  margin-inline: -2.5rem;
}
.f_tomo-future + .f_tomo-future, .f_tomo-future + .f_tomo-community,
.f_tomo-community + .f_tomo-future,
.f_tomo-community + .f_tomo-community {
  margin-top: 4rem;
}

.f_tomo-community {
  background-image: url(/assets/images/f_tomo/f_tomo_03.jpg);
}

.f_tomo-att {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.f_tomo-att__ttl {
  width: fit-content;
  margin: 0 auto 2rem;
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: 0.5rem;
  background-color: rgba(255, 255, 255, 0.85);
  text-align: center;
}
.f_tomo-att__ttl::before {
  content: none;
}
.f_tomo-att__box {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: rgba(255, 255, 255, 0.85);
}
.f_tomo-att__box-ttl {
  margin: 0 0 1rem;
  color: #dc143c;
  font-size: 1.25rem;
  text-align: center;
}
.f_tomo-att__box-ttl::before {
  content: none;
}
.f_tomo-att__subject {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  margin-block: 1rem;
}
.f_tomo-att__subject::before, .f_tomo-att__subject::after {
  flex-grow: 1;
  height: 1px;
  background-color: #cccccc;
  content: "";
}

@media screen and (min-width: 1201px) {
  .f_tomo-future,
  .f_tomo-community {
    padding: 4rem 4rem 4rem calc(100vw - 1120px);
    border-radius: 0 2rem 2rem 0;
    margin-inline: calc((100vw - 1120px) * -1) 0;
  }
  .f_tomo-community {
    padding: 4rem calc((100vw - 1120px) / 2) 4rem 4rem;
    border-radius: 2rem 0 0 2rem;
    margin-inline: -4rem 0;
  }
}
@media screen and (max-width: 640px) {
  .f_tomo-future + .f_tomo-future, .f_tomo-future + .f_tomo-community,
  .f_tomo-community + .f_tomo-future,
  .f_tomo-community + .f_tomo-community {
    margin-top: 2rem;
  }
  .f_tomo-att {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .f_tomo-att__box {
    padding: 1rem;
    border-radius: 0.5rem;
  }
  .f_tomo-att__box-ttl {
    font-size: 1rem;
  }
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  top: 4.75rem;
  left: calc((100% - 1200px) / 2);
  z-index: 1;
  display: block;
  width: 3.75rem;
  height: 3.75rem;
  padding: 0;
  border: 1px solid #ffffff;
  border-radius: 100vh;
  background: hsla(0, 0%, 0%, 0.5);
  font-size: 0;
  line-height: 0;
  outline: none;
  cursor: pointer;
}
.slick-prev:before,
.slick-next:before {
  position: absolute;
  top: 1.725rem;
  left: 1.25rem;
  opacity: 1;
  transform: rotate(45deg) translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  border: none;
  border-bottom: 3px solid #ffffff;
  border-left: 3px solid #ffffff;
  content: "";
}
.slick-prev:hover,
.slick-next:hover {
  background-color: hsla(0, 0%, 0%, 0.85);
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-next {
  right: calc((100% - 1200px) / 2);
  left: unset;
}
.slick-next::before {
  left: 0.875rem;
  border: none;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}

@media screen and (max-width: 1200px) {
  .slick-prev {
    left: 1rem;
  }
  .slick-next {
    right: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .slick-prev,
  .slick-next {
    top: 5rem;
    width: 2.5rem;
    height: 2.5rem;
  }
  .slick-prev:before,
  .slick-next:before {
    top: 1.125rem;
    left: 0.75rem;
    width: 0.5rem;
    height: 0.5rem;
  }
  .slick-next:before {
    left: 0.575rem;
  }
}
/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  border: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  line-height: 0;
  outline: none;
  cursor: pointer;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.25;
  width: 20px;
  height: 20px;
  color: black;
  font-size: 6px;
  font-family: "slick";
  line-height: 20px;
  text-align: center;
  content: "•";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li .slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: black;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  margin-right: auto;
  margin-left: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: flex;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@media screen and (min-width: 1080px) {
  .slide-few > .slick-list > .slick-track {
    width: fit-content !important;
    transform: unset !important;
  }
}