/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: .67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace,monospace;
  font-size: 1em;
}

a {
  background-color: rgba(0,0,0,0);
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace,monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: .35em .75em .625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

.shippori-r {
  font-family: "Shippori Mincho",serif;
  font-weight: 400;
  font-style: normal;
}

.roboto-l {
  font-family: "Roboto",sans-serif;
  font-weight: 300;
  font-style: italic;
}

@view-transition {
  navigation: auto;
}

*,
*::after,
*::before {
  box-sizing: border-box;
}

:where(html) {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

:where(body) {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
  color: #0d0d0d;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background-image: url("/gscefs/assets/img/common/bg.jpg");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% auto;
  letter-spacing: .02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:where(a) {
  cursor: pointer;
  text-decoration: none;
  color: #313131;
  transition: all .3s;
}

:where(a):focus:not(:focus-visible) {
  outline: 0;
}

:where(img) {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

:where(i,cite,em,var,address,dfn) {
  font-style: normal;
}

:where(iframe) {
  border: none;
}

:where(ul,ol,li,dl,dt,dd) {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

:where(h1,h2,h3,h4,h5,h6) {
  margin: 0;
  padding: 0;
}

:where(p) {
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}

.l-content {
  position: relative;
  width: 100%;
  height: 100%;
}

.l-content__base {
  width: 100%;
  max-width: 1100px;
  margin: auto;
  padding: 0 3rem;
}

.l-footer {
  padding-top: 0;
  position: relative;
}

.l-footer__pagetop {
  display: flex;
  justify-content: flex-end;
  padding: 16px 40px;
  position: relative;
  margin-top: 60px;
}

.l-footer__pagetop::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 40px;
  width: calc(100% - 80px);
  height: 1px;
  background-color: #000;
}

.l-footer__pagetop__link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 12px;
}

.l-footer__pagetop__link:hover {
  opacity: .7;
}

.l-footer__pagetop__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  font-size: 0;
  line-height: 1;
}

.l-footer__pagetop__arrow::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: url("/gscefs/assets/img/common/icon-arrow-up-bk.svg") no-repeat center center;
  background-size: contain;
}

.l-footer__pagetop__text {
  font-weight: 400;
}

.l-footer__inner {
  margin: 0 auto;
  padding: 60px 40px 40px;
}

.l-footer__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 48px;
}

.l-footer__logo__img {
  width: 50px;
  height: auto;
}

.l-footer__logo__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.l-footer__logo__univ {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 11px;
  letter-spacing: .15em;
}

.l-footer__logo__name {
  font-family: "Shippori Mincho","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 14px;
  margin-top: -5%;
  letter-spacing: .1em;
}

.l-footer__logo__dept {
  font-size: 23px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .1em;
}

.l-footer__nav {
  margin-bottom: 48px;
}

.l-footer__nav__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.l-footer__nav__item:last-child {
  border-right: none;
}

.l-footer__nav__item a {
  display: block;
  font-size: 14px;
  text-decoration: none;
}

.l-footer__info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 24px;
  position: relative;
}

.l-footer__contact__title {
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 12px;
}

.l-footer__contact__line {
  font-size: 12px;
  color: #666;
  line-height: 1.8;
  margin: 0;
}

.l-footer__links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.l-footer__links__item {
  font-size: 12px;
  text-decoration: none;
}

.l-footer__copyright {
  text-align: right;
  font-size: 11px;
  color: #666;
  margin: 0;
  right: 0;
  bottom: 0;
}

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 20px 20px 0;
}

.home .l-header {
  opacity: 0;
  transform: translateY(-15px);
  transition: opacity .6s,transform .6s;
}

.home .l-header.is-loaded {
  opacity: 1;
  transform: translateY(0);
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  padding: 15px 25px 15px 30px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}

.l-header__logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #0d0d0d;
  flex-shrink: 0;
  transition: opacity .3s;
  position: relative;
  z-index: 1000;
  margin-right: 1rem;
}

.l-header__logo__img {
  width: auto;
  height: 48px;
}

.l-header__logo__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.l-header__logo__text__line {
  font-size: 24px;
  font-weight: 200;
  color: #0d0d0d;
  font-family: "Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  white-space: nowrap;
  line-height: 1;
}

.l-header__logo__text__line--univ {
  font-size: 18px;
  line-height: 1;
  margin-bottom: .4rem;
}

.l-header__nav__inner {
  display: flex;
  justify-content: space-between;
}

.l-header__nav__list {
  display: flex;
  gap: 25px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
}

.l-header__nav__item {
  position: relative;
  margin: 0;
  padding: 0;
}

.l-header__nav__item.contact .l-header__nav__link.is-current {
  color: #0d0d0d;
}

.l-header__nav__item.contact .l-header__nav__link.is-current:hover {
  color: #900;
}

.l-header__nav__link {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #0d0d0d;
  text-decoration: none;
  transition: color .3s;
  white-space: nowrap;
  line-height: 1.6;
}

.l-header__nav__link.is-current {
  color: #bb0f2e;
}

.l-header__nav__dropdown {
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-header__nav__dropdown .en {
  font-size: 1.4rem;
  display: block;
  opacity: .4;
  line-height: 1;
  letter-spacing: 0;
  font-style: italic;
}

.l-header__nav__toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 25px;
  padding: 0;
  margin-left: 4px;
  border: none;
  background-color: rgba(0,0,0,0);
  cursor: pointer;
  flex-shrink: 0;
}

.l-header__nav__toggle__icon {
  display: block;
  width: 12px;
  height: 12px;
  position: relative;
}

.l-header__nav__toggle__icon::before,
.l-header__nav__toggle__icon::after {
  content: "";
  position: absolute;
  background-color: #0d0d0d;
  transition: transform .3s;
}

.l-header__nav__toggle__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
}

.l-header__nav__toggle__icon::after {
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
}

.l-header__nav__item.is-active .l-header__nav__toggle__icon::after {
  transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}

.l-header__nav__secondary {
  flex-shrink: 1;
  min-width: 0;
  display: flex;
}

.l-header__nav__secondary .link::after {
  display: none;
}

.l-header__nav__secondary__img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}

.l-header__menuBtn {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background-color: rgba(0,0,0,0);
  cursor: pointer;
  position: relative;
  z-index: 10001;
}

.l-header__menuBtn__line {
  display: block;
  width: 40px;
  height: 1px;
  background-color: #900;
  transition: all .3s;
  position: absolute;
}

.l-header__menuBtn__line:nth-child(1) {
  transform: translateY(-4px);
}

.l-header__menuBtn__line:nth-child(2) {
  transform: translateY(4px);
}

.l-header__menuBtn.is-active .l-header__menuBtn__line:nth-child(1) {
  transform: translateY(0) rotate(15deg);
}

.l-header__menuBtn.is-active .l-header__menuBtn__line:nth-child(2) {
  transform: translateY(0) rotate(-15deg);
}

.l-main {
  position: relative;
  width: 100%;
}

.l-pageTop {
  position: fixed;
  right: 3rem;
  bottom: 3rem;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  height: auto;
  padding: 0;
  background-color: rgba(0,0,0,0);
  color: #000;
  text-decoration: none;
  transition: all .3s;
}

.l-pageTop__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
}

.l-pageTop__icon::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: url("/gscefs/assets/img/common/icon-arrow-up-bk.svg") no-repeat center center;
  background-size: contain;
}

.l-pageTop__text {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #000;
  line-height: 1;
}

.l-subpage__main {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 50px;
  padding: 0;
}

.l-subpage__article {
  width: 100%;
}

.l-subpage__header {
  margin-bottom: 40px;
  position: relative;
}

.l-subpage__header>.l-subpage__en_pagetitle {
  font-size: 5rem;
  font-weight: 100;
  opacity: .1;
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  left: -1.5rem;
  top: -3.5rem;
  margin: 0;
}

.l-subpage__header .l-subpage__english-link {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1.2rem;
  color: #0d0d0d;
  text-decoration: none;
  transition: color .2s;
}

.l-subpage__header .l-subpage__english-link:hover {
  color: #bb0f2e;
}

.l-subpage__title {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: #0d0d0d;
  margin: 0 0 3rem;
  padding-bottom: 4rem;
  position: relative;
}

.l-subpage__title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 5%;
  height: 1px;
  background-color: #191919;
}

.l-subpage__title .title-en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  margin-right: 2rem;
}

.l-subpage__title .l-subpage__en_pagetitle {
  font-size: 5rem;
  font-weight: 100;
  opacity: .1;
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  left: -1.5rem;
  top: -3.5rem;
  margin-right: 0;
}

.l-subpage__breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  font-size: 1.2rem;
  color: #666;
  padding: 0px 20px;
  margin-top: 140px;
  margin-bottom: 0;
}

.l-subpage__breadcrumb__item {
  display: flex;
  align-items: center;
}

.l-subpage__breadcrumb__item::after {
  content: ">";
  margin: 0 8px;
  color: #999;
}

.l-subpage__breadcrumb__item:last-child::after {
  display: none;
}

.l-subpage__breadcrumb__link {
  color: #666;
  text-decoration: none;
}

.l-subpage__breadcrumb__link:hover {
  color: #bb0f2e;
}

.l-subpage__english {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid #e6e6e6;
  letter-spacing: 0;
}

.l-subpage__english p {
  font-size: 16px;
  line-height: 1.6;
}

.l-subpage__english h2,
.l-subpage__english h3,
.l-subpage__english h4 {
  font-size: 18px;
  margin-bottom: 24px;
}

.l-subpage__article>section+section {
  margin-top: 6rem;
}

.l-subpage__article .l-subpage__english__content h2 {
  line-height: 1.2;
}

.l-subpage-index__contents__list {
  margin-bottom: 40px;
}

.c-btn {
  display: inline-block;
  padding: 1.2rem 2.4rem;
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: all .3s;
  white-space: nowrap;
}

.c-btn--red {
  background-color: #900;
  color: #fff;
}

.c-btn--white {
  background-color: #fff;
  color: #0d0d0d;
  border: 1px solid #0d0d0d;
}

.c-btn--outline {
  background-color: rgba(0,0,0,0);
  color: #0d0d0d;
  border: 1px solid #0d0d0d;
}

.c-btn--small {
  padding: .8rem 1.6rem;
  font-size: 1.2rem;
}

.c-btn--large {
  padding: 1.6rem 3.2rem;
  font-size: 1.6rem;
}

.c-btn__text {
  display: inline-block;
}

.c-btn__icon {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  margin-left: .8rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.c-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  background: #fff;
  border-radius: 10px;
  text-decoration: none;
  padding: 20px 25px;
}

.c-card:hover .c-card__title {
  color: #bb0f2e;
}

.c-card:hover .c-card__arrow,
.c-card:hover .l-subpage__main .l-subpage__article .p-events__item__arrow,
.l-subpage__main .l-subpage__article .c-card:hover .p-events__item__arrow,
.c-card:hover .p-topics__card__link,
.c-card:hover .p-publications__card__arrow,
.c-card:hover .p-publications__banner__arrow {
  scale: 1.15;
}

.c-card__body {
  flex: 1;
  padding-right: 30px;
}

.c-card__title {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: .5rem;
  line-height: 1.5;
  color: #0d0d0d;
  transition: color .2s;
}

.c-card__title .en {
  font-size: 1.1rem;
  display: block;
  opacity: .4;
  line-height: 1.2;
  letter-spacing: 0;
  font-style: italic;
  font-weight: 400;
}

.c-card__text {
  font-size: 1.2rem;
  color: #999;
  line-height: 1.2;
  margin: 0;
}

.c-card__arrow,
.l-subpage__main .l-subpage__article .p-events__item__arrow,
.p-topics__card__link,
.p-publications__card__arrow,
.p-publications__banner__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 24px;
  background: #bb0f2e;
  border-radius: 16px;
  flex-shrink: 0;
  transition: scale .2s;
}

.c-card__arrow::before,
.l-subpage__main .l-subpage__article .p-events__item__arrow::before,
.p-topics__card__link::before,
.p-publications__card__arrow::before,
.p-publications__banner__arrow::before {
  content: "";
  display: block;
  width: 16px;
  height: 12px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-white.svg") no-repeat center center;
  background-size: contain;
}

.c-cBox,
.c-cBox__blue,
.c-cBox__gray,
.c-cBox__white {
  width: 100%;
  height: auto;
}

.c-cBox__white {
  background: #fff;
}

.c-cBox__gray {
  background: #eee;
}

.c-cBox__blue {
  background: #e5f0f8;
}

.c-fBox {
  display: flex;
}

.c-fBox .c-fBox__textArea img,
.c-fBox .c-fBox__imgArea img {
  width: 100%;
  height: auto;
}

.c-fBox.row {
  flex-direction: row;
}

.c-fBox.row__r {
  flex-direction: row-reverse;
}

.c-fBox.clm {
  flex-direction: column;
}

.c-fBox.clm__r {
  flex-direction: column-reverse;
}

.c-fBox.jc__sb {
  justify-content: space-between;
}

.c-fBox.jc__sa {
  justify-content: space-around;
}

.c-fBox.jc__fs {
  justify-content: flex-start;
}

.c-fBox.jc__fe {
  justify-content: flex-end;
}

.c-fBox.jc__ce {
  justify-content: center;
}

.c-fBox.ai__ce {
  align-items: center;
}

.c-fBox.ai__fs {
  align-items: flex-start;
}

.c-fBox.ai__fe {
  align-items: flex-end;
}

.c-fBox.ai__st {
  align-items: stretch;
}

.c-fBox.ai__bl {
  align-items: baseline;
}

.c-fBox.fwrap {
  flex-wrap: wrap;
}

.c-icon,
.c-icon__red {
  display: inline-block;
  width: auto;
  color: #fff;
  background: #f6ab00;
  border-radius: 3px;
  line-height: 1;
}

.c-icon__red {
  background: color-accent;
}

.c-link {
  display: inline-flex;
  align-items: center;
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #0d0d0d;
  text-decoration: none;
  transition: all .3s;
}

.c-link--arrow::after {
  content: "";
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  margin-left: .8rem;
  background-color: #900;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E");
  background-size: 1.2rem;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

.c-linkBtn,
.c-linkBtn__icon,
.c-linkBtn__icon--red,
.c-linkBtn__bl {
  display: inline-block;
  border: 1px solid #0d0d0d;
}

.c-linkBtn:hover,
.c-linkBtn__icon:hover,
.c-linkBtn__icon--red:hover,
.c-linkBtn__bl:hover {
  background: #0d0d0d;
}

.c-linkBtn__bl {
  border: 1px solid #006cb8;
  color: #fff;
  background: #006cb8;
}

.c-linkBtn__bl:hover {
  color: #006cb8;
  background: #fff;
}

.c-linkBtn__icon,
.c-linkBtn__icon--red {
  border: 1px solid #006cb8;
  color: #fff;
  background: #006cb8;
  border-radius: 5px;
}

.c-linkBtn__icon::before,
.c-linkBtn__icon--red::before {
  display: inline-block;
  font-family: "iconfont";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
  vertical-align: middle;
  transform: translateY(-10%);
  font-size: .9em;
}

.c-linkBtn__icon::after,
.c-linkBtn__icon--red::after {
  display: inline-block;
  font-family: "iconfont";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 10px;
  vertical-align: middle;
  transform: translateY(-10%);
  font-size: .9em;
}

.c-linkBtn__icon:hover,
.c-linkBtn__icon--red:hover {
  color: #006cb8;
  background: #fff;
}

.c-linkBtn__icon--red {
  border-color: color-accent;
  background: color-accent;
}

.c-linkBtn__icon--red:hover {
  color: color-accent;
}

.c-linkBtn__icon.icon__arwR::before,
.icon__arwR.c-linkBtn__icon--red::before {
  content: "";
}

.c-linkBtn__icon.icon__arwR2::after,
.icon__arwR2.c-linkBtn__icon--red::after {
  content: "";
}

.c-linkList {
  margin: 0;
  padding: 0;
  list-style: "";
}

.c-linkList a::before {
  display: inline-block;
  font-family: "iconfont";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  vertical-align: middle;
  transform: translateY(-10%);
}

.c-linkList a.noLink {
  pointer-events: none;
  opacity: .5;
}

.c-list--line {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  list-style: "";
  padding-left: 0;
}

.c-list--line>.listItem {
  margin-right: 5px;
}

.c-list--line>.listItem a {
  display: inline-block;
  width: 100%;
  padding: 0 10px;
}

.c-list--line>.listItem:not(:first-child) {
  border-left: 1px solid #b2b2b2;
}

.c-list--line>.listItem:last-child {
  margin-right: 0;
}

.c-list--line>.listItem.hasBtn {
  border-left: none;
}

.c-modal {
  display: none;
}

.c-modal.is-open {
  display: block;
}

.c-modal.is-closing {
  display: block;
}

.c-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,.85);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.c-modal__container {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
}

.c-modal__close {
  position: absolute;
  top: -45px;
  right: 0px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .2s;
}

.c-modal__close img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.c-modal__close:hover {
  opacity: .8;
}

.c-modal__content {
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-modal__image {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  box-shadow: 0 4px 30px rgba(0,0,0,.5);
}

.c-modal.is-open:not(.is-closing) .c-modal__overlay {
  animation: modalFadeIn .3s-out forwards;
}

.c-modal.is-open:not(.is-closing) .c-modal__container {
  animation: modalZoomIn .3s-out forwards;
}

.c-modal.is-closing .c-modal__overlay {
  animation: modalFadeOut .3s-out forwards;
}

.c-modal.is-closing .c-modal__container {
  animation: modalZoomOut .3s-out forwards;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes modalZoomIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes modalFadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes modalZoomOut {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(0.9);
  }
}

.c-tableArea {
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.c-tableArea table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
}

.c-tableArea table th,
.c-tableArea table td {
  border: 1px solid #0d0d0d;
}

.c-title__ul {
  border-bottom: 1px solid #006cb8;
}

.c-title__box {
  background: #e5f0f8;
  border-left: 4px solid #006cb8;
}

.c-title__bold {
  font-size: 22px;
  font-weight: 700;
}

.p-accordion {
  margin: 0;
  padding: 0;
  background: #fff;
  list-style-type: "";
}

.p-accordion__parent button {
  background: #eee;
  border: none;
  border-bottom: 1px solid #fff;
  color: #000;
  cursor: pointer;
  display: block;
  font-weight: 700;
  padding: 15px;
  text-align: left;
  width: 100%;
  position: relative;
  transition: .3s;
}

.p-accordion__parent button::after {
  content: "";
  font-family: "iconfont";
  position: absolute;
  right: 15px;
}

.p-accordion__parent button:hover {
  background: #333;
  color: #fff;
}

.p-accordion__parent button:focus:not(:focus-visible) {
  outline: 0;
}

.p-accordion__parent button.is-active {
  background: color-accent;
  color: #fff;
}

.p-accordion__parent button.is-active::after {
  content: "";
}

.p-accordion__child {
  margin: 0;
  display: none;
  list-style-type: disc;
  padding: 40px 15px 40px 40px;
}

.p-accordion__child--open {
  display: block;
}

.p-accordion__child li:not(:first-child) {
  margin-top: 1rem;
}

.p-body {
  padding-bottom: 10rem;
}

.p-catch {
  width: 100%;
}

.p-catch .pageTitle {
  margin: 6rem 0;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}

.p-catch .p-catch__mainImgArea {
  width: 100%;
  margin: 0 auto;
}

.p-catch .p-catch__mainImgArea img {
  display: block;
  width: 100%;
}

.p-catch__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.p-chapter,
.p-chapter__blue,
.p-chapter__gray {
  width: 100%;
  padding: 8rem 0;
}

.p-chapter__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.p-chapter__inner .c-title__box {
  padding: .5em 1em;
  font-size: 16px;
}

.p-chapter__inner .c-title__ul {
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 3rem;
}

.p-chapter__inner .c-cBox {
  padding: 2rem;
}

.p-chapter__inner .c-icon {
  padding: 1rem 2rem;
}

.p-chapter__inner .c-linkBtn {
  padding: .5em 2em;
  margin-bottom: 1rem;
  font-size: 22px;
}

.p-chapter__inner .c-linkList {
  margin: 1em 0;
}

.p-chapter__inner .c-linkList li:not(:last-of-type) {
  margin-bottom: 1rem;
}

.p-chapter__inner .c-linkList a {
  display: inline-block;
  color: #006cb8;
  font-size: 14px;
}

.p-chapter__inner .c-linkList a:hover {
  text-decoration: underline;
}

.p-chapter__inner table {
  font-size: 1.4rem;
}

.p-chapter__inner table th,
.p-chapter__inner table td {
  padding: 1rem;
}

.p-chapter__inner table th {
  background: #e5f0f8;
}

.p-chapter__gray {
  background: #eee;
}

.p-chapter__blue {
  background: #e5f0f8;
}

.p-lead {
  padding: 2rem 0;
  text-align: center;
}

.p-lead__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.p-lead__inner p {
  font-size: 26px;
}

.p-modal {
  display: none;
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index: 9999;
}

.p-modal__bg {
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(0,0,0,.8);
}

.p-modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  max-width: 900px;
  background: #fff;
}

.p-modal__content__inner {
  max-height: 70vh;
  overflow-y: auto;
  padding: 3rem;
  position: relative;
}

.p-modal__content__inner .c-title__bold--fs20 {
  margin: 0 0 1.5rem;
}

.p-modal__content__inner p {
  margin-bottom: 0;
}

.p-modal__close {
  background-color: rgba(0,0,0,0);
  border: none;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  transition: .3s;
  position: absolute;
  top: -28px;
  right: 3px;
}

.p-modal__close::before {
  display: inline-block;
  font-family: "iconfont";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.6rem;
  content: "";
}

.p-modal__close:hover {
  opacity: .5;
}

.p-modal__close span {
  display: none;
}

.p-modal .c-fBox__imgArea {
  width: 200px;
}

.p-modal .c-fBox__textArea {
  width: calc(100% - 225px);
}

body.js-modal-fixed {
  overflow-y: scroll;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

body.js-modal-fixed .l-header {
  position: fixed;
}

body.js-modal-fixed .l-content {
  height: auto;
}

body.js-modal-fixed .l-content .p-body a.p-modal__close {
  text-decoration: none;
}

.p-tab__title {
  overflow: hidden;
  border-bottom: 1px solid #006cb8;
  padding-left: 0;
  margin-bottom: 60px;
}

.p-tab__title .p-tab__title__item {
  position: relative;
  width: 300px;
  height: 40px;
  font-size: 14px;
  margin: 0;
  list-style: "";
  background: #fff;
  border: 1px solid #006cb8;
  padding: 10px 25px;
  float: left;
  border-bottom: none;
  border-top-right-radius: 10px;
  color: #006cb8;
  font-weight: 600;
}

.p-tab__title .p-tab__title__item::after {
  position: absolute;
  right: 14px;
  content: "▼";
}

.p-tab__title .p-tab__title__item.select {
  background: #006cb8;
  color: #fff;
}

.p-tab__content {
  display: none;
}

.u-pdf::after {
  display: inline-block;
  content: "";
  width: 16px;
  height: 14px;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  margin-left: .2em;
  background-image: url("/gscefs/assets/img/common/icon-pdf.svg");
  background-size: contain;
}

a[target=_blank],
a.is-external {
  padding-right: .4em;
}

a[target=_blank]::after,
a.is-external::after {
  display: inline-block;
  content: "";
  width: .8em;
  height: 1em;
  background: url("/gscefs/assets/img/common/icon-ex_link.svg") no-repeat center center;
  background-size: contain;
  margin-left: .5em;
}

a[href$=".pdf"] {
  padding-right: .4em;
}

a[href$=".pdf"]::after {
  display: inline-block;
  content: "";
  width: .8em;
  height: 1em;
  background: url("/gscefs/assets/img/common/icon-pdf.svg") no-repeat center center;
  background-size: contain;
  margin-left: .5em;
}

a[href$=".doc"],
a[href$=".docx"] {
  padding-right: .4em;
}

a[href$=".doc"]::after,
a[href$=".docx"]::after {
  display: inline-block;
  content: "";
  width: .8em;
  height: 1em;
  background: url("/gscefs/assets/img/common/icon-word.svg") no-repeat center center;
  background-size: contain;
  margin-left: .5em;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1 {
  margin-bottom: 1rem !important;
}

.u-hide {
  display: none;
}

.u-clearfix:after {
  clear: both;
  content: "";
  display: block;
}

.u-left {
  float: left;
}

.u-right {
  float: right;
}

.u-alignLeft {
  text-align: left;
}

.u-alignCenter {
  text-align: center;
}

.u-alignRight {
  text-align: right;
}

.u-weightBold {
  font-weight: 700;
}

.u-small {
  font-size: 1.2rem;
}

.u-textBl {
  color: #006cb8;
}

.red {
  color: #bb0f2e !important;
}

.u-forTb {
  display: none;
}

.u-forSp {
  display: none;
}

.sp {
  display: none;
}

.u-headingContents {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 1.6rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1;
  opacity: .6;
}

.light {
  font-weight: 100;
  opacity: .5;
}

main.l-subpage__main article ul.link-list,
main.l-article__main article ul.link-list {
  margin: 0 0 24px;
  padding: 0;
  list-style-type: none;
}

main.l-subpage__main article ul.link-list li,
main.l-article__main article ul.link-list li {
  margin-bottom: 12px;
  line-height: 1.5;
  list-style-type: none;
}

main.l-subpage__main article ul.link-list li:last-child,
main.l-article__main article ul.link-list li:last-child {
  margin-bottom: 0;
}

main.l-subpage__main article ul.link-list a,
main.l-article__main article ul.link-list a {
  display: inline-block;
  position: relative;
  padding-left: 1em;
  color: #bb0f2e;
  text-decoration: none;
  position: relative;
  background: none;
  font-weight: 500;
}

main.l-subpage__main article ul.link-list a::before,
main.l-article__main article ul.link-list a::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: .5em;
  width: .5em;
  height: .6em;
  background: url("/gscefs/assets/img/common/icon-arrow-link_text.svg") no-repeat center center;
  background-size: contain;
  transition: left .2s;
}

main.l-subpage__main article ul.link-list a:hover,
main.l-article__main article ul.link-list a:hover {
  text-decoration: none;
  opacity: .8;
}

main.l-subpage__main article ul.link-list a:hover::before,
main.l-article__main article ul.link-list a:hover::before {
  left: .3em;
}

.l-subpage__main {
  padding: 0 3rem;
}

.l-subpage__main .l-subpage__article .p-anchor {
  display: flex;
  justify-content: flex-start;
  margin: 40px 0 60px;
}

.l-subpage__main .l-subpage__article .p-anchor__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 10rem;
}

.l-subpage__main .l-subpage__article .p-anchor__item {
  width: 50%;
  margin-bottom: 0;
  list-style-type: none;
}

.l-subpage__main .l-subpage__article .p-anchor__item:not(:first-child) .p-anchor__link {
  border-left: 1px solid #fff;
}

.l-subpage__main .l-subpage__article .p-anchor__item.current .p-anchor__link {
  background: #bb0f2e;
  padding-right: 0;
}

.l-subpage__main .l-subpage__article .p-anchor__item.current .p-anchor__link::after {
  display: none;
}

.l-subpage__main .l-subpage__article .p-anchor__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 16px 12px 0px;
  background: #000;
  color: #fff;
  text-decoration: none;
  transition: background-color .3s;
  font-size: 1.5rem;
  line-height: 1.2;
  position: relative;
}

.l-subpage__main .l-subpage__article .p-anchor__link::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-white.svg") no-repeat center center;
  background-size: contain;
  transform: rotate(90deg);
  position: absolute;
  right: 1.8rem;
}

.l-subpage__main .l-subpage__article .p-anchor__link:hover {
  color: #fff;
  background-color: #bb0f2e;
}

.p-archive {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px 32px;
  background-color: rgba(79,158,168,.08);
  margin-top: 60px;
}

.p-archive__title {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}

.p-archive__divider {
  width: 1px;
  height: 16px;
  background-color: #b2b2b2;
}

.p-archive__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-archive__item {
  margin: 0;
  list-style: none;
}

.p-archive__link {
  font-size: 1.4rem;
  color: #0d0d0d;
  text-decoration: none;
  transition: color .2s;
}

.p-archive__link:hover {
  color: #bb0f2e;
}

.bg-title {
  font-size: 5rem;
  font-weight: 100;
  opacity: .1;
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  left: -1.5rem;
  top: -3.5rem;
  margin-right: 0;
}

@keyframes heroZoomIn {
  from {
    transform: scale(1.2);
  }

  to {
    transform: scale(1);
  }
}

.p-hero {
  position: relative;
  width: 100%;
  height: calc(100vh + 150px);
  min-height: 800px;
  max-height: 1100px;
  display: flex;
  justify-content: flex-start;
}

.p-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

.p-hero__bg__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
  animation: heroZoomIn 30s-out forwards;
}

.p-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
  padding: 200px 5% 120px;
  letter-spacing: 0;
}

.p-hero__subtitle--small {
  font-family: "Shippori Mincho","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 46px;
  font-weight: 400;
  line-height: 1.6;
  color: #0d0d0d;
  margin-bottom: 16px;
  letter-spacing: .1em;
  margin: 0;
  padding: 0;
  opacity: 0;
  will-change: opacity;
}

.p-hero__subtitle--small span {
  display: inline-block;
  will-change: transform,opacity,filter;
}

.p-hero__title {
  font-family: "Shippori Mincho","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 80px;
  font-weight: 400;
  line-height: 1.2;
  color: #0d0d0d;
  margin: 0;
  padding: 0;
  opacity: 0;
  will-change: opacity;
  letter-spacing: -0.4rem;
}

.p-hero__title span {
  display: inline-block;
  will-change: transform,opacity,filter;
}

.p-hero__subtitle {
  display: inline-flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  align-items: flex-start;
  margin-left: -2%;
  margin-top: 1rem;
}

.p-hero__subtitle__en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 38px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  color: #0d0d0d;
  opacity: 0;
  will-change: opacity;
  align-self: flex-start;
}

.p-hero__subtitle__en span {
  display: inline-block;
  will-change: transform,opacity,filter;
}

.p-hero__subtitle__en--large {
  font-size: 48px;
}

.p-hero__subtitle__en--italic {
  font-style: italic;
  align-self: flex-end;
  font-size: 30px;
}

.p-hero__parts {
  position: absolute;
  left: 0;
  bottom: -50px;
  width: 38%;
  height: auto;
  z-index: 3;
  opacity: 0;
  will-change: transform,opacity;
}

.p-news {
  width: 100%;
  padding: 150px 0 60px;
}

.p-news__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
  transition: all .3s;
}

.p-news__title {
  font-size: 24px;
  font-weight: 700;
  color: #0d0d0d;
  margin-bottom: 20px;
  line-height: 1;
}

.p-news__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 48px;
  list-style: none;
}

.p-news__list__item {
  display: flex;
  align-items: baseline;
  gap: 40px;
  padding: 20px 0;
  border-bottom: 1px dotted #999;
}

.p-news__list__item * {
  transition: color .3s;
}

.p-news__list__item:hover * {
  color: #bb0f2e;
}

.p-news__list__item:last-child {
  border-bottom: none;
}

.p-news__list__item__date {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 400;
  color: #0d0d0d;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
}

.p-news__list__item__date__year {
  font-size: 10px;
}

.p-news__list__item__date__day {
  font-size: 14px;
}

.p-news__list__item__date__week {
  font-size: 14px;
  text-transform: uppercase;
}

.p-news__list__item__text {
  font-size: 14px;
  font-weight: 400;
  color: #0d0d0d;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}

.p-news__more {
  display: flex;
  justify-content: flex-end;
}

.p-news__more__link {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 14px;
  font-weight: 400;
  color: #0d0d0d;
  text-decoration: none;
  transition: color .3s;
}

.p-news__more__link:hover {
  color: #bb0f2e;
}

.p-news__more__link:hover .p-news__more__icon {
  background-color: #bb0f2e;
}

.p-news__more__link:hover .p-news__more__icon::after {
  filter: brightness(0) invert(1);
}

.p-news__more__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #bb0f2e;
  border-radius: 50%;
  transition: background-color .3s;
}

.p-news__more__icon::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-red.svg") no-repeat center center;
  background-size: contain;
  transition: filter .3s;
}

.p-topics {
  padding: 100px 0 40px;
  position: relative;
  overflow: hidden;
}

.p-topics__parts {
  position: absolute;
  right: -30%;
  top: 2%;
  width: 70%;
  height: auto;
  z-index: 1;
  opacity: 0;
  will-change: transform,opacity;
}

.p-topics::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 40px;
  width: calc(100% - 80px);
  height: 1px;
  background-color: #000;
  opacity: 0;
  transition: opacity .8s;
}

.p-topics.is-visible::before {
  opacity: .5;
}

.p-topics__inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
}

.p-topics__title {
  font-size: 24px;
  font-weight: 700;
  color: #0d0d0d;
  margin-bottom: 40px;
  line-height: 1;
}

.p-topics__title__en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  margin-right: .5em;
  font-size: 28px;
}

.p-topics__tags {
  display: flex;
  gap: 24px;
  margin-bottom: 32px;
}

.p-topics__tags__item {
  font-size: 12px;
  font-weight: 400;
  color: #0d0d0d;
  text-decoration: none;
  transition: color .3s;
}

.p-topics__tags__item:hover {
  color: #bb0f2e;
}

.p-topics__content {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.p-topics__controls {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
  width: 48px;
  flex-shrink: 0;
}

.p-topics__counter {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
  line-height: 1.2;
}

.p-topics__counter__current {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: .5rem;
  padding: 0 .5rem .5rem;
  border-bottom: 1px solid #000;
}

.p-topics__counter__total {
  font-size: 14px;
  font-weight: 400;
}

.p-topics__arrows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.p-topics__arrow {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #bb0f2e;
  background-color: rgba(0,0,0,0);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s;
}

.p-topics__arrow__icon {
  display: block;
  width: 12px;
  height: 10px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-red.svg") no-repeat center center;
  background-size: contain;
  border: none;
  transition: all .3s;
}

.p-topics__arrow--prev .p-topics__arrow__icon {
  transform: rotate(180deg);
}

.p-topics__arrow--next .p-topics__arrow__icon {
  transform: rotate(0deg);
}

.p-topics__slider {
  flex: 1;
  overflow: visible;
  min-width: 0;
  padding-right: 0;
  border-left: 1px solid #000;
}

.p-topics__slider .splide__track {
  overflow: hidden;
}

.p-topics__slider .splide__list {
  display: flex;
  gap: 0;
}

.p-topics__slider .splide__slide {
  width: 30%;
  flex-shrink: 0;
  border: 1px solid #0d0d0d;
  border-left: none;
  display: block;
}

.p-topics__slider .splide__slide:first-child {
  border-left: none;
}

.p-topics__slider .splide__slide:hover .p-topics__card__link {
  background: #bb0f2e;
}

.p-topics__card {
  background-color: rgba(0,0,0,0);
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 16px 10px;
  text-decoration: none;
  color: inherit;
}

.p-topics__card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  margin-bottom: 16px;
}

.p-topics__card__num {
  font-size: 14px;
  color: #bb0f2e;
  line-height: 1;
  font-weight: 400;
}

.p-topics__card__label {
  font-size: 12px;
  color: #0d0d0d;
  letter-spacing: .1em;
  line-height: 1;
}

.p-topics__card__img {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background-color: #888;
}

.p-topics__card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .2s;
}

.p-topics__card:hover .p-topics__card__img img {
  transform: scale(1.05);
}

.p-topics__card__body {
  padding: 16px 0 0 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.p-topics__card__text {
  font-size: 14px;
  font-weight: 400;
  color: #0d0d0d;
  line-height: 1.4;
  margin-bottom: 16px;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 1rem;
}

.p-topics__card__date {
  display: block;
  font-size: 12px;
  color: #0d0d0d;
  margin-bottom: 16px;
  text-align: right;
}

.p-topics__card__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  margin-top: auto;
}

.p-topics__card__link {
  margin-left: auto;
  margin-top: auto;
  transform: scale(0.9);
  transform-origin: right bottom;
  background-color: #000;
  transition: background-color .2s;
}

.p-topics__card__link span {
  display: none;
}

.p-topics__progress {
  margin-top: 48px;
  margin-bottom: 40px;
  height: 2px;
  background-color: #ddd;
  margin-left: 68px;
}

.p-topics__progress__bar {
  height: 100%;
  width: 0;
  background-color: #0d0d0d;
  transition: width .3s;
}

.p-about {
  width: 100%;
  padding: 4rem 0 4rem;
  position: relative;
  overflow: hidden;
}

.p-about__parts {
  position: absolute;
  right: -15%;
  top: 2rem;
  width: 80%;
  height: auto;
  z-index: 1;
  display: block;
  opacity: 0;
  will-change: transform,opacity;
}

.p-about::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 40px;
  width: calc(100% - 80px);
  height: 1px;
  background-color: #000;
  opacity: 0;
  transition: opacity .8s;
}

.p-about.is-visible::before {
  opacity: .5;
}

.p-about__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.p-about__header {
  margin-top: 3rem;
  margin-bottom: 6rem;
  position: relative;
  z-index: 1;
}

.p-about__header__title {
  font-family: "Shippori Mincho","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: .1em;
  margin-bottom: 1.6rem;
}

.p-about__header__subtitle {
  font-family: "Shippori Mincho","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #0d0d0d;
  line-height: 1.4;
}

.p-about__header__subtitle .big {
  font-size: 4.6rem;
}

.p-about__diagram {
  position: relative;
  width: 100%;
  margin: 0 auto 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0;
  min-height: 700px;
}

.p-about__diagram__center {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48%;
  max-width: 500px;
  z-index: 1;
}

.p-about__diagram__center__img {
  width: 100%;
  height: auto;
}

.p-about__diagram__item {
  position: static;
  display: flex;
  gap: 2rem;
  z-index: 2;
}

.p-about__diagram__item__title-img {
  flex-shrink: 0;
}

.p-about__diagram__item__content {
  display: flex;
  gap: .6rem;
}

.p-about__diagram__item__content--horizontal {
  flex-direction: column;
}

.p-about__diagram__item__content--vertical {
  flex-direction: row;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.p-about__diagram__item__text {
  display: flex;
  flex-direction: column;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  gap: .2rem;
}

.p-about__diagram__item__text .en {
  order: 1;
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-size: 1rem;
  font-weight: 400;
  color: #bb0f2e;
}

.p-about__diagram__item__desc {
  width: 100%;
  max-width: 240px;
  margin-top: 16px;
  color: #999;
}

.p-about__diagram__item__desc__title {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: .6rem;
}

.p-about__diagram__item__desc__text {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
}

.p-about__diagram__item--life {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "A B" "C C";
  gap: 0;
  justify-self: stretch;
  align-self: stretch;
  padding: 0;
}

.p-about__diagram__item--life .p-about__diagram__item__title-img {
  grid-area: A;
  width: 160px;
  flex-shrink: 0;
  justify-self: start;
  align-self: start;
}

.p-about__diagram__item--life .p-about__diagram__item__content--horizontal {
  grid-area: B;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 15px;
  justify-self: stretch;
  align-self: start;
}

.p-about__diagram__item--life .p-about__diagram__item__desc {
  grid-area: C;
  width: 50%;
  text-align: left;
  justify-self: stretch;
  align-self: start;
  margin-top: 5px;
}

.p-about__diagram__item--representation {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto 1fr;
  grid-template-areas: "A A" "C B";
  gap: 0 16px;
  justify-self: stretch;
  align-self: stretch;
  padding: 0;
}

.p-about__diagram__item--representation .p-about__diagram__item__title-img {
  grid-area: A;
  width: 70%;
  justify-self: flex-end;
  align-self: start;
}

.p-about__diagram__item--representation .p-about__diagram__item__content--vertical {
  grid-area: B;
  display: flex;
  flex-direction: column;
  gap: 8px;
  writing-mode: vertical-rl;
  justify-self: end;
  align-self: start;
}

.p-about__diagram__item--representation .p-about__diagram__item__desc {
  grid-area: C;
  width: 60%;
  text-align: left;
  justify-self: flex-end;
  align-self: center;
  margin-top: 8px;
  padding-right: 1rem;
}

.p-about__diagram__item--public {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "A A" "B C";
  gap: 20px 20px;
  justify-self: start;
  align-self: start;
  padding: 0;
}

.p-about__diagram__item--public .p-about__diagram__item__title-img {
  grid-area: A;
  width: 72%;
  justify-self: stretch;
  align-self: start;
}

.p-about__diagram__item--public .p-about__diagram__item__content--vertical {
  grid-area: B;
  display: flex;
  flex-direction: column;
  gap: 8px;
  writing-mode: vertical-rl;
  justify-self: start;
  align-self: start;
}

.p-about__diagram__item--public .p-about__diagram__item__desc {
  grid-area: C;
  width: 220px;
  text-align: left;
  justify-self: start;
  align-self: start;
  margin-top: 0;
}

.p-about__diagram__item--coexistence {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: 2fr 1.1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "C A" "B .";
  gap: 8px 16px;
  justify-self: end;
  align-self: start;
  padding: 0;
}

.p-about__diagram__item--coexistence .p-about__diagram__item__title-img {
  grid-area: A;
  width: 100%;
  justify-self: end;
  align-self: end;
  max-width: none;
  margin-bottom: -20%;
}

.p-about__diagram__item--coexistence .p-about__diagram__item__content--horizontal {
  grid-area: B;
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-self: flex-end;
  align-self: start;
}

.p-about__diagram__item--coexistence .p-about__diagram__item__desc {
  grid-area: C;
  width: 200px;
  text-align: left;
  justify-self: flex-end;
  align-self: center;
}

.p-about__text-wrap {
  position: relative;
  width: calc(100% + 80px);
  margin: 0 0 4rem -4rem;
  padding: 0 4rem;
}

.p-about__text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.p-about__text__block {
  font-size: 1.2rem;
  font-weight: 400;
  color: #0d0d0d;
  line-height: 1.8;
  margin-bottom: 2rem;
  margin: 0 0 1.5rem;
}

.p-about__text__block:last-of-type {
  margin-bottom: 0;
  transform: translateX(10%);
}

.p-about__buttons {
  display: flex;
  flex-direction: column;
}

.p-about__buttons__item {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: #0d0d0d;
  transition: color .3s;
  padding: 1rem 0 1rem 1.5rem;
  background: url("/gscefs/assets/img/home/about-mask-img.jpg") no-repeat left center;
  background-size: 100% 100%;
}

.p-about__buttons__item:hover {
  color: #bb0f2e;
}

.p-about__buttons__item:hover .p-about__buttons__item__icon {
  background-color: #bb0f2e;
}

.p-about__buttons__item:hover .p-about__buttons__item__icon::before {
  filter: brightness(0) invert(1);
}

.p-about__buttons__item__text {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
}

.p-about__buttons__item__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #bb0f2e;
  border-radius: 50%;
  transition: background-color .3s;
}

.p-about__buttons__item__icon::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-red.svg") no-repeat center center;
  background-size: contain;
  transition: filter .3s;
}

.p-about__bottom {
  width: calc(100% + 40px);
  display: block;
}

.p-about__bottom__img {
  width: 100%;
  height: auto;
  display: block;
}

.p-publications {
  width: 100%;
  padding: 50px 0 0;
  position: relative;
}

.p-publications::before {
  content: "";
  position: absolute;
  top: 0;
  left: 40px;
  width: calc(100% - 80px);
  height: 1px;
  background: #000;
  opacity: 0;
  transition: opacity .8s;
}

.p-publications.is-visible::before {
  opacity: 1;
}

.p-publications__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.p-publications__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
}

.p-publications__card {
  display: flex;
  gap: 24px;
  text-decoration: none;
  color: inherit;
}

.p-publications__card:hover .p-publications__card__arrow {
  transform: scale(1.1);
}

.p-publications__card__img {
  width: 140px;
  flex-shrink: 0;
}

.p-publications__card__img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-publications__card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.p-publications__card__label {
  font-size: 12px;
  font-weight: 400;
  color: #0d0d0d;
  margin: 0 0 8px;
}

.p-publications__card__title {
  font-size: 20px;
  font-weight: 700;
  color: #0d0d0d;
  margin: 0 0 16px;
  line-height: 1.4;
}

.p-publications__card__text {
  font-size: 14px;
  font-weight: 400;
  color: #0d0d0d;
  line-height: 1.6;
  margin: 0 0 24px;
}

.p-publications__card__link {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  justify-content: flex-end;
}

.p-publications__card__link__text {
  font-size: 12px;
  font-weight: 400;
  color: #0d0d0d;
}

.p-publications__card__arrow {
  transition: transform .2s;
}

.p-publications__banner {
  width: calc(100% - 80px);
  padding: 80px 40px;
  margin: 50px 40px 20px;
  background: linear-gradient(to right, #c8cbce 0%, #e6eaeb 50%, #c8cbce 100%);
}

.p-publications__banner__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  max-width: 600px;
  margin: 0 auto;
  padding: 20px 40px;
  background-color: #fff;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .3s;
}

.p-publications__banner__link:hover .p-publications__banner__arrow {
  transform: scale(1.1);
}

.p-publications__banner__text {
  font-size: 16px;
  font-weight: 700;
}

.p-publications__banner__arrow {
  transition: transform .2s;
}

.l-subpage__main .l-subpage__article .p-message__date,
.l-subpage__main .l-subpage__article .p-message__author {
  font-size: 14px;
  color: #0d0d0d;
  margin: 8px 0 0;
  text-align: right;
}

.l-subpage__main .l-subpage__article .p-message__english__content {
  letter-spacing: 0;
}

.l-subpage__main .l-subpage__article .p-message__english__content p {
  line-height: 1.6;
}

.l-subpage__main .l-subpage__article .p-studentvoices__voice {
  margin-bottom: 56px;
  padding-bottom: 40px;
  border-bottom: 1px solid #e6e6e6;
}

.l-subpage__main .l-subpage__article .p-studentvoices__voice:last-child {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}

.l-subpage__main .l-subpage__article .p-studentvoices__meta {
  font-size: 16px;
  color: #900;
  margin-bottom: 10px;
  font-weight: 700;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 15px;
  line-height: 1.9;
  color: #0d0d0d;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body p {
  margin: 0 0 24px;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body p:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body a {
  color: #bb0f2e;
  text-decoration: underline;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body a:hover {
  text-decoration: none;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body ul {
  margin: 0 0 24px;
  list-style: none;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body ul li {
  margin-bottom: 8px;
  line-height: 1.6;
  position: relative;
  padding-left: 1em;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body ul li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body ol {
  margin: 0 0 24px;
  padding-left: 1.5em;
  list-style-type: decimal;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body ol li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.l-subpage__main .l-subpage__article .p-studentvoices__body ol li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article .p-carreerpathways__content {
  margin-bottom: 56px;
}

.l-subpage__main .l-subpage__article .p-carreerpathways__content:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article .p-carreerpathways__body {
  background-color: #fff;
  padding: 40px 40px;
  border-radius: 1rem;
}

.l-subpage__main .l-subpage__article .p-carreerpathways__list {
  margin-bottom: 0;
}

.p-projectbasedresearch .text-image .image {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.p-consecutiveprogram__content .img-01 {
  display: flex;
  padding: 3rem 1rem;
  border-radius: 1rem;
  background: #fff;
  justify-content: center;
  margin-bottom: 4rem;
}

.p-graduates__item:not(:first-child) {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px dotted #b2b2b2;
}

.l-subpage__article .p-graduates__content .anchor-list-title {
  font-size: 12px;
  margin-bottom: .5rem;
}

.l-subpage__article .p-graduates__content .anchor-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1px;
  padding-left: 0;
}

.l-subpage__article .p-graduates__content .anchor-list li {
  margin: 0;
  list-style-type: none;
}

.l-subpage__article .p-graduates__content .anchor-list a {
  background: rgba(38,38,24,.04);
  padding: 1rem 1.5rem 1rem .5rem;
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
}

.l-subpage__article .p-graduates__content .anchor-list a:hover {
  background: rgba(38,38,24,.1);
}

.l-subpage__article .p-graduates__content .anchor-list a::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: no-repeat 50% 50% url(/gscefs/assets/img/common/icon-arrow-u-r.svg);
  background-size: contain;
  margin-left: .5rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.p-article-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 20px 20px;
  margin-top: 120px;
  margin-bottom: 0;
}

.p-article-nav__breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  font-size: 12px;
  color: #666;
  padding-bottom: 12px;
  border-bottom: 1px solid #ddd;
}

.p-article-nav__breadcrumb__item {
  display: flex;
  align-items: center;
}

.p-article-nav__breadcrumb__item::after {
  content: ">";
  margin: 0 8px;
  color: #999;
}

.p-article-nav__breadcrumb__item:last-child::after {
  display: none;
}

.p-article-nav__breadcrumb__link {
  color: #666;
  text-decoration: none;
}

.p-article-nav__breadcrumb__link:hover {
  color: #bb0f2e;
}

.p-article-nav__breadcrumb__current {
  color: #0d0d0d;
}

.p-article-nav__pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
}

.p-article-nav__pager__link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: opacity .3s;
}

.p-article-nav__pager__link:hover {
  opacity: .7;
}

.p-article-nav__pager__link--prev .p-article-nav__pager__arrow {
  transform: rotate(180deg);
}

.p-article-nav__pager__link--next {
  margin-left: auto;
}

.p-article-nav__pager__link.no-link {
  opacity: .5;
  pointer-events: none;
  cursor: default;
}

.p-article-nav__pager__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 14px;
  background: #0d0d0d;
  border-radius: 10px;
  flex-shrink: 0;
  transition: scale .2s;
}

.p-article-nav__pager__arrow::before {
  content: "";
  display: block;
  width: 10px;
  height: 8px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-white.svg") no-repeat center center;
  background-size: contain;
}

.p-article-nav__pager__text {
  font-size: 12px;
  color: #0d0d0d;
}

.l-subpage__main .p-article {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
}

.l-subpage__main .p-article__header {
  margin-bottom: 32px;
}

.l-subpage__main .p-article__category {
  font-size: 20px;
  font-weight: 700;
  color: #0d0d0d;
  margin-bottom: 16px;
  line-height: 1;
  margin: 0;
  padding: 0;
}

.l-subpage__main .p-article__category__en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  font-weight: 700;
  margin-right: .5em;
  font-size: 24px;
}

.l-subpage__main .p-article__title {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #0d0d0d;
  margin-bottom: 16px;
  margin: 0;
  padding: 0;
}

.l-subpage__main .p-article__date {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 400;
  color: #0d0d0d;
  line-height: 1;
}

.l-subpage__main .p-article__date__year {
  font-size: 10px;
}

.l-subpage__main .p-article__date__day {
  font-size: 12px;
}

.l-subpage__main .p-article__date__week {
  font-size: 12px;
  text-transform: uppercase;
}

.l-subpage__main .p-article__eyecatch {
  margin: 0 0 48px;
}

.l-subpage__main .p-article__eyecatch img {
  width: 100%;
  height: auto;
  display: block;
}

.l-subpage__main .p-article__body {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 15px;
  line-height: 1.9;
  color: #0d0d0d;
}

.l-subpage__main .p-article__body h2,
.l-subpage__main .p-article__body h3,
.l-subpage__main .p-article__body h4,
.l-subpage__main .p-article__body h5,
.l-subpage__main .p-article__body h6 {
  font-weight: 700;
  line-height: 1.4;
  color: #0d0d0d;
  margin: 0;
  padding: 0;
}

.l-subpage__main .p-article__body h2 {
  font-size: 26px;
  margin-top: 56px;
  margin-bottom: 28px;
}

.l-subpage__main .p-article__body h2:first-child {
  margin-top: 0;
}

.l-subpage__main .p-article__body h3 {
  font-size: 22px;
  font-weight: 100;
  margin-top: 48px;
  margin-bottom: 24px;
  padding-bottom: 15px;
  line-height: 1.2;
  position: relative;
}

.l-subpage__main .p-article__body h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}

.l-subpage__main .p-article__body h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 15%;
  height: 1px;
  background-color: #2b2b2b;
  z-index: 1;
}

.l-subpage__main .p-article__body h4 {
  font-size: 20px;
  margin-top: 40px;
  margin-bottom: 20px;
}

.l-subpage__main .p-article__body h5,
.l-subpage__main .p-article__body h6 {
  font-size: 18px;
  margin-top: 32px;
  margin-bottom: 16px;
}

.l-subpage__main .p-article__body h6 {
  font-size: 16px;
}

.l-subpage__main .p-article__body p {
  margin: 0 0 24px;
}

.l-subpage__main .p-article__body p:last-child {
  margin-bottom: 0;
}

.l-subpage__main .p-article__body a {
  color: #bb0f2e;
  text-decoration: underline;
  background: rgba(187,15,255,.08);
}

.l-subpage__main .p-article__body a:hover {
  text-decoration: none;
}

.l-subpage__main .p-article__body hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 40px 0;
}

.l-subpage__main .p-article__body ul {
  margin: 0 0 24px;
  padding-left: 10px;
}

.l-subpage__main .p-article__body ul li {
  margin-bottom: 8px;
  line-height: 1.4;
  list-style-type: "・";
}

.l-subpage__main .p-article__body ul li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .p-article__body ol {
  margin: 0 0 24px;
  padding-left: 18px;
  list-style-type: decimal;
}

.l-subpage__main .p-article__body ol li {
  margin-bottom: 8px;
  line-height: 1.7;
  list-style-type: decimal;
}

.l-subpage__main .p-article__body ol li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .p-article__body blockquote {
  margin: 32px 0;
  padding: 15px 24px;
  background-color: rgba(56,156,229,.06);
}

.l-subpage__main .p-article__body blockquote * {
  margin: 0;
  font-size: 14px;
  font-style: italic;
}

.l-subpage__main .p-article__body dl {
  margin: 0 0 24px;
}

.l-subpage__main .p-article__body dt {
  font-weight: 700;
  margin-bottom: 5px;
  color: #0d0d0d;
  line-height: 1.4;
}

.l-subpage__main .p-article__body dd {
  margin: 0 0 16px;
  padding-left: 0;
  line-height: 1.4;
}

.l-subpage__main .p-article__body dd:last-child {
  margin-bottom: 0;
}

.l-subpage__main .p-article__body table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 14px;
}

.l-subpage__main .p-article__body th,
.l-subpage__main .p-article__body td {
  padding: 12px 20px;
  border: none;
  text-align: left;
  vertical-align: top;
}

.l-subpage__main .p-article__body thead th {
  color: #0d0d0d;
  font-weight: 700;
  border-bottom: 2px solid #666;
  position: relative;
}

.l-subpage__main .p-article__body thead th::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1em;
  background-color: #ddd;
}

.l-subpage__main .p-article__body thead th:last-child::after {
  display: none;
}

.l-subpage__main .p-article__body tbody tr:nth-child(even) {
  background-color: rgba(56,156,229,.06);
}

.l-subpage__main .p-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid #ddd;
}

.l-subpage__main .p-article__tag {
  display: inline-block;
  font-size: 12px;
  color: #666;
  text-decoration: none;
  padding: 4px 12px;
  background-color: #f5f5f5;
  border-radius: 2px;
  transition: all .3s;
}

.l-subpage__main .p-article__tag:hover {
  background-color: #bb0f2e;
  color: #fff;
}

.l-subpage__main .l-subpage__article {
  font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #0d0d0d;
}

.l-subpage__main .l-subpage__article h2,
.l-subpage__main .l-subpage__article h3,
.l-subpage__main .l-subpage__article h4,
.l-subpage__main .l-subpage__article h5,
.l-subpage__main .l-subpage__article h6 {
  font-weight: 700;
  line-height: 1.4;
  color: #0d0d0d;
  margin: 0;
  padding: 0;
}

.l-subpage__main .l-subpage__article h2 {
  font-size: 26px;
  margin-top: 56px;
  background: rgba(25,25,25,.04);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline-block;
  padding: 0 4px;
  margin-bottom: 25px;
}

.l-subpage__main .l-subpage__article h2:first-child {
  margin-top: 0;
}

.l-subpage__main .l-subpage__article h3 {
  font-size: 22px;
  font-weight: 100;
  margin-top: 40px;
  margin-bottom: 24px;
  padding-bottom: 15px;
  line-height: 1.4;
  position: relative;
}

.l-subpage__main .l-subpage__article h3:first-child {
  margin-top: 0;
}

.l-subpage__main .l-subpage__article h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}

.l-subpage__main .l-subpage__article h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 15%;
  height: 1px;
  background-color: #2b2b2b;
  z-index: 1;
}

.l-subpage__main .l-subpage__article h4 {
  font-size: 18px;
  margin-top: 30px;
  margin-bottom: 10px;
}

.l-subpage__main .l-subpage__article h5,
.l-subpage__main .l-subpage__article h6 {
  font-size: 18px;
  margin-top: 16px;
  margin-bottom: 16px;
}

.l-subpage__main .l-subpage__article h6 {
  font-size: 14px;
  margin-bottom: 5px;
}

.l-subpage__main .l-subpage__article p {
  margin: 0 0 24px;
}

.l-subpage__main .l-subpage__article p:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article p a {
  color: #bb0f2e;
  text-decoration: underline;
  background: rgba(187,15,255,.08);
}

.l-subpage__main .l-subpage__article p a:hover {
  text-decoration: none;
}

.l-subpage__main .l-subpage__article a {
  color: #bb0f2e;
  text-decoration: underline;
}

.l-subpage__main .l-subpage__article a:hover {
  text-decoration: none;
}

.l-subpage__main .l-subpage__article img {
  display: block;
  margin: 1rem 0;
  padding: 0;
}

.l-subpage__main .l-subpage__article hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 40px 0;
}

.l-subpage__main .l-subpage__article ul {
  margin: 0 0 24px;
  padding-left: 10px;
}

.l-subpage__main .l-subpage__article ul li {
  margin-bottom: 10px;
  line-height: 1.4;
  list-style-type: "・";
}

.l-subpage__main .l-subpage__article ul li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article dl dt {
  margin-bottom: 5px;
  line-height: 1.4;
  font-weight: 700;
}

.l-subpage__main .l-subpage__article dl dd {
  margin-bottom: 25px;
  line-height: 1.6;
}

.l-subpage__main .l-subpage__article dl dd:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article ol {
  margin: 0 0 24px;
  padding-left: 18px;
  list-style-type: decimal;
}

.l-subpage__main .l-subpage__article ol li {
  margin-bottom: 8px;
  line-height: 1.7;
  list-style-type: decimal;
}

.l-subpage__main .l-subpage__article ol li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article blockquote {
  margin: 32px 0;
  padding: 15px 24px;
  background-color: rgba(56,156,229,.06);
}

.l-subpage__main .l-subpage__article blockquote * {
  margin: 0;
  font-size: 14px;
  font-style: italic;
}

.l-subpage__main .l-subpage__article table {
  width: 100%;
  margin: 24px 0;
  border-collapse: collapse;
}

.l-subpage__main .l-subpage__article table th,
.l-subpage__main .l-subpage__article table td {
  padding: 12px 16px;
  border: 1px solid #ddd;
  text-align: left;
  font-size: 14px;
  line-height: 1.6;
}

.l-subpage__main .l-subpage__article table th {
  background-color: #f5f5f5;
  font-weight: 600;
}

.p-subpage-index__intro {
  margin-bottom: 48px;
}

.p-subpage-index__contents .u-headingContents {
  margin-bottom: 16px;
}

.p-subpage-index__contents__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.p-subpage-index .l-subpage__english__content {
  margin-top: 2rem;
}

.p-subpage-index .l-subpage__english__content p {
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1.4;
}

.p-faculty-list {
  padding: 30px 1rem 0;
}

.p-faculty-list__area {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding: 40px 40px;
  margin: 4rem 0;
  background: rgba(79,158,168,.08);
  border-radius: 20px;
}

.p-faculty-list__area:first-child {
  margin-top: 0;
}

.p-faculty-list__area-title {
  position: absolute;
  left: -30px;
  top: -20px;
  width: 100px;
  height: auto;
  z-index: 10;
}

.p-faculty-list__area-title img {
  width: 100%;
  height: auto;
}

.p-faculty-list__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 20px;
  width: 100%;
  margin-left: 60px;
}

.p-faculty-list__card {
  width: calc(25% - 20px);
  text-decoration: none;
  color: #0d0d0d;
  background: #f5f5f5;
  border-radius: 10px;
  padding: 0 0 3.8rem;
  display: block;
  overflow: hidden;
  position: relative;
}

.p-faculty-list__card:hover .p-faculty-list__card-arrow {
  scale: 1.15;
}

.p-faculty-list__card:hover .p-faculty-list__photo img {
  transform: scale(1.04);
}

.p-faculty-list__photo {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  margin: 0;
}

.p-faculty-list__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}

.p-faculty-list__name-ja {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 5px;
  line-height: 1.4;
  padding: 12px 12px 0;
  letter-spacing: 0;
}

.p-faculty-list__name-en {
  font-size: 1.1rem;
  font-family: "Shippori Mincho","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  font-weight: 400;
  margin-left: 6px;
  letter-spacing: 0;
}

.p-faculty-list__specialty {
  font-size: 1.2rem;
  color: #666;
  line-height: 1.4;
  padding: 0 12px;
  letter-spacing: 0;
}

.p-faculty-list__card-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 20px;
  background: #bb0f2e;
  border-radius: 16px;
  flex-shrink: 0;
  transition: scale .2s;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}

.p-faculty-list__card-arrow::before {
  content: "";
  display: block;
  width: 16px;
  height: 10px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-white.svg") no-repeat center center;
  background-size: contain;
}

.l-subpage__main.p-faculty-detail .l-subpage__header {
  margin-bottom: 30px;
}

.l-subpage__main.p-faculty-detail .p-faculty-detail__page-title {
  font-size: 2rem;
  font-weight: 700;
  color: #0d0d0d;
  line-height: 1;
}

.l-subpage__main.p-faculty-detail .p-faculty-detail__page-title__en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  font-weight: 700;
  margin-right: .5em;
  font-size: 2.4rem;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__content {
  max-width: 100%;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__header {
  display: flex;
  gap: 40px;
  align-items: flex-end;
  margin-bottom: 40px;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__photo {
  width: 280px;
  height: 280px;
  flex-shrink: 0;
  border-radius: 1rem;
  overflow: hidden;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
}

.l-subpage.p-faculty-detail .l-subpage__main .l-subpage__main .p-faculty-detail__content .p-faculty-detail__photo img {
  margin: 0;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__area {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  background: #bb0f2e;
  color: #fff;
  padding: 5px 12px 4px;
  margin-bottom: 15px;
  width: fit-content;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__name {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 0;
  margin-bottom: 10px;
  background: none;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__name__ja {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__name__en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  font-size: 1.4rem;
  font-weight: 400;
  color: #0d0d0d;
  line-height: 1;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__specialty {
  font-size: 1.4rem;
  line-height: 1.4;
  color: #0d0d0d;
  opacity: .6;
  margin: 0;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__specialty__en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 24px;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro p {
  margin-bottom: 1rem;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro p:last-child {
  margin-bottom: 0;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro-en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 30px;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro-en p {
  margin-bottom: 1rem;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro-en p:last-child {
  margin-bottom: 0;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: 60px;
  gap: 1rem;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #0d0d0d;
  transition: color .2s;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__btn:hover {
  color: #bb0f2e;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__btn:hover .p-faculty-detail__link__arrow {
  scale: 1.15;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__btn::after {
  display: none;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__text {
  font-size: 1.6rem;
  font-weight: 700;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 24px;
  background: #bb0f2e;
  border-radius: 16px;
  flex-shrink: 0;
  transition: scale .2s;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__arrow::before {
  content: "";
  display: block;
  width: 16px;
  height: 12px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-white.svg") no-repeat center center;
  background-size: contain;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects {
  margin-bottom: 60px;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #0d0d0d;
  margin-bottom: 30px;
  padding-bottom: 0;
  line-height: 1;
  border-bottom: none;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__title::before,
.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__title::after {
  display: none;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__title__en {
  font-family: "EB Garamond","Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-style: italic;
  font-weight: 700;
  margin-right: .5em;
  font-size: 2rem;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__list {
  margin: 0;
  padding-left: .5em;
  list-style: none;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__list li {
  margin-bottom: 8px;
  line-height: 1.4;
  font-size: 1.6rem;
  list-style-type: "・";
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__list li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__back {
  padding-top: 40px;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #0d0d0d;
  transition: color .2s;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__link:hover .p-faculty-detail__back__arrow {
  scale: 1.15;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 24px;
  background: #0d0d0d;
  border-radius: 16px;
  flex-shrink: 0;
  transition: scale .2s;
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__arrow::before {
  content: "";
  display: block;
  width: 16px;
  height: 12px;
  background: url("/gscefs/assets/img/common/icon-arrow-r-white.svg") no-repeat center center;
  background-size: contain;
  transform: rotate(180deg);
}

.l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__text {
  font-size: 1.4rem;
  font-weight: 700;
}

.l-subpage__main .p-publish__content {
  margin-bottom: 60px;
}

.l-subpage__main .p-publish__dl-item {
  display: flex;
  gap: 16px;
}

.l-subpage__main .p-publish__dl-item:not(:first-child) {
  margin-top: 25px;
}

.l-subpage__main .p-publish__dl-item .title {
  flex-shrink: 0;
  font-weight: 700;
  color: #0d0d0d;
}

.l-subpage__main .p-publish__dl-item dd {
  flex: 1;
  line-height: 1.7;
}

.l-subpage__main .p-publish__dl-item dd ol {
  margin: 0;
  padding-left: 1.5em;
}

.l-subpage__main .p-publish__dl-item dd ol li {
  margin-bottom: 8px;
}

.l-subpage__main .p-publish__dl-item dd ol li:last-child {
  margin-bottom: 0;
}

.l-subpage__main .l-subpage__article .p-staffpub__intro {
  margin-bottom: 48px;
}

.l-subpage__main .l-subpage__article .p-staffpub__grid {
  display: grid;
  gap: 24px;
}

.l-subpage__main .l-subpage__article .p-staffpub__item {
  background: #fff;
  padding: 3rem 2rem 2rem;
  border-radius: 1rem;
  position: relative;
  overflow: hidden;
}

.l-subpage__main .l-subpage__article a.p-staffpub__item {
  display: block;
  text-decoration: none;
  color: #0d0d0d;
  transition: background-color .2s;
}

.l-subpage__main .l-subpage__article a.p-staffpub__item:hover {
  background-color: #ffe8e8;
}

.l-subpage__main .l-subpage__article a.p-staffpub__item:hover .p-staffpub__item__title {
  text-decoration: none;
}

.l-subpage__main .l-subpage__article a.p-staffpub__item .p-staffpub__item__title {
  position: relative;
  text-decoration: underline;
}

/* .l-subpage__main .l-subpage__article a.p-staffpub__item .p-staffpub__item__title::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("/gscefs/assets/img/common/icon-ex_link.svg") no-repeat center center;
  background-size: contain;
} */

.l-subpage__main .l-subpage__article .p-staffpub__item__img {
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  margin: 0 auto 2rem;
}

.l-subpage__main .l-subpage__article .p-staffpub__item__name {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.l-subpage__main .l-subpage__article .p-staffpub__item__title {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.l-subpage__main .l-subpage__article .p-staffpub__item__date {
  opacity: .6;
  font-size: 1.2rem;
  line-height: 1;
  margin-bottom: 1rem;
}

.l-subpage__main .l-subpage__article .p-staffpub__item__details {
  opacity: .6;
  line-height: 1.4;
  font-size: 1.2rem;
  margin-top: 8px;
}

.p-apply .l-subpage__article .l-subpage__header .l-subpage__title {
  padding-bottom: 0;
  margin-bottom: 0;
}

.p-apply .l-subpage__article .l-subpage__header .l-subpage__title::before {
  display: none;
}

.p-apply .l-subpage__article .p-apply-list {
  padding-left: 0;
  text-decoration: none;
  margin: 2rem 0 3rem;
}

.p-apply .l-subpage__article .p-apply-list li {
  list-style-type: none;
  display: flex;
  gap: 20px;
}

.p-apply .l-subpage__article .p-apply-list li:not(:first-child) {
  margin-top: 1rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(0,0,0,.05);
}

.p-apply .l-subpage__article .p-apply-list__title {
  margin: 0;
  font-weight: 700;
}

.p-apply .l-subpage__article .p-apply-list__desc {
  line-height: 1.4;
}

.p-apply .l-subpage__article .p-apply__item {
  position: relative;
}

.p-apply .l-subpage__article .p-apply-schedule {
  padding-left: 0;
}

.p-apply .l-subpage__article .p-apply-schedule__item {
  padding: 1rem;
  background: rgba(0,0,0,.03);
  padding: 2rem;
  list-style-type: none;
  border-radius: 1rem;
}

.p-apply .l-subpage__article .p-apply-schedule__item .p-apply-list {
  margin: 0;
}

.p-apply .l-subpage__article .p-apply-schedule__date {
  margin-top: 0;
}

.p-apply section {
  margin-bottom: 60px;
}

.p-apply .l-subpage__article .p-faq__subtitle {
  font-size: 1.6rem;
  margin: 0;
}

.p-apply .l-subpage__article .p-faq__item {
  border-bottom: 1px solid rgb(234.1,234.1,234.1);
  padding-top: .5rem;
}

.p-apply .l-subpage__article .p-faq__item[open] .p-faq__question::after {
  transform: rotate(180deg);
}

.p-apply .l-subpage__article .p-faq__question {
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 20px 0;
  background: none;
  border: none;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  list-style: none;
  position: relative;
  gap: 20px;
  padding-right: 3rem;
}

.p-apply .l-subpage__article .p-faq__question::-webkit-details-marker {
  display: none;
}

.p-apply .l-subpage__article .p-faq__question__num {
  font-size: 2.6rem;
  font-weight: 100;
  color: #bb0f2e;
  font-style: italic;
  line-height: 1;
  white-space: nowrap;
  font-family: "Noto Sans JP",sans-serif;
  margin-top: -0.3rem;
  letter-spacing: 0;
  opacity: .7;
  overflow: visible;
  padding-right: .5rem;
}

.p-apply .l-subpage__article .p-faq__question::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-left: 20px;
  margin-top: 5px;
  background: url("/gscefs/assets/img/common/icon-arrow-down-bk.svg") no-repeat center center;
  background-size: contain;
  transform: rotate(0deg);
  transition: transform .3s;
  position: absolute;
  right: 0;
  top: calc(50% - 13px);
}

.p-apply .l-subpage__article .p-faq__answer {
  padding-bottom: 30px;
  padding-left: 58px;
  position: relative;
}

.p-apply .l-subpage__article .p-faq__answer__num {
  font-size: 2.6rem;
  font-weight: 100;
  display: block;
  font-style: italic;
  line-height: 1;
  white-space: nowrap;
  font-family: "Noto Sans JP",sans-serif;
  position: absolute;
  letter-spacing: 0;
  top: 0;
  left: 0;
  opacity: .3;
}

.p-apply .l-subpage__article .p-faq__answer p {
  margin: 0 0 15px;
  line-height: 1.6;
  font-size: 1.6rem;
}

.p-apply .l-subpage__article .p-faq__answer p:last-child {
  margin-bottom: 0;
}

.p-news-page {
  padding-bottom: 0;
}

.p-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 60px;
}

.p-pagination__current,
.p-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 16px;
  color: #0d0d0d;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0);
  transition: all .3s;
}

.p-pagination__current {
  font-weight: 700;
  border-color: #0d0d0d;
  background-color: #0d0d0d;
  color: #fff;
  pointer-events: none;
}

.p-pagination__link {
  border: 1px solid #ddd;
}

.p-pagination__link:hover {
  color: #fff;
  background-color: #bb0f2e;
  border-color: #bb0f2e;
}

.l-subpage__main .l-subpage__article .p-events__intro {
  margin-bottom: 40px;
}

.l-subpage__main .l-subpage__article .p-events__intro p {
  font-size: 1.5rem;
  line-height: 1.8;
}

.l-subpage__main .l-subpage__article .p-events__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 60px;
}

.l-subpage__main .l-subpage__article .p-events__item {
  display: flex;
  flex-direction: column;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .3s;
  border-radius: 1rem;
  overflow: hidden;
}

.l-subpage__main .l-subpage__article .p-events__item:hover .p-events__item__arrow {
  background: #bb0f2e;
}

.l-subpage__main .l-subpage__article .p-events__item:hover .p-events__item__img img {
  transform: scale(1.05);
}

.l-subpage__main .l-subpage__article .p-events__item__img {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  will-change: transform;
}

.l-subpage__main .l-subpage__article .p-events__item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
  transition: transform .2s;
}

.l-subpage__main .l-subpage__article .p-events__item__body {
  padding: 16px 16px;
}

.l-subpage__main .l-subpage__article .p-events__item__category {
  font-size: 1.2rem;
  line-height: 1;
  margin-bottom: 1rem;
  opacity: .5;
}

.l-subpage__main .l-subpage__article .p-events__item__title {
  font-size: 14px;
  font-weight: 400;
  color: #0d0d0d;
  line-height: 1.4;
  margin: 0 0 12px 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.l-subpage__main .l-subpage__article .p-events__item__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: auto;
}

.l-subpage__main .l-subpage__article .p-events__item__date {
  display: block;
  font-size: 12px;
  line-height: 1;
  color: #0d0d0d;
  font-weight: 400;
}

.l-subpage__main .l-subpage__article .p-events__item__arrow {
  transform: scale(0.9);
  transform-origin: right bottom;
  background-color: #000;
  transition: background-color .2s;
}

.l-subpage__main .l-subpage__article .p-events__item__arrow span {
  display: none;
}

@media screen and (min-width: 670px) {
  .p-publications__list {
    position: relative;
  }

  .p-publications__list::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: .1px;
    height: 100%;
    background: rgba(0,0,0,.6);
  }
}

@media screen and (min-width: 769px) {
  .l-footer__nav__item a {
    padding: 0 20px;
  }

  .l-footer__copyright {
    position: absolute;
  }

  .col-02 {
    display: flex;
    justify-content: space-between;
  }

  .l-subpage__main .l-subpage__article .p-anchor__item {
    width: 200px;
  }

  .p-hero {
    padding-bottom: 150px;
    align-items: center;
  }

  .p-hero__title {
    margin-bottom: 48px;
  }

  .p-hero__parts {
    min-width: 500px;
  }

  .p-topics__parts {
    min-width: 500px;
  }

  .p-topics__slider {
    margin-right: -40px;
  }

  .p-about__text {
    width: 45%;
  }

  .p-about__buttons {
    width: 100%;
    margin-top: 2rem;
    align-items: flex-end;
    transform: translateX(10%);
  }

  .p-about__bottom {
    width: 48%;
    position: absolute;
    z-index: 0;
    bottom: 0;
    right: 0;
  }

  .l-subpage__main .l-subpage__article .p-carreerpathways__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
  }

  .p-projectbasedresearch .text-image {
    gap: 20px;
  }

  .p-projectbasedresearch .text-image .text {
    width: 65%;
  }

  .p-projectbasedresearch .text-image .image {
    width: 35%;
  }

  .l-subpage__article .p-graduates__content .anchor-list a {
    font-size: 14px;
  }

  .l-subpage__main .p-publish__dl-item .title {
    width: 120px;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .p-apply .l-subpage__article .p-apply-list__title {
    width: 20%;
  }

  .p-apply .l-subpage__article .p-apply-list__desc {
    width: 80%;
  }
}

@media screen and (min-width: 1000px) {
  .l-header__nav {
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
    gap: 24px;
    padding-right: 0;
  }

  .l-header__nav__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background-color: rgba(42,44,48,.71);
    backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .3s,visibility .3s,transform .3s;
    z-index: 100;
    overflow: hidden;
    border-radius: 8px;
  }

  .l-header__nav__dropdown li:not(:first-child) {
    border-top: 1px solid #7d7d7d;
  }

  .l-header__nav__dropdown li a {
    display: block;
    padding: 8px 12px;
    font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    transition: background-color .2s,color .2s;
    white-space: nowrap;
    line-height: 1.3;
  }

  .l-header__nav__item--has-children:hover .l-header__nav__dropdown,
  .l-header__nav__item--has-children:focus-within .l-header__nav__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .l-header__nav__secondary .link {
    display: flex;
    align-items: center;
    max-width: 80px;
    margin-left: 3rem;
    align-items: center;
  }

  .p-about__parts {
    min-width: 500px;
  }

  .p-about__diagram {
    gap: 8% 12%;
  }

  .p-about__diagram__item--life {
    margin-left: 14%;
    margin-top: 5%;
  }

  .p-about__diagram__item--life .p-about__diagram__item__desc {
    margin-left: -3rem;
  }

  .p-about__diagram__item--representation {
    margin-top: 14%;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__title-img {
    margin-bottom: 1rem;
    margin-right: 1rem;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__content--vertical {
    margin-right: -10%;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__desc {
    margin-right: -12%;
  }

  .p-about__diagram__item--public .p-about__diagram__item__title-img {
    margin-left: -4%;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__content--horizontal {
    margin-top: -9rem;
    margin-right: -4rem;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__desc {
    margin-top: -30%;
  }

  .p-publications__list {
    padding: 4rem 0;
  }
}

@media screen and (min-width: 1000px)and (any-hover: hover) {
  .l-header__nav__dropdown li a:hover {
    background-color: rgba(83,85,89,.892);
  }
}

@media (min-width: 1400px) {
  .p-topics__slider .splide__slide {
    width: 20%;
  }
}

@media screen and (min-width: 1430px) {
  .p-news__inner {
    max-width: 1200px;
  }

  .p-topics__inner {
    width: 90%;
    margin-left: 40px;
    max-width: 1600px;
  }

  .p-topics__slider {
    margin-right: calc(-100vw + 100%);
  }
}

@media screen and (max-width: 999px) {
  .l-header {
    position: fixed;
    padding: 16px 16px 0;
  }

  .l-header__inner {
    padding: 15px 15px;
  }

  .l-header__logo__img {
    height: 36px;
  }

  .l-header__logo__text__line {
    font-size: 16px;
  }

  .l-header__logo__text__line--univ {
    font-size: 12px;
  }

  .l-header__nav {
    overflow: auto;
  }

  .l-header__nav.is-active .l-header__nav__col:nth-child(1) {
    animation: navSlideIn .4s 0.1s forwards;
  }

  .l-header__nav.is-active .l-header__nav__col:nth-child(2) {
    animation: navSlideIn .4s 0.2s forwards;
  }

  .l-header__nav.is-active .l-header__nav__col:nth-child(3) {
    animation: navSlideIn .4s 0.3s forwards;
  }

  .l-header__nav.is-active .l-header__nav__col:nth-child(4) {
    animation: navSlideIn .4s 0.4s forwards;
  }

  .l-header__nav.is-active .l-header__nav__secondary {
    animation: slideDown .6s .5s forwards;
  }

  .l-header__nav .l-header__nav__col {
    opacity: 0;
    transform: translateX(-15px);
  }

@keyframes navSlideIn {
    from {
      opacity: 0;
      transform: translateX(-15px);
    }

    to {
      opacity: 1;
      transform: translateX(0);
    }
}

@keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
}

  .l-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    height: calc(100vh - 102px);
    height: calc(100svh - 102px);
    width: 100%;
    background-color: #fff;
    z-index: 1000;
    padding-top: 0;
    transition: none;
    opacity: 1;
  }

  .l-header__nav::before {
    content: "";
    display: block;
    width: calc(100% - 30px);
    height: 1px;
    background-color: #e5f0f8;
    position: absolute;
    top: 0;
    left: 15px;
  }

  .l-header__nav__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px 35px 35px;
    gap: 1.5rem;
  }

  .l-header__nav__item:last-child {
    margin-bottom: 0;
  }

  .l-header__nav__item--has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .l-header__nav__link {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    display: block;
  }

  .l-header__nav__dropdown {
    display: none;
    width: 100%;
    padding-left: 10px;
    background: #f8f8f8;
    padding: .5rem 1.5rem;
    margin: .5rem 0;
    border-radius: 1rem;
  }

  .l-header__nav__dropdown li a {
    display: block;
    padding: 5px 0;
    font-family: "Noto Sans JP",Arial,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #0d0d0d;
    text-decoration: none;
    line-height: 1.6;
  }

  .l-header__nav__toggle {
    display: flex;
  }

  .l-header__nav__secondary {
    opacity: 0;
    justify-content: center;
  }

  .l-header__nav__secondary .link {
    margin-top: auto;
    padding: 20px 40px 40px;
  }

  .l-header__nav__secondary__img {
    width: 160px;
    height: auto;
  }

  .l-header__menuBtn {
    display: flex;
  }

  .p-chapter__inner {
    padding-right: 10px;
    padding-left: 10px;
  }

  .p-lead__inner {
    padding-right: 10px;
    padding-left: 10px;
  }

  .bg-title {
    font-size: 4rem;
    top: -2.8rem;
  }

  .p-topics__slider .splide__slide {
    width: 33.33%;
  }

  .p-about {
    padding: 6rem 0 0;
  }

  .p-about__parts {
    width: 135%;
    max-width: none;
    height: 70px;
    top: 1rem;
    right: -40%;
  }

  .p-about::before {
    left: 20px;
    width: calc(100% - 40px);
  }

  .p-about__inner {
    padding: 0 20px;
  }

  .p-about__header {
    margin-bottom: 4rem;
    margin-top: 0;
    text-align: left;
  }

  .p-about__header__title {
    font-size: 2.4rem;
    margin-bottom: 1rem;
  }

  .p-about__header__subtitle {
    font-size: 2rem;
  }

  .p-about__header__subtitle .big {
    font-size: 3.2rem;
  }

  .p-about__diagram {
    gap: 30% 0;
    margin-bottom: 8rem;
  }

  .p-about__diagram__center {
    top: 60%;
  }

  .p-about__diagram__item {
    flex-direction: column;
    gap: 1.6rem;
  }

  .p-about__diagram__item__title-img {
    max-width: 160px;
  }

  .p-about__diagram__item__content--vertical {
    writing-mode: horizontal-tb;
    flex-direction: column;
  }

  .p-about__diagram__item__text {
    font-size: 1.8rem;
  }

  .p-about__diagram__item__desc {
    max-width: 100%;
    margin-top: 12px;
  }

  .p-about__diagram__item__desc__title {
    font-size: 1.2rem;
  }

  .p-about__diagram__item__desc__text {
    font-size: 1rem;
  }

  .p-about__diagram__item--life {
    order: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
  }

  .p-about__diagram__item--life .p-about__diagram__item__title-img {
    width: 100px;
  }

  .p-about__diagram__item--life .p-about__diagram__item__content--horizontal {
    justify-self: start;
    align-self: end;
  }

  .p-about__diagram__item--life .p-about__diagram__item__desc {
    width: 55%;
    order: 3;
  }

  .p-about__diagram__item--representation {
    order: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: "B A" "B C";
    gap: 8px 12px;
    margin-top: 4rem;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__title-img {
    max-width: 100%;
    height: 80px;
    width: auto;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__content--vertical {
    writing-mode: vertical-rl;
    align-self: stretch;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__desc {
    justify-self: end;
    margin-top: -30%;
    width: 95%;
  }

  .p-about__diagram__item--public .p-about__diagram__item__title-img {
    max-width: none;
    width: 50%;
  }

  .p-about__diagram__item--public .p-about__diagram__item__content--vertical {
    writing-mode: vertical-rl;
    justify-self: start;
    align-self: stretch;
  }

  .p-about__diagram__item--public .p-about__diagram__item__desc {
    padding-right: 2rem;
  }

  .p-about__diagram__item--coexistence {
    grid-template-areas: "A A" "B C";
    grid-template-columns: 1fr 1fr;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__title-img {
    width: 90px;
    margin-bottom: 0;
    margin-top: -20%;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__content--horizontal {
    margin-top: -25%;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__desc {
    margin-top: -16%;
  }

  .p-publications__inner {
    padding-bottom: 4rem;
  }

  .p-publications__card {
    gap: 16px;
  }

  .p-publications__card__img {
    width: 80px;
  }

  .p-publications__card__title {
    font-size: 18px;
  }
}

@media screen and (max-width: 999px)and (any-hover: hover) {
  .l-header__nav__dropdown li a:hover {
    color: #900;
  }
}

@media screen and (max-width: 768px) {
  :where(body) {
    background-size: 1000px auto;
    background-position: 50% 0;
  }

  :where(p) {
    font-size: 1.4rem;
  }

  .l-footer__pagetop {
    padding: 30px 20px;
    margin-top: 30px;
  }

  .l-footer__pagetop::after {
    left: 20px;
    width: calc(100% - 40px);
  }

  .l-footer__inner {
    padding: 60px 24px 32px;
  }

  .l-footer__logo {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    margin-bottom: 50px;
  }

  .l-footer__logo__img {
    width: 40px;
  }

  .l-footer__logo__univ {
    font-size: 10px;
  }

  .l-footer__logo__name {
    font-size: 12px;
  }

  .l-footer__logo__dept {
    font-size: 14px;
  }

  .l-footer__nav {
    margin-bottom: 32px;
  }

  .l-footer__nav__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
  }

  .l-footer__nav__item:nth-child(1),
  .l-footer__nav__item:nth-child(2) {
    grid-column: 1/3;
  }

  .l-footer__info {
    flex-direction: column;
    gap: 10px;
  }

  .l-footer__contact__title {
    font-size: 12px;
    margin-bottom: 8px;
  }

  .l-footer__contact__line {
    font-size: 11px;
  }

  .l-footer__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 24px;
    align-items: flex-start;
  }

  .l-footer__links__item {
    font-size: 12px;
  }

  .l-footer__copyright {
    text-align: center;
  }

  .l-header__nav__inner {
    height: 100%;
    flex-direction: column;
  }

  .l-pageTop {
    right: 2rem;
    bottom: 2rem;
  }

  .l-pageTop__text {
    font-size: 1.2rem;
  }

  .l-subpage__main {
    padding: 0 2rem;
    margin-top: 0;
  }

  .l-subpage__header {
    margin-bottom: 30px;
  }

  .l-subpage__header>.l-subpage__en_pagetitle {
    font-size: 4rem;
    top: -2.8rem;
  }

  .l-subpage__header .l-subpage__english-link {
    font-size: 1.1rem;
    top: -2rem;
  }

  .l-subpage__title .title-en {
    font-size: 1.8rem;
    margin-bottom: -1rem;
  }

  .l-subpage__title .l-subpage__en_pagetitle {
    font-size: 4rem;
    top: -2.8rem;
  }

  .l-subpage__title {
    font-size: 1.8rem;
    line-height: 1.3;
    margin: 0 0 2rem;
    padding-bottom: 2.5rem;
  }

  .l-subpage__breadcrumb {
    padding: 10px 20px 20px;
    margin-top: 110px;
  }

  .l-subpage__english {
    margin-top: 40px;
    padding-top: 32px;
  }

  .l-subpage__english p {
    font-size: 12px;
  }

  .l-subpage__english h2,
  .l-subpage__english h3,
  .l-subpage__english h4 {
    font-size: 16px;
    margin-bottom: 20px;
  }

  .l-subpage__article>section+section {
    margin-top: 4rem;
  }

  .c-card {
    padding: 18px;
  }

  .c-card__body {
    padding-right: 20px;
  }

  .c-card__title {
    font-size: 1.6rem;
  }

  .c-card__arrow,
  .l-subpage__main .l-subpage__article .p-events__item__arrow,
  .p-topics__card__link,
  .p-publications__card__arrow,
  .p-publications__banner__arrow {
    width: 40px;
    height: 16px;
    border-radius: 14px;
  }

  .c-card__arrow::before,
  .l-subpage__main .l-subpage__article .p-events__item__arrow::before,
  .p-topics__card__link::before,
  .p-publications__card__arrow::before,
  .p-publications__banner__arrow::before {
    width: 14px;
    height: 10px;
  }

  .p-accordion__child {
    padding: 30px 15px 30px 30px;
  }

  .p-modal__content {
    width: 90%;
  }

  .p-modal .c-fBox {
    display: block;
  }

  .p-modal .c-fBox__imgArea {
    margin: 0 auto 2.5rem;
    width: 80%;
  }

  .p-modal .c-fBox__textArea {
    width: 100%;
  }

  .p-tab__title {
    padding: 0;
  }

  .p-tab__title .p-tab__title__item {
    width: 50%;
    height: auto;
    font-size: 14px;
    padding: 8px 10px;
  }

  .u-forTb {
    display: inherit;
  }

  main.l-subpage__main article ul.link-list,
  main.l-article__main article ul.link-list {
    margin-bottom: 20px;
  }

  .l-subpage__main.p-staffpub .p-anchor__item:first-child {
    width: 30%;
  }

  .l-subpage__main .l-subpage__article .p-anchor {
    margin-bottom: 30px;
  }

  .l-subpage__main .l-subpage__article .p-anchor__list {
    width: 100%;
  }

  .l-subpage__main .l-subpage__article .p-anchor__link {
    font-size: 1.2rem;
    letter-spacing: 0;
    padding: 10px 18px 10px 0px;
  }

  .l-subpage__main .l-subpage__article .p-anchor__link::after {
    right: 1.4rem;
    width: 12px;
    height: 12px;
  }

  .p-archive {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-top: 40px;
    padding: 20px 24px;
  }

  .p-archive__title {
    width: 100%;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(79,158,168,.3);
  }

  .p-archive__divider {
    display: none;
  }

  .p-archive__list {
    align-items: flex-start;
    gap: 12px;
  }

  .p-hero {
    height: 80svh;
  }

  .p-hero__bg__img {
    object-position: 70% bottom;
  }

  .p-hero__inner {
    padding: 135px 40px 80px;
  }

  .p-hero__subtitle--small {
    font-size: 6vw;
  }

  .p-hero__title {
    font-size: 10.5vw;
  }

  .p-hero__subtitle {
    gap: 5px;
  }

  .p-hero__subtitle__en {
    font-size: 5vw;
  }

  .p-hero__subtitle__en--large {
    font-size: 5.8vw;
  }

  .p-hero__subtitle__en--italic {
    font-size: 4vw;
  }

  .p-hero__parts {
    width: 280px;
    bottom: -60px;
  }

  .p-news {
    padding: 60px 0 40px;
  }

  .p-news__inner {
    padding: 0 24px;
  }

  .p-news__title {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .p-news__list {
    margin-bottom: 20px;
  }

  .p-news__list__item {
    flex-direction: column;
    gap: 8px;
    padding: 20px 0;
  }

  .p-news__list__item__date {
    font-size: 12px;
    gap: 20px;
  }

  .p-news__list__item__date__week {
    font-size: 14px;
  }

  .p-news__list__item__text {
    font-size: 14px;
  }

  .p-topics {
    padding: 70px 0 30px;
  }

  .p-topics__parts {
    width: 180%;
    top: 1rem;
    right: -40%;
  }

  .p-topics::before {
    left: 20px;
    width: calc(100% - 40px);
  }

  .p-topics__inner {
    padding: 0 24px;
  }

  .p-topics__title {
    font-size: 18px;
    margin-bottom: 24px;
    line-height: 1.4;
  }

  .p-topics__title__en {
    display: block;
    font-size: 20px;
    margin-right: 0;
    margin-bottom: 8px;
  }

  .p-topics__tags {
    gap: 16px;
    margin-bottom: 24px;
  }

  .p-topics__content {
    gap: 12px;
  }

  .p-topics__controls {
    width: 40px;
    margin-left: -8px;
  }

  .p-topics__counter {
    flex-direction: column;
    gap: 0;
    align-items: center;
    margin-left: -5px;
  }

  .p-topics__counter__current {
    font-size: 12px;
  }

  .p-topics__counter__total {
    font-size: 12px;
  }

  .p-topics__arrows {
    flex-direction: column;
    gap: 8px;
  }

  .p-topics__arrow {
    width: 36px;
    height: 36px;
  }

  .p-topics__slider {
    margin-right: -24px;
  }

  .p-topics__card {
    padding: 16px 10px 12px;
  }

  .p-topics__card__text {
    -webkit-line-clamp: 5;
  }

  .p-topics__progress {
    margin-top: 30px;
    margin-left: 45px;
    margin-bottom: 35px;
  }

  .p-about__text-wrap {
    width: 100%;
    margin: 0 0 3rem 0;
    padding: 0;
  }

  .p-about__text {
    padding: 0;
    width: 100%;
  }

  .p-about__text__block {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.8;
    padding: 0 1.5rem 1.5rem 1.5rem;
  }

  .p-about__text__block:first-of-type {
    margin-left: -1.5rem;
    width: calc(100% + 3rem);
  }

  .p-about__text__block:last-of-type {
    transform: none;
    padding-right: 0;
    padding-left: 0;
    padding-top: 3rem;
    border-top: 1px solid #b2b2b2;
  }

  .p-about__buttons {
    align-items: flex-end;
    margin-bottom: 0;
    margin-top: -1px;
  }

  .p-about__buttons__item {
    margin-top: -1px;
  }

  .p-about__bottom {
    margin-left: -20px;
  }

  .p-publications__banner {
    padding: 80px 20px;
    width: 100%;
    margin: 0;
  }

  .p-publications__banner__link {
    padding: 25px 24px;
    gap: 12px;
  }

  .l-subpage__main .l-subpage__article .p-studentvoices__voice {
    margin-bottom: 40px;
    padding-bottom: 32px;
  }

  .l-subpage__main .l-subpage__article .p-studentvoices__body {
    font-size: 14px;
    line-height: 1.8;
  }

  .l-subpage__main .l-subpage__article .p-studentvoices__body p {
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article .p-studentvoices__body ul {
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article .p-studentvoices__body ol {
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article .p-carreerpathways__content {
    margin-bottom: 40px;
  }

  .l-subpage__main .l-subpage__article .p-carreerpathways__body {
    padding: 20px 20px;
  }

  .p-consecutiveprogram__content .img-01 {
    margin-bottom: 2rem;
  }

  .p-graduates__item:not(:first-child) {
    margin-top: 2rem;
    padding-top: .5rem;
  }

  .l-subpage__article .p-graduates__content .anchor-list {
    grid-template-columns: repeat(auto-fill, minmax(33%, 1fr));
  }

  .p-article-nav {
    padding: 10px 20px;
    margin-top: 90px;
  }

  .p-article-nav__breadcrumb {
    padding-bottom: 10px;
  }

  .p-article-nav__pager {
    padding: 10px 0;
  }

  .p-article-nav__pager__link {
    gap: 6px;
  }

  .p-article-nav__pager__arrow {
    width: 30px;
    height: 12px;
    border-radius: 8px;
  }

  .p-article-nav__pager__arrow::before {
    width: 8px;
    height: 6px;
  }

  .p-article-nav__pager__text {
    font-size: 11px;
  }

  .l-subpage__main .p-article {
    padding: 0;
  }

  .l-subpage__main .p-article__header {
    margin-bottom: 24px;
  }

  .l-subpage__main .p-article__category {
    font-size: 18px;
    margin-bottom: 12px;
  }

  .l-subpage__main .p-article__category__en {
    font-size: 20px;
  }

  .l-subpage__main .p-article__title {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 12px;
  }

  .l-subpage__main .p-article__date {
    gap: 10px;
  }

  .l-subpage__main .p-article__eyecatch {
    margin-bottom: 32px;
  }

  .l-subpage__main .p-article__body {
    font-size: 14px;
    line-height: 1.8;
  }

  .l-subpage__main .p-article__body h2 {
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: 24px;
  }

  .l-subpage__main .p-article__body h3 {
    font-size: 18px;
    margin-top: 36px;
    margin-bottom: 20px;
  }

  .l-subpage__main .p-article__body h4 {
    font-size: 16px;
    margin-top: 32px;
    margin-bottom: 16px;
  }

  .l-subpage__main .p-article__body h5,
  .l-subpage__main .p-article__body h6 {
    font-size: 15px;
    margin-top: 24px;
    margin-bottom: 12px;
  }

  .l-subpage__main .p-article__body p {
    margin-bottom: 20px;
  }

  .l-subpage__main .p-article__body hr {
    margin: 32px 0;
  }

  .l-subpage__main .p-article__body ul {
    margin-bottom: 20px;
  }

  .l-subpage__main .p-article__body ol {
    margin-bottom: 20px;
  }

  .l-subpage__main .p-article__body blockquote {
    margin: 24px 0;
    padding: 20px 24px;
  }

  .l-subpage__main .p-article__body dl {
    margin-bottom: 20px;
  }

  .l-subpage__main .p-article__body table {
    font-size: 12px;
    margin: 24px 0;
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .l-subpage__main .p-article__body th,
  .l-subpage__main .p-article__body td {
    padding: 12px 16px;
  }

  .l-subpage__main .p-article__tags {
    margin-top: 32pxg;
    gap: 8px;
  }

  .l-subpage__main .l-subpage__article {
    font-size: 14px;
    line-height: 1.8;
  }

  .l-subpage__main .l-subpage__article h2 {
    font-size: 20px;
  }

  .l-subpage__main .l-subpage__article h3 {
    font-size: 18px;
    margin-top: 36px;
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article h4 {
    font-size: 16px;
    margin-top: 32px;
    margin-bottom: 16px;
  }

  .l-subpage__main .l-subpage__article h5,
  .l-subpage__main .l-subpage__article h6 {
    font-size: 15px;
    margin-top: 24px;
    margin-bottom: 12px;
  }

  .l-subpage__main .l-subpage__article p {
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article hr {
    margin: 32px 0;
  }

  .l-subpage__main .l-subpage__article ul {
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article dl {
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article ol {
    margin-bottom: 20px;
  }

  .l-subpage__main .l-subpage__article blockquote {
    margin: 24px 0;
    padding: 20px 24px;
  }

  .l-subpage__main .l-subpage__article table {
    margin: 20px 0;
  }

  .l-subpage__main .l-subpage__article table th,
  .l-subpage__main .l-subpage__article table td {
    padding: 10px 12px;
    font-size: 13px;
  }

  .p-subpage-index__contents__list {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .p-subpage-index__contents__list {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .p-faculty-list {
    padding: 10px 0 0;
  }

  .p-faculty-list__area {
    flex-direction: column;
    gap: 20px;
    padding: 18px;
    margin-bottom: 0;
    margin: 2rem 0;
  }

  .p-faculty-list__area-title {
    width: 50px;
    left: -1.5rem;
    top: 16px;
  }

  .p-faculty-list__grid {
    margin-left: 0;
    gap: 15px;
    justify-content: flex-start;
  }

  .p-faculty-list__card {
    width: calc(50% - 7.5px);
    background: #fff;
    padding-bottom: 2.5rem;
  }

  .p-faculty-list__name-ja {
    font-size: 1.2rem;
    margin-bottom: 4px;
  }

  .p-faculty-list__name-en {
    font-size: 1rem;
    margin-left: 3px;
  }

  .p-faculty-list__specialty {
    font-size: 1.1rem;
    margin-bottom: 8px;
    padding: 0 10px 0;
    line-height: 1.3;
  }

  .p-faculty-list__card-arrow {
    width: 40px;
    height: 16px;
    border-radius: 14px;
  }

  .p-faculty-list__card-arrow::before {
    width: 14px;
    height: 10px;
  }

  .l-subpage__main.p-faculty-detail .p-faculty-detail__page-title {
    font-size: 2rem;
    margin-bottom: 30px;
  }

  .l-subpage__main.p-faculty-detail .p-faculty-detail__page-title__en {
    font-size: 2rem;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__header {
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 25px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__photo {
    width: 125px;
    height: 125px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__area {
    padding: 4px 12px;
    margin-bottom: 10px;
    font-size: 1.1rem;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__name {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__name__ja {
    font-size: 2.4rem;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__specialty {
    font-size: 1.2rem;
    line-height: 1.3;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro-en {
    font-size: 1.2rem;
    margin-bottom: 24px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__intro-en p {
    line-height: 1.4;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__link {
    margin-bottom: 40px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__text {
    font-size: 1.2rem;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__arrow {
    width: 40px;
    height: 16px;
    border-radius: 14px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__link__arrow::before {
    width: 14px;
    height: 10px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects {
    margin-bottom: 40px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__title {
    font-size: 1.6rem;
    margin-bottom: 16px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__title__en {
    font-size: 1.6rem;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__subjects__list li {
    font-size: 1.4rem;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__back {
    padding-top: 10px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__arrow {
    width: 40px;
    height: 16px;
    border-radius: 14px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__arrow::before {
    width: 14px;
    height: 10px;
  }

  .l-subpage__main .p-faculty-detail__content .p-faculty-detail__back__text {
    font-size: 1.2rem;
  }

  .l-subpage__main .p-publish__dl-item {
    flex-direction: column;
    gap: 0px;
  }

  .l-subpage__main .p-publish__dl-item:not(:first-child) {
    margin-top: 20px;
  }

  .l-subpage__main .p-publish__dl-item .title {
    width: 100%;
    margin-bottom: 0;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__intro {
    margin-bottom: 32px;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__item {
    padding: 3rem 1rem 1rem;
    border-radius: .5rem;
  }

  /* .l-subpage__main .l-subpage__article a.p-staffpub__item .p-staffpub__item__title::after {
    right: 1.4rem;
    width: 12px;
    height: 12px;
  } */

  .l-subpage__main .l-subpage__article .p-staffpub__item__img {
    margin-bottom: 2rem;
    height: 40vw;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__item__name {
    font-size: 1.2rem;
    margin-bottom: .5rem;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__item__title {
    font-size: 1.2rem;
    margin-bottom: .8rem;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__item__date {
    font-size: 1.1rem;
    margin-bottom: 0;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__item__details {
    font-size: 1.1rem;
    margin-top: 5px;
  }

  .l-subpage__main .l-subpage__article .p-staffpub__item__details br {
    display: none;
  }

  .p-apply .l-subpage__article .p-apply-list li {
    gap: 5px;
    flex-direction: column;
  }

  .p-apply .l-subpage__article .p-faq__question {
    gap: 10px;
  }

  .p-apply .l-subpage__article .p-faq__question__num {
    font-size: 2rem;
    margin-top: -0.1rem;
  }

  .p-apply .l-subpage__article .p-faq__answer {
    padding-left: 42px;
    padding-bottom: 20px;
  }

  .p-apply .l-subpage__article .p-faq__answer__num {
    font-size: 2rem;
  }

  .p-pagination {
    gap: 8px;
    margin-top: 40px;
  }

  .p-pagination__current,
  .p-pagination__link {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  .l-subpage__main .l-subpage__article .p-events__intro {
    margin-bottom: 30px;
  }

  .l-subpage__main .l-subpage__article .p-events__intro p {
    font-size: 1.4rem;
  }

  .l-subpage__main .l-subpage__article .p-events__grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 669px) {
  .p-chapter__inner .c-linkBtn {
    width: 100%;
  }

  .p-modal__content__inner {
    padding: 3rem 2.5rem;
  }

  .p-tab__title .p-tab__title__item {
    padding-left: 4px;
    font-size: 10px;
  }

  .u-forPc {
    display: none;
  }

  .u-forSp {
    display: inherit;
  }

  .sp {
    display: inherit;
  }

  .p-topics__slider .splide__slide {
    width: 80%;
  }

  .p-about__diagram {
    display: flex;
    flex-direction: column;
    gap: 6rem;
    min-height: auto;
    margin-bottom: 4rem;
  }

  .p-about__diagram__center {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 400px;
    order: 3;
    margin: -6rem auto 0;
  }

  .p-about__diagram__item--life .p-about__diagram__item__content--horizontal {
    margin-bottom: -5%;
  }

  .p-about__diagram__item--life .p-about__diagram__item__desc {
    max-width: 50%;
    margin-top: -2%;
    width: 50%;
  }

  .p-about__diagram__item--representation {
    grid-template-columns: 1fr auto;
    margin-top: -3rem;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__title-img {
    margin-top: -40px;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__content--vertical {
    justify-self: start;
  }

  .p-about__diagram__item--representation .p-about__diagram__item__desc {
    width: 92%;
    margin-top: -30%;
    justify-self: end;
  }

  .p-about__diagram__item--public {
    order: 4;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: "A B" "C .";
    gap: 8px 12px;
  }

  .p-about__diagram__item--public .p-about__diagram__item__title-img {
    width: 90%;
    max-width: none;
    margin-top: -15%;
  }

  .p-about__diagram__item--public .p-about__diagram__item__desc {
    width: 80%;
    margin-top: -15%;
    justify-self: start;
  }

  .p-about__diagram__item--coexistence {
    order: 5;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto;
    grid-template-areas: "B C A";
    gap: 0 12px;
    margin-top: -20%;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__title-img {
    width: 100px;
    max-width: 100px;
    margin-top: -30%;
    align-self: start;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__content--horizontal {
    justify-self: start;
    align-self: center;
  }

  .p-about__diagram__item--coexistence .p-about__diagram__item__desc {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    justify-self: center;
    align-self: end;
    padding-top: 40%;
  }

  .p-publications {
    padding: 60px 0 0;
  }

  .p-publications::before {
    left: 20px;
    width: calc(100% - 40px);
  }

  .p-publications__inner {
    padding: 0 20px;
  }

  .p-publications__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .p-publications__card {
    flex-direction: column;
    gap: 0;
    border-bottom: 1px solid #000;
  }

  .p-publications__card:last-child {
    border-bottom: none;
    padding-bottom: 40px;
  }

  .p-publications__card:first-child {
    padding-top: 0;
    padding-bottom: 3rem;
  }

  .p-publications__card__img {
    width: 45%;
    max-width: 200px;
    margin: auto auto 30px;
  }

  .p-publications__card__label {
    margin-bottom: 6px;
  }

  .p-publications__card__title {
    margin-bottom: 12px;
  }

  .p-publications__card__text {
    font-size: 13px;
    margin-bottom: 20px;
  }

  .p-publications__card__link {
    gap: 10px;
  }

  .p-publications__card__link__text {
    font-size: 13px;
  }
}

@media (any-hover: hover) {
  :where(a):hover {
    color: #313131;
  }

  .l-header__logo:hover {
    opacity: .8;
  }

  .l-header__nav__link:hover {
    color: #bb0f2e;
  }

  .l-pageTop:hover {
    opacity: .7;
  }

  .c-btn--red:hover {
    opacity: .9;
    transform: translateY(-1px);
  }

  .c-btn--white:hover {
    background-color: #0d0d0d;
    color: #fff;
  }

  .c-btn--outline:hover {
    background-color: #0d0d0d;
    color: #fff;
  }

  .c-link:hover {
    opacity: .7;
  }

  .p-topics__arrow:hover {
    background-color: #bb0f2e;
    border-color: #bb0f2e;
  }

  .p-topics__arrow:hover .p-topics__arrow__icon {
    filter: brightness(0) invert(1);
  }
}

/* Heart Core デフォルト仕様のCSS+ローカル内CSS */

.l-subpage__main .l-subpage__article .p-staffpub__item .js-cat {
  display: inline-flex;
  column-gap: 6px;
  opacity: 0;
  visibility: hidden;
  padding: 0;
  margin: 0;
  background: rgba(0,0,0,.5);
  padding: .5rem 1rem .4rem;
  position: absolute;
  left: 0rem;
  top: 0;
  color: #fff;
  line-height: 1;
  font-size: 1.2rem;
  font-weight: 700;
  transition: visibility ease .1s, opacity ease .1s;
}

.l-subpage__main .l-subpage__article .p-staffpub__item .js-cat.is-ready {
  visibility: visible;
  opacity: 1;
}

.l-subpage__main .l-subpage__article a.p-staffpub__item {
  display: block;
  text-decoration: none;
  color: #0d0d0d;
}

.home .p-publications .p-publications__card.u-blank::after {
    content: none
}

.p-topics__slider .splide__list {
  counter-reset: number;
}

.p-topics__slider .splide__slide .p-topics__card .p-topics__card__num::before {
  display: inline-block;
  counter-increment: number;
  content: "0"counter(number);
}

.p-events__grid p.no_item {
  white-space: nowrap;
}

.p-pagination ol {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.p-pagination ol li {
  width: 40px;
  height: 40px;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0);
  transition: all .3s ease;
}

.p-pagination ol li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 16px;
}

.p-pagination ol li:not(.p-pagination__current) a {
  border: 1px solid #ddd;
  color: #0d0d0d;
}

.p-pagination ol li:not(.p-pagination__current) a:hover {
  color: #fff;
  background-color: #bb0f2e;
  border-color: #bb0f2e;
}

.p-pagination ol li.p-pagination__current a {
  font-weight: 700;
  border-color: #0d0d0d;
  color: #FFF;
  background-color: #0d0d0d;
  pointer-events: none;
}

.p-events__grid a[target=_blank],
.p-events__grid a.is-external,
.p-events__grid a[href$=".pdf"],
.p-events__grid a[href$=".doc"] {
  padding-right: 0;
}

.p-events__grid a[target=_blank]::after,
.p-events__grid a.is-external::after,
.p-events__grid a[href$=".pdf"]::after,
.p-events__grid a[href$=".doc"]::after {
  content: none;
}

.p-staffpub__grid a[target=_blank]::after,
.p-staffpub__grid a.is-external::after,
.p-staffpub__grid a[href$=".pdf"]::after,
.p-staffpub__grid a[href$=".doc"]::after {
  content: none;
}


@media screen and (max-width: 768px) {
  .p-pagination ol {
    gap: 8px;
  }

  .p-pagination ol li {
    width: 32px;
    height: 32px;
  }

  .p-pagination ol li a {
    font-size: 14px;
  }
}

/* 最新情報の記事ない時用↓ */

.l-subpage.article-news .l-subpage__main .l-subpage__article .article-none__text {
  text-align: center;
}

.l-subpage.article-news .l-subpage__main .l-subpage__article .button-return {
  width: min(100%, 28rem);
  height: 6.4rem;
  margin-top: 9rem;
  margin-inline: auto;
}

.l-subpage.article-news .l-subpage__main .l-subpage__article .button-return a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #bb0f2e;
  border: solid 1px #bb0f2e;
  border-radius: 5rem;
  color: #FFF;
  text-decoration: none;
}

.l-subpage.article-news .l-subpage__main .l-subpage__article .button-return a:hover {
  background-color: #fff;
  color: #bb0f2e;
}

.l-footer__links a[target=_blank]::after,
.l-footer__links a.is-external::after{
  content: none;
}

@media screen and (max-width: 669px) {
  .l-subpage.article-news .l-subpage__main .l-subpage__article .button-return {
    margin-top: 6rem;
    height: 4.8rem;
  }
}
/* 最新情報の記事ない時用↑ */
