@charset "UTF-8";
/*//////////////////////////////////

COMMON
----------
メインCSS

//////////////////////////////////*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&family=Noto+Serif+JP:wght@400;600&display=swap");
*, ::after,
::before {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  margin: 0;
  text-align: left;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

p:last-child {
  margin-bottom: 0;
}

abbr[data-original-title],
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

dl,
ol,
ul {
  margin-top: 0;
  margin-bottom: 0;
}

ol ol,
ol ul,
ul ol,
ul ul {
  margin-bottom: 0;
}

li {
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: 700;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  text-decoration: underline;
  background-color: transparent;
}

a:hover {
  text-decoration: none;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

code,
kbd,
pre,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
  cursor: pointer;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

/*//////////////////////////////////

COMMON
----------
初期設定

変数の設定など

//////////////////////////////////*/
/* フォント
----------------------------------*/
/* 基本設定
----------------------------------*/
html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  font-weight: 400;
  line-height: 1.6em;
  color: rgb(36, 35, 35);
}

body {
  width: 100%;
  height: 100%;
  padding: 0;
  font-size: 0.875rem;
  background: rgb(249, 248, 248);
}

/* 基本リンク設定 */
a {
  color: rgb(36, 35, 35);
  text-decoration: underline;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}
a:active {
  opacity: 0.95;
}

/* テキスト位置 */
.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

/* Clearfix */
/*//////////////////////////////////

COMMON
----------
headline,
text,
hr

見出し、テキスト、水平線

//////////////////////////////////*/
/* 見出し
----------------------------------*/
.heading {
  width: 100%;
  margin-bottom: 1.6rem;
}
.heading.underline {
  position: relative;
  padding-bottom: 0.5em;
  color: rgb(0, 9, 22);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-bottom: solid 1px rgba(0, 9, 22, 0.15);
}
.heading.underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1.5px;
  display: block;
  width: 80px;
  height: 3px;
  background: rgb(178, 16, 37);
}
.heading.underline.center {
  text-align: center;
}
.heading.underline.center::after {
  left: calc(50% - 40px);
}
.heading.sideline {
  margin-bottom: 2rem;
  padding-left: 0.6rem;
  color: rgb(0, 9, 22);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  border-left: double 3px rgb(178, 16, 37);
}
.heading.skew {
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
  overflow: hidden;
}
.heading.skew::before, .heading.skew::after {
  content: "";
  display: block;
  width: 100%;
  height: 1.6rem;
  background: rgb(178, 16, 37);
  transform: skewX(-3deg);
}
.heading.skew::before {
  margin-right: -1px;
  margin-left: -1rem;
}
.heading.skew::after {
  margin-left: -1px;
  margin-right: -1rem;
}
.heading.skew > span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 320px;
  min-width: 15rem;
  color: rgb(178, 16, 37);
  font-size: 1rem;
  line-height: 1em;
  letter-spacing: 0.1rem;
  white-space: nowrap;
  background: rgb(255, 255, 255);
}
.heading.skew > span::before, .heading.skew > span::after {
  content: "";
  position: relative;
  z-index: 1;
  display: block;
  width: 3px;
  height: 2.4rem;
  background: rgb(147, 8, 8);
  transform: skewX(-3deg);
}
.heading.signboard {
  padding: 0.8rem;
  margin-block: 2.4rem;
  text-align: center;
  color: rgb(249, 248, 248);
  letter-spacing: 0.1rem;
  background-image: repeating-linear-gradient(-30deg, transparent, transparent 1.5px, rgba(249, 248, 248, 0.15) 1.5px, rgba(249, 248, 248, 0.15) 3px);
  background-color: rgb(178, 16, 37);
}
.heading.signboard span {
  display: block;
  padding: 0.8rem 1.6rem;
  border-left: solid 3px rgb(249, 248, 248);
  border-right: solid 3px rgb(249, 248, 248);
}
.heading.sideline-skew {
  position: relative;
  display: inline-block;
  width: auto;
  margin-bottom: 0.6rem;
  padding: 0 0 0.1rem 0.8rem;
  font-size: 0.875rem;
  line-height: 1.6em;
}
.heading.sideline-skew::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 2px;
  height: 100%;
  background-color: rgb(178, 16, 37);
  transform: skewX(-3deg);
}
.heading.line-mark {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 1em;
  margin-top: 2em;
  font-size: 0.875rem;
  font-weight: normal;
}
.heading.line-mark::before {
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 1px;
  margin-top: 1px;
  background-color: rgb(178, 16, 37);
}
.heading.catch {
  font-size: 1.5rem;
  line-height: 1.6em;
  letter-spacing: 0.1em;
}
.heading.red {
  color: rgb(178, 16, 37);
}

.serif {
  font-family: "Noto Serif JP", serif;
}

/* テキスト
----------------------------------*/
p {
  margin-bottom: 0.5em;
  letter-spacing: 0.08em;
  line-height: 1.6em;
}
p:last-child {
  margin-bottom: 0;
}

.ellipsis::before {
  content: "...";
}

strong {
  display: inline;
  padding: 0 0.2em 0.06em;
  margin: 0 0.16em;
  color: rgb(249, 248, 248);
  font-weight: 500;
  background: rgb(178, 16, 37);
}

.url {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
}

/* リスト
----------------------------------*/
.bull {
  padding: 0;
  margin: 0.8rem 0;
}
.bull li {
  padding-left: 1em;
  margin-bottom: 0.5rem;
}
.bull li::before {
  content: "・";
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}
.bull.em {
  letter-spacing: 0.1em;
  font-weight: 700;
}

.withBracket {
  list-style-position: inside;
  counter-reset: withBracket_count;
  padding: 0 0 0 1.75em;
}
.withBracket > li::before {
  counter-increment: withBracket_count;
  content: "(" counter(withBracket_count) ")";
  display: inline-block;
  margin-right: 0.5em;
  margin-left: -1.75em;
}

.withCircle {
  list-style-position: inside;
  padding: 0 0 0 1.5em;
}
.withCircle > li::before {
  display: inline-block;
  margin-right: 0.5em;
  margin-left: -1.5em;
}
.withCircle > li:nth-child(n+1)::before {
  content: "①";
}
.withCircle > li:nth-child(n+2)::before {
  content: "②";
}
.withCircle > li:nth-child(n+3)::before {
  content: "③";
}
.withCircle > li:nth-child(n+4)::before {
  content: "④";
}
.withCircle > li:nth-child(n+5)::before {
  content: "⑤";
}
.withCircle > li:nth-child(n+6)::before {
  content: "⑥";
}
.withCircle > li:nth-child(n+7)::before {
  content: "⑦";
}
.withCircle > li:nth-child(n+8)::before {
  content: "⑧";
}
.withCircle > li:nth-child(n+9)::before {
  content: "⑨";
}
.withCircle > li:nth-child(n+10)::before {
  content: "⑩";
}
.withCircle > li:nth-child(n+11)::before {
  content: "⑰";
}
.withCircle > li:nth-child(n+12)::before {
  content: "⑱";
}
.withCircle > li:nth-child(n+13)::before {
  content: "⑲";
}
.withCircle > li:nth-child(n+14)::before {
  content: "⑳";
}
.withCircle > li:nth-child(n+15)::before {
  content: "⑴";
}
.withCircle > li:nth-child(n+16)::before {
  content: "⑵";
}
.withCircle > li:nth-child(n+17)::before {
  content: "⑶";
}
.withCircle > li:nth-child(n+18)::before {
  content: "⑷";
}
.withCircle > li:nth-child(n+19)::before {
  content: "⑸";
}
.withCircle > li:nth-child(n+20)::before {
  content: "⑹";
}

.withArw {
  padding: 0;
}
.withArw > li {
  padding-left: calc(1em + 3px);
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.6em;
  letter-spacing: 0.1em;
}
.withArw > li::before {
  content: url("../img/arw-circle-letters.svg");
  position: relative;
  top: 2px;
  display: inline-block;
  width: 1em;
  height: 1.8em;
  margin-right: 3px;
  margin-left: calc(-1em - 3px);
  font-size: 0.875rem;
  line-height: 1.6em;
}

ul.note,
ol.note {
  padding: 0;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  font-size: 0.75rem;
  line-height: 1.4em;
  color: rgb(142, 142, 142);
}
ul.note > li,
ol.note > li {
  margin-bottom: 0.5rem;
}
ul.note > li sup,
ol.note > li sup {
  top: 0;
  margin-right: 0.6em;
  font-size: 90%;
}

ol + ul.note, ul + ul.note {
  margin-top: 2.4em;
}

.faqList {
  margin-bottom: 3.2rem;
}
.faqList .q, .faqList .a {
  position: relative;
  padding-left: 2.4rem;
}
.faqList .q::before, .faqList .a::before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 1.8rem;
  text-align: center;
  font-weight: 500;
}
.faqList .q {
  margin-bottom: 0.6rem;
}
.faqList .q::before {
  content: "Q";
  color: rgb(249, 248, 248);
  background: rgb(178, 16, 37);
}
.faqList .a {
  margin-bottom: 1.6rem;
}
.faqList .a::before {
  content: "A";
  color: rgb(178, 16, 37);
  background: rgb(249, 248, 248);
  border: solid 1px rgb(178, 16, 37);
}

.sitemapList, .relatedLinkList {
  width: 100%;
  margin-bottom: 2.4rem;
}
.sitemapList.linkWithNote .note, .relatedLinkList.linkWithNote .note {
  line-height: 1.6em;
}
.sitemapList:first-child, .relatedLinkList:first-child {
  padding-top: 0;
  border-top: none;
}
.sitemapList > li, .relatedLinkList > li {
  width: 100%;
  margin-bottom: 1.6rem;
}
.sitemapList > li li, .relatedLinkList > li li {
  margin-bottom: 0.8rem;
}
.sitemapList .child, .relatedLinkList .child {
  padding: 0.6rem 0 0 1.2rem;
}
.sitemapList .child.major .note, .relatedLinkList .child.major .note {
  padding-left: 20px;
}
.sitemapList .child.major .note br, .relatedLinkList .child.major .note br {
  display: none;
}
.sitemapList .child.col, .relatedLinkList .child.col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 1.2rem 0 1.2rem 1.2rem;
  padding: 0.8rem 0.8rem 0.4rem;
  background: rgb(239, 236, 237);
  border-radius: 6px;
}
.sitemapList .child.col li, .relatedLinkList .child.col li {
  margin-bottom: 0.4rem;
  font-size: 0.75rem;
}
.sitemapList .child.col li a, .relatedLinkList .child.col li a {
  display: block;
  padding: 2px 4px;
}
.sitemapList li.dept > .child > li, .relatedLinkList li.dept > .child > li {
  padding-left: calc(1.2rem - 5px);
  margin-top: 0.6rem;
  margin-bottom: 1.8rem;
  border-left-style: solid;
  border-left-width: 5px;
}
.sitemapList li.dept > .child > .hss_cc, .relatedLinkList li.dept > .child > .hss_cc {
  border-left-color: rgb(254, 182, 36);
}
.sitemapList li.dept > .child > .hss_s, .relatedLinkList li.dept > .child > .hss_s {
  border-left-color: rgb(249, 209, 0);
}
.sitemapList li.dept > .child > .hss_lcna, .relatedLinkList li.dept > .child > .hss_lcna {
  border-left-color: rgb(249, 227, 97);
}
.sitemapList li.dept > .child > .hg, .relatedLinkList li.dept > .child > .hg {
  border-left-color: rgb(25, 151, 92);
}
.sitemapList li.dept > .child > .jll, .relatedLinkList li.dept > .child > .jll {
  border-left-color: rgb(111, 92, 178);
}
.sitemapList li.dept > .child > .psych, .relatedLinkList li.dept > .child > .psych {
  border-left-color: rgb(45, 164, 216);
}

.sitemapList {
  padding: 2.4rem 0 0;
  border-top: solid 1px rgb(213, 213, 213);
}

.relatedLinkList {
  padding: 0;
}
.relatedLinkList:last-child {
  margin-bottom: 0;
}
.relatedLinkList .url {
  color: rgb(106, 106, 106);
}

.thesis .thesisList > li {
  margin-bottom: 0;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.thesis .thesisList > li:nth-child(odd) {
  background-color: rgba(239, 236, 237, 0.8);
}

/* 水平線
----------------------------------*/
.hr {
  display: flex;
  width: 100%;
  height: 12px;
  padding-right: 1rem;
  padding-left: 1rem;
  margin-top: 3.6rem;
  margin-bottom: 3.6rem;
  background: url("../img/ico-aidai-tri.svg") center center/12px 12px no-repeat;
}
.hr::before, .hr::after {
  content: "";
  display: block;
  width: calc(50% - 0.6em);
  height: 1px;
  margin-top: 5.5px;
  background: rgb(178, 16, 37);
  border-radius: 1px;
}
.hr::before {
  margin-right: 0.6em;
}
.hr::after {
  margin-left: 0.6em;
}
.hr hr {
  display: none;
}

/* コラム枠
----------------------------------*/
.columnBox {
  padding: 1.6rem;
  background: rgb(239, 236, 237);
  border-radius: 5px;
}

/* テーブル
----------------------------------*/
.table {
  width: 100%;
}
.table tr:nth-child(2n) {
  background: rgb(239, 236, 237);
  border-top: solid 1px rgb(232, 229, 226);
  border-bottom: solid 1px rgb(232, 229, 226);
}
.table tr th, .table tr td {
  padding: 6px;
}

@media only screen and (max-width: 768px) {
  .table tr {
    display: flex;
    flex-direction: column;
    padding: 1.6rem 0;
  }
}
/*//////////////////////////////////

COMMON
----------
link,
button,
banner,
icon

各種リンク、矢印やリンク形式などのアイコン、
ボタン、バナーの設定

//////////////////////////////////*/
/* 空リンクを表示オフ
----------------------------------*/
[href="#"],
[href^="##"] {
  pointer-events: none !important;
  opacity: 0.2 !important;
}

/* BUBBLE ここから
----------------------------------

// 写真付き学科・コースメニュー
.deptMenu {
  &.withPhoto {
    .hg, .jll {
      position: relative;

      &::before,
      &::after {
        position: absolute;
        z-index: 2;

        display: block;
      }
      &::before {
        content: "2021年4月新設";
        top: -8px;
        left: 6px;

        width: 100px;
        padding: 4px 1em;

        text-align: center;
        color: $pureWhite;
        font-size: .625rem;
        line-height: 1em;
        letter-spacing: .08em;

        background: $lt-deepRed;
        border-radius: 3px;
        box-shadow: 0 0 3px 0 rgba($charcoalGray, .5);
      }
      &::after {
        content: "";
        top: 10px;
        left: 54px;

        width: 0;
        height: 0;

        line-height: 0;

        border: solid 4px transparent;
        border-top-color: $lt-deepRed;
        border-top-width: 8px;
      }
    }
  }
}

// トップページの学科・コース紹介
.deptList {
  .hg, .jll {
    .heading {
      .title {
        position: relative;

        &::before,
        &::after {
          position: absolute;
          z-index: 2;

          display: block;
        }
        &::before {
          content: "2021年4月新設";
          top: -12px;
          left: calc(50% - 60px);

          width: 120px;
          padding: 4px 1em;

          text-align: center;
          color: $pureWhite;
          font-size: .75rem;
          font-weight: 500;
          line-height: 1em;
          letter-spacing: .08em;

          background: $lt-deepRed;
          border-radius: 3px;
          box-shadow: 0 0 3px 0 rgba($charcoalGray, .5);
        }
        &::after {
          content: "";
          top: 8px;
          left: calc(50% - 4px);

          width: 0;
          height: 0;

          line-height: 0;

          border: solid 4px transparent;
          border-top-color: $lt-deepRed;
          border-top-width: 8px;
        }
      }
    }
  }
}


// 学科・コース・専攻ページの、学科紹介
#summaries {
  .hg, .jll {
    .headingBox > .heading {
      .title {
        position: relative;

        &::before,
        &::after {
          position: absolute;
          z-index: 2;

          display: block;
        }
        &::before {
          content: "2021年4月新設";
          top: -40px;
          left: 0;

          width: 120px;
          padding: 4px 1em;

          text-align: center;
          color: $pureWhite;
          font-size: .75rem;
          font-weight: 500;
          line-height: 1em;
          letter-spacing: .08em;

          background: $lt-deepRed;
          border-radius: 3px;
          box-shadow: 0 0 3px 0 rgba($charcoalGray, .5);
        }
        &::after {
          content: "";
          top: -20px;
          left: calc(60px - 4px);

          width: 0;
          height: 0;

          line-height: 0;

          border: solid 4px transparent;
          border-top-color: $lt-deepRed;
          border-top-width: 8px;
        }
      }
    }
  }
}



// モバイル表示
@media only screen and (max-width: 1015px){
  // メニュー内の学科・コースメニュー
  .accordion {
    &.open {
      .deptMenu {
        > li {
          &.hg, &.jll {
            > a {
              &.dept_bnr-text {
                &::after {
                  content: "2021年4月新設";
                  position: relative !important;
                  top: -1px !important;
                  right: auto !important;

                  display: inline-block;
                  width: 100px;
                  padding: 4px 1em;
                  margin: 0 !important;

                  text-align: center;
                  text-decoration: none !important;
                  color: $pureWhite;
                  font-size: .625rem;
                  line-height: 1em;
                  letter-spacing: .08em;

                  background: $lt-deepRed;
                  background-image: none !important;
                  border-radius: 3px;
                }
              }
            }
          }
        }
      }
    }
  }

  #department.page.top-level {
    #summaries {
      .summary {
        &.hg, &.jll {
          .headingBox {
            .heading {
              padding-top: 4rem;
            }
          }
        }
      }
    }
  }



}

----------------------------------
BUBBLE ここまで */
/* ICON
----------------------------------*/
.arw-circle {
  position: relative;
  top: 5px;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 4px;
  background-color: rgb(178, 16, 37);
  background-image: url("../img/arw-circle-white.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 10px;
}
.arw-circle.dept-hss_cc {
  background-color: rgb(254, 182, 36);
  background-image: url("../img/arw-circle-black.svg");
}
.arw-circle.dept-hss_s {
  background-color: rgb(249, 209, 0);
  background-image: url("../img/arw-circle-black.svg");
}
.arw-circle.dept-hss_lcna {
  background-color: rgb(249, 227, 97);
  background-image: url("../img/arw-circle-black.svg");
}
.arw-circle.dept-hg {
  background-color: rgb(25, 151, 92);
}
.arw-circle.dept-jll {
  background-color: rgb(111, 92, 178);
}
.arw-circle.dept-psych {
  background-color: rgb(45, 164, 216);
}
.arw-circle.black {
  background-color: rgb(0, 9, 22);
}
.arw-circle.white {
  background-color: rgb(249, 248, 248);
  background-image: url("../img/arw-circle-letters.svg");
}
.arw-circle.top {
  margin-right: 0;
  margin-left: 4px;
  transform: rotateZ(-90deg);
}
.arw-circle.bottom {
  margin-right: 0;
  margin-left: 4px;
  transform: rotateZ(90deg);
}
.arw-circle.left {
  transform: rotateZ(180deg);
}

.arw {
  position: relative;
  top: 5px;
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url("../img/arw-circle-letters.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 10px;
}
.arw.dept-hss_cc {
  background-image: url("../img/arw-circle-dept-hss_cc.svg");
}
.arw.dept-hss_s {
  background-image: url("../img/arw-circle-dept-hss_s.svg");
}
.arw.dept-hss_lcna {
  background-image: url("../img/arw-circle-dept-hss_lcna.svg");
}
.arw.dept-hg {
  background-image: url("../img/arw-circle-dept-hg.svg");
}
.arw.dept-jll {
  background-image: url("../img/arw-circle-dept-jll.svg");
}
.arw.dept-psych {
  background-image: url("../img/arw-circle-dept-psych.svg");
}
.arw.black {
  background-image: url("../img/arw-circle-black.svg");
}
.arw.white {
  background-image: url("../img/arw-circle-white.svg");
}

.arw-tri {
  position: relative;
  top: -2px;
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  background-image: url("../img/arw-tri-red.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.arw-tri.black {
  background-image: url("../img/arw-tri-black.svg");
}
.arw-tri.white {
  background-image: url("../img/arw-tri-white.svg");
}

.canZoom {
  position: relative;
  display: block;
  line-height: 0;
}
.canZoom::after {
  content: "";
  position: absolute;
  right: 4px;
  bottom: 4px;
  display: block;
  width: 18px;
  height: 18px;
  background: url(../img/ico-zoom.svg) center center/contain no-repeat;
}

.linkWithNote {
  display: inline-block;
  vertical-align: top;
}
.linkWithNote .note {
  display: block;
  margin-top: 0.2em;
  margin-bottom: 0.4em;
  padding-left: 24px;
  font-size: 0.8em;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.05em;
}

.button::after,
.banner::after,
a[href$=".pdf"]::after,
a[target=_blank]::after {
  content: "";
  position: relative;
  display: inline-block;
  margin-right: 4px;
  margin-bottom: -1px;
  margin-left: 4px;
  vertical-align: middle;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

.button::after,
.banner::after,
.button[href^="#"]::after {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-image: url("../img/arw-circle-white.svg");
}

.button[href^="#"]::after {
  transform: rotateZ(90deg);
}

a[href$=".pdf"]::after {
  top: -2px;
  width: 13px;
  height: 16px;
  background-image: url("../img/ico-pdf-black.svg");
}

a[target=_blank]::after {
  top: -2px;
  width: 10px;
  height: 10px;
  background: url("../img/ico-blank-black.svg");
}
.image-banner a[target=_blank]::after {
  display: none;
}

a[href^="#"]::after {
  top: -2px;
  width: 13px;
  height: 16px;
  background-image: url("../img/ico-anchor-black.svg");
}

.linkBox {
  display: flex;
  align-self: center;
  justify-content: center;
  width: 100%;
  margin: 1.6rem auto;
}
.linkBox a {
  margin: 0 0 0 2rem;
}
.linkBox a:first-child {
  margin-left: 0;
}
.linkBox + .bannarBox,
.linkBox + .buttonBox {
  margin-top: -0.8rem;
}

main .linkBox {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}
main .linkBox + .bannarBox,
main .linkBox + .buttonBox {
  margin-top: -0.8rem;
}

/* ボタン型リンク
----------------------------------*/
.button {
  position: relative;
  display: block;
  max-width: 328px;
  padding: 0.6em 2.4em;
  margin: 2rem auto;
  text-align: center;
  text-decoration: none;
  line-height: 1.6em;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgb(249, 248, 248);
  background: linear-gradient(90deg, rgb(178, 16, 37), rgb(244, 0, 56));
  box-shadow: 0 0.5px 5px 0 rgba(0, 9, 22, 0.15);
  border-radius: 50px;
  transition: all 300ms ease 0ms;
}
.button:hover {
  background: linear-gradient(90deg, rgb(244, 0, 56), rgb(244, 0, 56));
}
.button.text-left {
  padding-left: 1.8em;
  text-align: left;
}
.button.text-right {
  padding-right: 3em;
  text-align: right;
}
.button::after, .button[href^="#"]::after, .button[href$=".pdf"]::after, .button[target=_blank]::after {
  position: absolute;
  top: 50%;
}
.button::after, .button[href^="#"]::after {
  right: 0.4em;
}
.button[href$=".pdf"]::after, .button[target=_blank]::after {
  right: 0.6em;
}
.button[href$=".pdf"]::after {
  margin-top: -8px;
  background-image: url("../img/ico-pdf-white.svg");
}
.button[target=_blank]::after {
  margin-top: -5px;
  background-image: url("../img/ico-blank-white.svg");
}
.button.bold {
  padding-top: 1em;
  padding-bottom: 1em;
  letter-spacing: 0.1em;
}
.button.bold.text-left {
  padding-left: 2.4em;
}
.button.withNote .note {
  display: block;
  margin-top: 0.2em;
  margin-bottom: 0.4em;
  font-size: 0.8em;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.05em;
}
.button.withNote .note.inline {
  display: inline-block;
}
.button.withLabel {
  white-space: nowrap;
}
.button.withLabel .label {
  position: relative;
  top: -1px;
  display: inline-block;
  padding: 0 0.6em 1px;
  margin-left: 0.6em;
  color: rgb(178, 16, 37);
  font-size: 0.8em;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0;
  background: rgb(249, 248, 248);
  border-radius: 2px;
}
.button.white {
  color: rgb(0, 9, 22);
  background: rgb(249, 248, 248);
}
.button.white:hover {
  background: rgb(255, 255, 255);
}
.button.white::after {
  background-image: url("../img/arw-circle-black.svg");
}
.button.white[href$=".pdf"]::after {
  background-image: url("../img/ico-pdf-black.svg");
}
.button.white[target=_blank]::after {
  background-image: url("../img/ico-blank-black.svg");
}
.button.line {
  color: rgb(178, 16, 37);
  background: none;
  border: solid 1px rgb(178, 16, 37);
}
.button.line:hover {
  border-color: rgb(244, 0, 56);
}
.button.line::after {
  background-image: url("../img/arw-circle-letters.svg");
}
.button.line[href$=".pdf"]::after {
  background-image: url("../img/ico-pdf-red.svg");
}
.button.line[target=_blank]::after {
  background-image: url("../img/ico-blank-red.svg");
}
.button.line.white {
  color: rgb(249, 248, 248);
  border: solid 1px rgb(249, 248, 248);
}
.button.line.white:hover {
  background: rgb(255, 255, 255);
}
.button.line.white::after {
  background-image: url("../img/arw-circle-white.svg");
}
.button.line.white[href$=".pdf"]::after {
  background-image: url("../img/ico-pdf-white.svg");
}
.button.line.white[target=_blank]::after {
  background-image: url("../img/ico-blank-white.svg");
}
.button.line.black {
  color: rgb(36, 35, 35);
  border: solid 1px rgb(36, 35, 35);
}
.button.line.black:hover {
  border-color: rgb(0, 0, 0);
}
.button.line.black::after {
  background-image: url("../img/arw-circle-black.svg");
}
.button.line.black[href$=".pdf"]::after {
  background-image: url("../img/ico-pdf-black.svg");
}
.button.line.black[target=_blank]::after {
  background-image: url("../img/ico-blank-black.svg");
}

.buttonBox {
  display: flex;
  align-self: center;
  justify-content: center;
  width: 100%;
  margin: 1.6rem auto;
}
.buttonBox .button {
  margin: 0 0 0 2rem;
}
.buttonBox .button:first-child {
  margin-left: 0;
}
.buttonBox + .linkBox,
.buttonBox + .banerBox {
  margin-top: -0.8rem;
}

main .buttonBox .button {
  min-width: 300px;
}
main .buttonBox + .linkBox,
main .buttonBox + .banerBox {
  margin-top: -0.8rem;
}

/* バナー型リンク
// style.scss 内でディスプレイサイズ毎の指定あり
----------------------------------*/
.banner {
  position: relative;
  display: block;
  max-width: 360px;
  width: 100%;
  margin: 1.6rem auto;
  text-decoration: none;
  letter-spacing: 0.1em;
}
.banner.regimental {
  padding: 1.6em 1.8em 1.4em 1em;
  color: rgb(249, 248, 248);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4em;
  background-image: repeating-linear-gradient(-30deg, transparent, transparent 3px, rgba(178, 16, 37, 0.5) 3px, rgba(178, 16, 37, 0.5) 6px), linear-gradient(90deg, rgb(178, 16, 37), rgb(244, 0, 56));
  background-size: auto auto;
}
.banner.regimental:hover {
  opacity: 0.6;
}
.banner.regimental.withNote .note {
  display: block;
  margin-top: 0.4em;
  margin-bottom: 0.4em;
  font-size: 0.75em;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.05em;
}
.banner.regimental::after, .banner.regimental[href$=".pdf"]::after, .banner.regimental[target=_blank]::after, .banner.regimental[href^="#"]::after {
  position: absolute;
  top: 50%;
}
.banner.regimental::after, .banner.regimental[href^="#"]::after {
  right: 0.4em;
}
.banner.regimental[href$=".pdf"]::after, .banner.regimental[target=_blank]::after {
  right: 0.6em;
}
.banner.regimental::after, .banner.regimental[href^="#"]::after {
  margin-top: -10px;
  background-image: url("../img/arw-circle-white.svg");
}
.banner.regimental[href$=".pdf"]::after {
  margin-top: -8px;
  background-image: url("../img/ico-pdf-white.svg");
}
.banner.regimental[target=_blank]::after {
  margin-top: -5px;
  background-image: url("../img/ico-blank-white.svg");
}
.banner.regimental.white {
  color: rgb(36, 35, 35);
  background-image: repeating-linear-gradient(-30deg, transparent, transparent 3px, rgba(213, 213, 213, 0.3) 3px, rgba(213, 213, 213, 0.3) 6px), linear-gradient(90deg, rgb(249, 248, 248), rgb(249, 248, 248));
}
.banner.regimental.white::after {
  background-image: url("../img/arw-circle-black.svg");
}
.banner.regimental.white[href$=".pdf"]::after {
  background-image: url("../img/ico-pdf-black.svg");
}
.banner.regimental.white[target=_blank]::after {
  background-image: url("../img/ico-blank-black.svg");
}
.banner.withPhoto {
  text-decoration: underline;
}
.banner.withPhoto .pictureFrame {
  width: 100%;
  height: 100px;
}
.banner.withPhoto .pictureFrame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner.withPhoto .title {
  display: block;
  width: 100%;
  padding: 0.5em 2.4em 0.5em 0;
  font-size: 0.75rem;
  line-height: 1.4em;
  letter-spacing: 0.06em;
}
.banner.withPhoto:hover {
  text-decoration: none;
}
.banner.withPhoto::after, .banner.withPhoto[href$=".pdf"]::after, .banner.withPhoto[target=_blank]::after {
  position: absolute;
  top: calc(50px + 50%);
}
.banner.withPhoto::after {
  right: 0;
}
.banner.withPhoto[href$=".pdf"]::after, .banner.withPhoto[target=_blank]::after {
  right: 4px;
}
.banner.withPhoto::after {
  margin-top: -10px;
  background-image: url("../img/arw-circle-black.svg");
}
.banner.withPhoto[href$=".pdf"]::after {
  margin-top: -8px;
  background-image: url("../img/ico-pdf-black.svg");
}
.banner.withPhoto[target=_blank]::after {
  margin-top: -5px;
  background-image: url("../img/ico-blank-black.svg");
}
.banner.withSummary {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
}
.banner.withSummary::before, .banner.withSummary::after {
  content: "";
  position: absolute;
  display: block;
  margin: 0;
}
.banner.withSummary::before {
  right: -1em;
  top: 0;
  width: 2rem;
  height: 120px;
  background: rgb(178, 16, 37);
  transform: skewX(-3deg);
}
.banner.withSummary::after, .banner.withSummary[href$=".pdf"]::after, .banner.withSummary[target=_blank]::after {
  top: 120px;
}
.banner.withSummary::after {
  right: 0;
  margin-top: -22px;
  background-image: url("../img/arw-circle-white.svg");
}
.banner.withSummary[href$=".pdf"]::after {
  right: 4px;
  margin-top: -22px;
  background-image: url("../img/ico-pdf-white.svg");
}
.banner.withSummary[target=_blank]::after {
  right: 4px;
  margin-top: -16px;
  background-image: url("../img/ico-blank-white.svg");
}
.banner.withSummary .pictureFrame {
  width: 100%;
  height: auto;
  max-height: 120px;
}
.banner.withSummary .pictureFrame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner.withSummary .summary {
  align-self: center;
  width: 100%;
  height: auto;
  padding: 1rem;
  background: rgb(255, 255, 255);
}
.banner.withSummary .summary .title {
  display: flex;
  align-items: center;
  margin-top: -2px;
  margin-bottom: 0.6em;
}
.banner.withSummary .summary .title .label {
  display: inline-block;
  padding: 0.2em 0.6em 0.3em;
  margin-right: 0.6em;
  font-size: 0.75rem;
  line-height: 1em;
  letter-spacing: 0.05em;
  color: rgb(178, 16, 37);
  border: solid 1px rgb(178, 16, 37);
  border-radius: 2px;
  white-space: nowrap;
}
.banner.withSummary .summary p {
  font-size: 0.75rem;
  line-height: 1.6em;
  letter-spacing: 0.12em;
}
.banner.inBox {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: none;
  padding: 1rem;
  background: rgb(255, 255, 255);
  border: solid 1px rgb(178, 177, 177);
  overflow: hidden;
}
.banner.inBox::after {
  display: none;
}
.banner.inBox .title::after, .banner.inBox[href$=".pdf"] .title::after, .banner.inBox[target=_blank] .title::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  margin: 0;
}
.banner.inBox .title::after {
  right: 0;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-image: url("../img/arw-circle-black.svg");
}
.banner.inBox[href$=".pdf"] .title::after {
  right: 4px;
  width: 13px;
  height: 16px;
  margin-top: -8px;
  background-image: url("../img/ico-pdf-black.svg");
}
.banner.inBox[target=_blank] .title::after {
  right: 4px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background-image: url("../img/ico-blank-black.svg");
}
.banner.inBox .pictureFrame {
  width: 100%;
  height: auto;
  max-height: 70px;
  background-image: repeating-linear-gradient(-30deg, transparent, transparent 3px, rgba(178, 16, 37, 0.5) 3px, rgba(178, 16, 37, 0.5) 6px), linear-gradient(90deg, rgb(178, 16, 37), rgb(244, 0, 56));
  background-size: auto auto;
}
.banner.inBox .pictureFrame img {
  margin: 0;
}
.banner.inBox .summary {
  align-self: center;
  width: 100%;
  height: auto;
  background: rgb(255, 255, 255);
}
.banner.inBox .summary .title {
  position: relative;
  margin-top: -2px;
  margin-bottom: 0.5em;
  padding-right: 1.8rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.banner.inBox .summary p {
  font-size: 0.75rem;
  line-height: 1.6em;
  letter-spacing: 0.12em;
}

.bannerBox {
  display: flex;
  align-self: center;
  justify-content: center;
  width: 100%;
  margin: 1.6rem auto;
}
.bannerBox .banner {
  margin: 0 0 0 1.6rem;
}
.bannerBox .banner:first-child {
  margin-left: 0;
}
.bannerBox + .linkBox,
.bannerBox + .buttonBox {
  margin-top: -0.8rem;
}

/* ページ内リンクメニュー
// style.scss 内でディスプレイサイズ毎の指定あり
----------------------------------*/
.linkTable {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  border-top: solid 1px rgb(36, 35, 35);
  border-right: solid 1px rgb(36, 35, 35);
}
.linkTable > * {
  flex-grow: 1;
  border-bottom: solid 1px rgb(36, 35, 35);
  border-left: solid 1px rgb(36, 35, 35);
}
.linkTable > *.current a {
  color: rgb(178, 16, 37);
}
.linkTable a {
  position: relative;
  display: block;
  padding: 1em 1.6em;
  font-size: 0.75rem;
  line-height: 1.4em;
  text-align: center;
  letter-spacing: 0.05em;
}
.linkTable a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  display: block;
  width: 10px;
  height: 8px;
  margin-top: -4px;
  background: url("../img/arw-down-black.svg") center center no-repeat;
}
.linkTable.bottom a::after {
  background-image: url("../img/arw-top-black.svg");
}

/* 学科・コースページへのリンク
// style.scss 内に記述あり
----------------------------------*/
.deptMenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
}
.deptMenu > li {
  flex-grow: 1;
  flex-shrink: 1;
  width: calc(50% - 8px);
  height: auto;
  margin: 8px 4px;
}
.deptMenu > li > a {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 1em 2.4em 1em 1em;
  font-size: 0.875rem;
  line-height: 1.2em;
  font-weight: 700;
  background-color: rgb(255, 255, 255);
  border-top: solid 3px transparent;
  box-shadow: 0 0.5px 5px 0 rgba(0, 9, 22, 0.15);
  overflow: hidden;
}
.deptMenu > li > a .label {
  display: inline-block;
  margin-bottom: 4px;
  font-size: 0.75rem;
  line-height: 1em;
  font-weight: 400;
  text-decoration: none;
}
.deptMenu > li > a::before {
  content: "";
  position: absolute;
  right: -1.2em;
  top: 0;
  display: block;
  width: 2rem;
  height: 80px;
  margin: 0;
  transform: skewX(-3deg);
}
.deptMenu > li > a .arw {
  position: absolute;
  right: 8px;
  top: 50%;
  margin-top: -10px;
  background-color: rgb(255, 255, 255);
  border-radius: 10px;
}
.deptMenu > li.hss_cc > a {
  border-top-color: rgb(254, 182, 36);
}
.deptMenu > li.hss_cc > a::before {
  background: rgb(254, 182, 36);
}
.deptMenu > li.hss_s > a {
  border-top-color: rgb(249, 209, 0);
}
.deptMenu > li.hss_s > a::before {
  background: rgb(249, 209, 0);
}
.deptMenu > li.hss_lcna > a {
  border-top-color: rgb(249, 227, 97);
}
.deptMenu > li.hss_lcna > a::before {
  background: rgb(249, 227, 97);
}
.deptMenu > li.hg > a {
  border-top-color: rgb(25, 151, 92);
}
.deptMenu > li.hg > a::before {
  background: rgb(25, 151, 92);
}
.deptMenu > li.jll > a {
  border-top-color: rgb(111, 92, 178);
}
.deptMenu > li.jll > a::before {
  background: rgb(111, 92, 178);
}
.deptMenu > li.psych > a {
  border-top-color: rgb(45, 164, 216);
}
.deptMenu > li.psych > a::before {
  background: rgb(45, 164, 216);
}
.deptMenu.withPhoto > li {
  height: 98px;
}
.deptMenu.withPhoto > li > a {
  padding: 1em;
  font-size: 1rem;
  text-decoration: none;
  text-shadow: 2px 2px 1px rgb(255, 255, 255), -2px 2px 1px rgb(255, 255, 255), 2px -2px 1px rgb(255, 255, 255), -2px -2px 1px rgb(255, 255, 255), 2px 0px 1px rgb(255, 255, 255), 0px 2px 1px rgb(255, 255, 255), -2px 0px 1px rgb(255, 255, 255), 0px -2px 1px rgb(255, 255, 255);
  border: none;
  border-radius: 3px;
  z-index: 1;
}
.deptMenu.withPhoto > li > a::before {
  height: 98px;
  z-index: -1;
}
.deptMenu.withPhoto > li > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -16px;
  display: inline-block;
  width: 85px;
  height: 85px;
  margin-top: -42.5px;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 85px;
  z-index: -1;
}
.deptMenu.withPhoto > li > a .arw {
  position: absolute;
  right: 0;
  top: auto;
  bottom: 0;
  margin-top: 0;
  background-color: transparent;
  border-radius: 0;
}
.deptMenu.withPhoto > li.hss_cc > a::after {
  background-image: url("../img/ico-dept-hss_cc-photo.png");
}
.deptMenu.withPhoto > li.hss_s > a::after {
  background-image: url("../img/ico-dept-hss_s-photo.png");
}
.deptMenu.withPhoto > li.hss_lcna > a::after {
  background-image: url("../img/ico-dept-hss_lcna-photo.png");
}
.deptMenu.withPhoto > li.hg > a::after {
  background-image: url("../img/ico-dept-hg-photo.png");
}
.deptMenu.withPhoto > li.jll > a::after {
  background-image: url("../img/ico-dept-jll-photo.png");
}
.deptMenu.withPhoto > li.psych > a::after {
  background-image: url("../img/ico-dept-psych-photo.png");
}

/* 学部、学科・コースページへのリンク一覧
// style.scss 内に記述あり
----------------------------------*/
.childMenu {
  width: 100%;
  padding: 1.6rem 1.6rem 3.2rem;
  background: rgb(255, 255, 255);
  border-top: solid 5px rgb(147, 8, 8);
}
.childMenu .title {
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}
.childMenu .title::before, .childMenu .title::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1px;
  background: rgb(178, 16, 37);
}
.childMenu .title > span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  color: rgb(178, 16, 37);
  font-size: 1rem;
  line-height: 1.4em;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}
.childMenu .title > span::before, .childMenu .title > span::after {
  content: "";
  display: block;
  width: 2px;
  height: 2.4rem;
  background: rgb(178, 16, 37);
  transform: skewX(-3deg);
}
.childMenu ul {
  width: 100%;
  padding: 0;
}
.childMenu ul + ul {
  margin-top: 3px;
}
.childMenu ul li.current > a {
  color: rgb(178, 16, 37);
  text-decoration: none;
  background: rgb(249, 248, 248);
}
.childMenu ul li.current > a .arw.black {
  background-image: url("../img/arw-circle-letters.svg");
}
.childMenu ul li a {
  display: block;
  padding: 1em 0;
  font-size: 0.75rem;
  line-height: 1.4em;
  letter-spacing: 0.05rem;
}
.childMenu ul li a:hover {
  background: rgb(249, 248, 248);
}
.childMenu ul li a .arw {
  top: -1px;
  vertical-align: middle;
}
.childMenu ul.major li.current a {
  color: rgb(178, 16, 37);
  text-decoration: none;
}
.childMenu ul.major li.current a .arw-tri.black {
  background-image: url("../img/arw-tri-red.svg");
}
.childMenu ul.major li a {
  padding-left: 20px;
  border-top: dotted 1px rgb(178, 177, 177);
}
.childMenu > ul {
  border-bottom: solid 1px rgb(178, 177, 177);
}
.childMenu > ul > li {
  border-top: solid 1px rgb(178, 177, 177);
}
.childMenu > ul.childMenu-dept > li {
  border-right-style: solid;
  border-right-width: 8px;
}
.childMenu > ul.childMenu-dept > li.hss_cc {
  border-right-color: rgb(254, 182, 36);
}
.childMenu > ul.childMenu-dept > li.hss_s {
  border-right-color: rgb(249, 209, 0);
}
.childMenu > ul.childMenu-dept > li.hss_lcna {
  border-right-color: rgb(249, 227, 97);
}
.childMenu > ul.childMenu-dept > li.hg {
  border-right-color: rgb(25, 151, 92);
}
.childMenu > ul.childMenu-dept > li.jll {
  border-right-color: rgb(111, 92, 178);
}
.childMenu > ul.childMenu-dept > li.psych {
  border-right-color: rgb(45, 164, 216);
}

/*//////////////////////////////////

COMMON
----------
slide,
accordion,
colorbox(公式CSSの上書き)

スライドメニュー、アコーディオンの基本設定

//////////////////////////////////*/
/* スライドイン/アウト
----------------------------------*/
.slide-in_out {
  position: fixed;
  top: 0;
  right: -100%;
  bottom: 0;
  z-index: 150;
  overflow-y: auto;
  transition: all 600ms ease;
}
.slide-in_out.open {
  right: 0;
}
.slide-in_out.close {
  right: -100%;
}

/* アコーディオン
----------------------------------*/
.accordion {
  /* 開いた状態
  ----------------------------------*/
  /* 閉じた状態
  ----------------------------------*/
}
.accordion .acd-key {
  position: relative;
  display: block;
  cursor: pointer;
}
.accordion .acd-key::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  background: url("../img/ico-accordion_key.svg") center center no-repeat;
}
.accordion .acd-content {
  height: auto;
  line-height: 0;
}
.accordion.open {
  z-index: 10;
}
.accordion.open .acd-key::after {
  transform: rotateZ(45deg);
}
.accordion.open .acd-content * {
  transition: padding-top 0.5s ease-out, padding-bottom 0.5s ease-out, margin-top 0.5s ease-out, margin-bottom 0.5s ease-out, line-height 0.5s ease-out, border-top 0.5s ease-out, border-bottom 0.5s ease-out, opacity 0.2s linear 0.1s, visibility 0.2s linear 0.1s;
  opacity: 1;
  visibility: visible;
}
.accordion.open .acd-content a {
  display: block;
}
.accordion.close {
  z-index: 9;
}
.accordion.close .acd-key::after {
  transform: rotateX(0);
}
.accordion.close .acd-content * {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: -10px !important;
  margin-bottom: 0 !important;
  line-height: 0 !important;
  border-top-width: 0 !important;
  border-bottom-width: 0 !important;
  transition: padding-top 0.5s ease-out, padding-bottom 0.5s ease-out, margin-top 0.5s ease-out, margin-bottom 0.5s ease-out, line-height 0.5s ease-out, border-top 0.5s ease-out, border-bottom 0.5s ease-out, opacity 0.2s linear, visibility 0.2s linear;
  opacity: 0 !important;
  visibility: hidden !important;
}
.accordion.close .acd-content * .arw,
.accordion.close .acd-content * .arw-circle,
.accordion.close .acd-content * .arw-tri {
  display: inline !important;
}

/* スライドギャラリー
----------------------------------*/
.slick-slider {
  position: relative;
}
.slick-slider .slick-track {
  left: -1rem;
  margin-right: 0;
  margin-left: 0;
}
.slick-slider .slick-track .slick-slide {
  height: 100%;
  margin-left: 1rem;
}
.slick-slider .slick-track .slick-slide:focus {
  outline: none;
}
.slick-slider .prev,
.slick-slider .next {
  position: absolute;
  top: 50%;
  z-index: 0;
  display: block;
  width: 28px;
  height: 48px;
  margin-top: -24px;
  background-image: url("../img/arw-circle-white.svg");
  background-position: right 2px center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  border: none;
  border-top-right-radius: 24px;
  border-bottom-right-radius: 24px;
  box-shadow: 0 0.5px 5px 0 rgba(0, 9, 22, 0.15);
}
.slick-slider .prev .label,
.slick-slider .next .label {
  display: none;
}
.slick-slider .prev.slick-disabled,
.slick-slider .next.slick-disabled {
  background-color: rgb(142, 142, 142);
  cursor: default;
}
.slick-slider .prev {
  left: -28px;
  background-color: rgb(178, 16, 37);
  transform: rotateZ(180deg);
}
.slick-slider .next {
  right: -28px;
  background-color: rgb(244, 0, 56);
}
.slick-slider .slick-dots {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 1rem 0;
}
.slick-slider .slick-dots button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.4rem;
  height: 2.4rem;
  font-size: 0;
  line-height: 0;
  background: none;
  border: none;
}
.slick-slider .slick-dots button::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: transparent;
  border: solid 2px rgb(178, 16, 37);
  border-radius: 50%;
}
.slick-slider .slick-dots .slick-active button::before {
  background-color: rgb(178, 16, 37);
}

/* タブ
----------------------------------*/
.tab-list {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 0;
  margin: 0 0 16px;
  background-image: linear-gradient(to top, #cdcdcd 1px, transparent 1px);
}
.tab-list-item {
  width: 100%;
  padding: 6px;
  margin-top: 6px;
  text-align: center;
  font-size: 0.75rem;
  background-color: #e0e0e0;
  border: solid 1px #cdcdcd;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  cursor: pointer;
}
.tab-list-item::after {
  content: "年度";
}
.tab-list-item.active {
  margin-top: 0;
  padding-top: 12px;
  background-color: #f9f8f8;
  border-bottom: solid 1px #f9f8f8;
}
.tab-panel-item {
  display: none;
}
.tab-panel-item.active {
  display: block;
}

/* クッキーコンセント
----------------------------------*/
.cc-message .cc-link::after {
  display: none;
}

/* DEVICE
/
/  ----------------------
/  デバイス幅による表示切り替え点
/  PC: min 1016px
/  TB: min 520px
/  SP: 指定なし
----------------------------------*/
@media only screen and (max-width: 1015px) {
  /*============================

    モバイル表示
    -----------------
    width: 〜 1015.99px

  =============================*/
  .pc {
    display: none;
  }
  /*//////////////////////////////////

  MOBILE
  ----------
  メインナビゲーション

  //////////////////////////////////*/
  header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    height: 4rem;
    background: rgb(249, 248, 248);
    box-shadow: 0 0 0 12px rgba(0, 9, 22, 0.15);
  }
  header.is-scroll {
    top: 0 !important;
  }
  header #logo a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 1rem;
    line-height: 0;
  }
  header #logo a img {
    width: auto;
    height: 36px;
  }
  header .btn-menu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 4rem;
    height: 4rem;
    padding: 0;
    font-size: 0.625rem;
    line-height: 1em;
    color: rgb(249, 248, 248);
    letter-spacing: 0.03em;
    background: linear-gradient(0deg, rgb(222, 0, 56), rgb(207, 0, 56));
    border: none;
  }
  header .btn-menu-toggle .label {
    display: inline-block;
    margin-top: 4px;
  }
  /* メニュー
  ----------------------------------*/
  #navBox {
    right: -375px;
    max-width: 375px;
    width: 100%;
    height: 100%;
    padding-top: 5.5rem;
    background: rgb(178, 16, 37);
    /* メインメニュー
    ----------------------------------*/
  }
  #navBox ul {
    padding: 0;
  }
  #navBox.open {
    right: 0;
  }
  #navBox.close {
    right: -375px;
  }
  #navBox .btn-menu-close {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 4rem;
    height: 4rem;
    padding: 0;
    font-size: 0.625rem;
    line-height: 1em;
    color: rgb(249, 248, 248);
    letter-spacing: 0.03em;
    background: transparent;
    border: none;
  }
  #navBox .btn-menu-close .label {
    display: inline-block;
    margin-top: 4px;
  }
  #navBox .btn-menu-close.bottom {
    top: auto;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    text-align: center;
    background: rgba(244, 0, 56, 0.5);
    height: calc(48px + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
  }
  #navBox .btn-menu-close + .buttonBox {
    position: absolute;
    top: 1.26rem;
    left: 16px;
    width: auto;
    margin: 0;
  }
  /*//////////////////////////////////

  MOBILE
  ----------
  メイン部

  //////////////////////////////////*/
  /*//////////////////////////////////

  MOBILE
  ----------
  トップページ固有

  //////////////////////////////////*/
  /*//////////////////////////////////

  MOBILE
  ----------
  下層ページ

  //////////////////////////////////*/
  /*//////////////////////////////////

  MOBILE
  ----------
  代表下層ページ

  //////////////////////////////////*/
  /*//////////////////////////////////

  MOBILE
  ----------
  文学部について

  //////////////////////////////////*/
  /* ----------------------------------*/
  /* ----------------------------------*/
  /* 3つの魅力
  ----------------------------------*/
  /*//////////////////////////////////

  MOBILE
  ----------
  学科・コース・専攻

  //////////////////////////////////*/
  /*//////////////////////////////////

  PC、MOBILE
  ----------
  ギャラリー

  //////////////////////////////////*/
  /*//////////////////////////////////

  PC、MOBILE
  ----------
  教員コラム

  //////////////////////////////////*/
  /*//////////////////////////////////

  PC、MOBILE
  ----------
  進路・キャリア

  //////////////////////////////////*/
  /*//////////////////////////////////

  PC
  ----------
  フッター

  //////////////////////////////////*/
  /* 
  ----------------------------------*/
  /* バナー型リンク
  ----------------------------------*/
  /* ボタン型リンク
  ----------------------------------*/
  /* テキストリンクのまとめ
  ----------------------------------*/
  /* ページ内リンクメニュー
  ----------------------------------*/
  /* 学科・コースページへのリンク
  ----------------------------------*/
}
@media only screen and (max-width: 1015px) and (max-width: 375px) {
  #navBox .btn-menu-close + .buttonBox {
    margin-right: 4rem;
  }
}
@media only screen and (max-width: 1015px) {
  #navBox .btn-menu-close + .buttonBox .button {
    padding-top: 0.4em;
    padding-bottom: 0.4em;
  }
  #navBox .btn-menu-close + .buttonBox .button .note {
    font-size: 0.625rem;
    margin-top: 0;
    margin-bottom: 0.2em;
    letter-spacing: 0.01em;
  }
  #navBox a:not(.banner):not(.button)::after {
    background-image: url("../img/arw-circle-white.svg");
  }
  #navBox a:not(.banner):not(.button)[href$=".pdf"]::after {
    background-image: url("../img/ico-pdf-white.svg");
  }
  #navBox a:not(.banner):not(.button)[href^="http://"]::after, #navBox a:not(.banner):not(.button)[href^="https://"]::after {
    background-image: url("../img/ico-blank-white.svg");
  }
  #navBox .banner {
    max-width: none;
    padding-right: 16px;
    padding-left: 16px;
  }
  #navBox .banner.withPhoto {
    color: rgb(249, 248, 248);
  }
  #navBox .banner.withPhoto::after {
    right: 12px;
    background-image: url("../img/arw-circle-white.svg");
  }
  #navBox .banner.regimental {
    max-width: none;
    width: calc(100% - 32px);
    margin-right: 16px;
    margin-left: 16px;
  }
  #navBox #nav li:last-child a:not(.banner):not(.button) {
    border-bottom: none;
  }
  #navBox #nav li a:not(.banner):not(.button),
  #navBox #nav li .acd-key:not(.banner):not(.button) {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 1rem;
    line-height: 1.6em;
    text-align: center;
    color: rgb(249, 248, 248);
    letter-spacing: 0.1em;
    border-bottom: solid 1px rgba(244, 0, 56, 0.5);
  }
  #navBox #nav li a:not(.banner):not(.button)::after, #navBox #nav li a:not(.banner):not(.button)[href$=".pdf"]::after, #navBox #nav li a:not(.banner):not(.button)[href^="https://"]::after, #navBox #nav li a:not(.banner):not(.button)[href^="http://"]::after,
  #navBox #nav li a:not(.banner):not(.button) .arw-circle,
  #navBox #nav li a:not(.banner):not(.button) .arw {
    position: absolute;
    top: 50%;
  }
  #navBox #nav li a:not(.banner):not(.button)::after,
  #navBox #nav li a:not(.banner):not(.button) .arw-circle,
  #navBox #nav li a:not(.banner):not(.button) .arw {
    right: 12px;
    margin-top: -10px;
  }
  #navBox #nav li a:not(.banner):not(.button)[href$=".pdf"]::after {
    right: 15px;
    margin-top: -8px;
  }
  #navBox #nav li a:not(.banner):not(.button)[href^="https://"]::after, #navBox #nav li a:not(.banner):not(.button)[href^="http://"]::after {
    right: 16px;
    margin-top: -5px;
  }
  #navBox #nav li.close a:not(.banner):not(.button),
  #navBox #nav li.close .acd-key:not(.banner):not(.button) {
    margin-bottom: 10px;
  }
  #navBox #nav li.linkWithNote .note {
    padding-left: 0;
  }
  #navBox #nav .accordion .acd-content {
    padding: 0 16px;
    background: rgb(249, 248, 248);
  }
  #navBox #nav .accordion .acd-content a {
    padding-top: 1rem;
    padding-bottom: 1rem;
    line-height: 1.6em;
    letter-spacing: 0.02em;
    border-bottom: solid 1px transparent;
  }
  #navBox #nav .accordion .acd-content a:not(.banner):not(.button) {
    color: rgb(36, 35, 35);
  }
  #navBox #nav .accordion .acd-content a:not(.banner):not(.button):not(.dept_bnr-text) {
    border-color: #d5d5d5;
  }
  #navBox #nav .accordion .acd-content a:not(.banner):not(.button) .arw-circle,
  #navBox #nav .accordion .acd-content a:not(.banner):not(.button) .arw {
    right: 0;
  }
  #navBox #nav .accordion.close .acd-content a {
    padding-top: 0;
    padding-bottom: 0;
    line-height: 0;
    border-top-width: 0;
  }
  #navBox #nav #mainMenu li a,
  #navBox #nav #mainMenu li .acd-key {
    font-size: 0.875rem;
    font-weight: 700;
  }
  #navBox #nav #mainMenu .childMenu {
    background-color: transparent;
    border-top: none;
  }
  #navBox #nav #mainMenu .deptMenu {
    padding-bottom: 1.6rem;
  }
  #navBox #nav #mainMenu .deptMenu > li {
    width: 100%;
    height: auto;
    margin: 1.6rem 0 0 0;
  }
  #navBox #nav #mainMenu .deptMenu > li > a {
    width: 100%;
    height: auto;
    padding: 1em 2.4em;
    text-align: center;
  }
  #navBox #nav #mainMenu .deptMenu > li > a .label {
    font-size: inherit;
    font-weight: inherit;
    text-decoration: inherit;
  }
  #navBox #nav #mainMenu .deptMenu > li > a .arw {
    right: 8px;
  }
  #navBox #nav #mainMenu .deptMenu > li > a.dept_bnr-text {
    border-bottom: none;
  }
  #navBox #nav #mainMenu .deptMenu .major {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-grow: 1;
    flex-shrink: 1;
    width: 100%;
  }
  #navBox #nav #mainMenu .deptMenu .major li {
    margin: 0;
    text-align: center;
  }
  #navBox #nav #mainMenu .deptMenu .major li a {
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0;
    border-bottom: solid 1px #d5d5d5;
  }
  #navBox #nav #mainMenu .deptMenu .major li:nth-child(even) {
    border-left: solid 1px #d5d5d5;
  }
  #navBox #nav #mainMenu .deptMenu .major.col1 li {
    width: 100%;
  }
  #navBox #nav #mainMenu .deptMenu .major.col2 li {
    width: 50%;
  }
  #navBox #nav #mainMenu .deptMenu .major.col3 li {
    width: 50%;
  }
  #navBox #nav #mainMenu .deptMenu .major.col3 li:last-child {
    width: 100%;
  }
  #navBox #nav #mainMenu .deptMenu .major.col4 li {
    width: 50%;
  }
  #navBox #nav #actionMenu .buttonBox {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
  }
  #navBox #nav .coMenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  #navBox #nav .coMenu li {
    margin: 0;
    text-align: center;
  }
  #navBox #nav .coMenu li a:not(.banner):not(.button) {
    height: 100%;
    padding-left: 16px;
    padding-right: 16px;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0;
    border-bottom: solid 1px rgba(244, 0, 56, 0.5);
  }
  #navBox #nav .coMenu li:nth-child(even) {
    border-left: solid 1px rgba(244, 0, 56, 0.5);
  }
  #navBox #nav .coMenu li.linkWithNote a:not(.banner):not(.button) {
    padding-top: calc(1rem - 0.8em);
    padding-bottom: calc(1rem - 0.6em);
  }
  #navBox #nav .coMenu.col1 li {
    width: 100%;
  }
  #navBox #nav .coMenu.col2 li {
    width: 50%;
  }
  #navBox #nav .coMenu.col2 li.home {
    width: 35%;
  }
  #navBox #nav .coMenu.col2 li.instagram {
    width: 65%;
  }
  #navBox #nav .coMenu.col3 li {
    width: 50%;
  }
  #navBox #nav .coMenu.col3 li:last-child {
    width: 100%;
  }
  #navBox #nav .coMenu.col3 li:last-child a {
    text-align: center;
  }
  #navBox #nav .coMenu.col4 li {
    width: 50%;
  }
  #navBox #nav #homeMenu,
  #navBox #nav #careerMenu,
  #navBox #nav #subMenu,
  #navBox #nav #policyMenu {
    border-top: solid 1px rgba(244, 0, 56, 0.5);
  }
  #overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 110;
    background: rgba(36, 35, 35, 0.9);
    transition: all 600ms ease;
  }
  #overlay.active {
    opacity: 1;
  }
  #overlay.inactive {
    opacity: 0;
    pointer-events: none;
  }
  main {
    position: relative;
    /* 文学部メインキャッチバナー
    ----------------------------------*/
  }
  main #mainCatch {
    width: 100%;
    height: 268px;
    background: url("../img/overview/mainVisual.jpg") center center/cover no-repeat;
  }
  main #mainCatch .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
  }
  main #mainCatch .catch {
    margin: 1rem 0 2.8rem 10%;
    color: rgb(255, 255, 255);
    font-size: 1.125rem;
    line-height: 1.65em;
    letter-spacing: 0.2em;
    text-shadow: 2px 2px 1px rgba(0, 9, 22, 0.25), -2px 2px 1px rgba(0, 9, 22, 0.25), 2px -2px 1px rgba(0, 9, 22, 0.25), -2px -2px 1px rgba(0, 9, 22, 0.25), 2px 0px 1px rgba(0, 9, 22, 0.25), 0px 2px 1px rgba(0, 9, 22, 0.25), -2px 0px 1px rgba(0, 9, 22, 0.25), 0px -2px 1px rgba(0, 9, 22, 0.25);
  }
  main #mainCatch .catch span {
    display: block;
    margin-top: 0.6em;
  }
  main #mainCatch .catch + .button {
    margin: 0 0 0 10%;
  }
  #hero {
    position: relative;
    padding-top: 64px;
  }
  #hero #event {
    position: absolute;
    top: 48px;
    right: 0;
    bottom: 1.6rem;
    left: 0;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #hero #event .headingBox {
    position: relative;
  }
  #hero #event .headingBox .heading {
    margin: 0 0 0 8%;
  }
  #hero #event .headingBox .heading > img {
    width: auto;
    height: 160px;
    opacity: 0.9;
  }
  #hero #event .headingBox .button {
    position: absolute;
    right: calc(-8% - 8px);
    bottom: 18px;
    padding-left: 1.6em;
    padding-right: 3em;
    margin: 0;
    font-size: 0.5rem;
  }
  #hero .gallery .slick-track {
    left: 0;
  }
  #hero .gallery .slick-track .slick-slide {
    width: 100%;
    height: 275px;
    margin: 0;
  }
  #hero .gallery .slick-track .slick-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main {
    /* Information
    ----------------------------------*/
    /* 3つの魅力 ----- コンテンツの表示場所の移動に伴い、_mb-overviewへ移動
    #threeAppeals {
      padding-bottom: 3.2rem;

      background: $white;

      .heading.image {
        display: flex;
        justify-content: center;
        align-items: center;

        width: calc(100% + 1rem);
        height: 180px;
        margin-left: -.5rem;
        margin-right: -.5rem;
        margin-bottom: 3.2rem;

        background: url('../img/threeAppeals/title_bg-threeAppeals.jpg') center center/cover no-repeat;
        background-color: gray;

        > img {
          max-width: 360px;
          width: 100%;
          height: auto;
          margin-bottom: -3rem;

          opacity: .9;
        }
      }

      // 魅力紹介
      .threeAppeals {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;

        padding: 0;

        > li {
          position: relative;
          width: 100%;
          margin-bottom: 3.2rem;

          font-size: .875rem;

          &::before {
            content: "";
            position: absolute;
            top: -1.6rem;
            right: 0;
            left: 0;

            display: block;
            width: 100%;
            height: 0;

            border-top: dotted 1px $silverGray;
          }

          &:first-child {
            &::before {
              display: none;
            }
          }

          // 見出し
          .heading {
            position: relative;

            margin-bottom: 1rem;

            img {
              position: absolute;
              top: 1rem;
              left: .5rem;
            }
            .label {
              .catch {
                display: block;
                width: 100%;
                padding: .4em 1rem;
                margin-bottom: 1.6rem;

                text-align: center;
                line-height: 1em;
                color: $lt-deepRed;

                border: solid 1px $lt-deepRed;
              }
              .title {
                display: block;
                margin-left: calc(.5rem + 58px + .5rem);

                font-size: 1.125rem;
                font-weight: 700;
              }
            }
          }
          // 画像
          .imageBox {
            width: 100%;
            height: 186px;
            margin-bottom: 1rem;

            background: gray;

            > img {
              width: 100%;
              height: 100%;

              object-fit: cover;
            }
          }
          .text {
            grid-area: text;

            margin-bottom: 1.6rem;

            + .button {
              margin: 0 auto;
            }
          }
        }
      }
    }
    ----------------------------------*/
  }
  main .indexMenu {
    background: rgb(147, 8, 8);
  }
  main .indexMenu .deptMenu {
    position: relative;
    top: -2.4rem;
    padding-top: 4px;
    padding-bottom: 4px;
  }
  main .mainContainer {
    display: flex;
    justify-content: space-between;
    padding-top: 2.4rem;
    margin-bottom: 3.6rem;
  }
  main #information {
    width: 100%;
    max-width: none;
  }
  main #information .news-instagram {
    display: block;
    text-decoration: none;
    background-color: #f6f2f1;
    border: solid 1px #e9e1dd;
  }
  main #information .news-instagram[target=_blank]::after {
    display: none;
  }
  main #information .news-instagram-box {
    display: flex;
    flex-direction: column;
    justify-content: end;
    width: 100%;
    height: 245px;
    background-image: url("../img/banner/news-instagram-bg.png"), linear-gradient(to bottom, #f6f2f1, #f6f2f1 calc(100% - 80px), transparent calc(100% - 80px)), repeating-linear-gradient(-30deg, transparent, transparent 3px, rgba(178, 16, 37, 0.5) 3px, rgba(178, 16, 37, 0.5) 6px), linear-gradient(90deg, rgb(178, 16, 37), rgb(244, 0, 56));
    background-size: min(740px, 100%) auto, auto auto, auto auto, auto auto;
    background-position: right top, left top, left top, left top;
    background-repeat: no-repeat, no-repeat, repeat, no-repeat;
  }
  main #information .news-instagram-box > img {
    width: 100%;
    max-width: 540px;
    height: auto;
    margin-left: 10px;
  }
  main #information .news-instagram-box .button {
    max-width: 365px;
    padding: 0.6em 2.4em 0.6em 2.4em;
    margin-top: 2px;
    margin-bottom: 8px;
    font-size: 1.125rem;
    font-weight: normal;
    letter-spacing: 0.06em;
  }
  main #information .news-instagram-box .button .note {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0;
  }
  main #information .news-instagram-box .button .note.inline {
    padding-left: 4px;
  }
  main #information .news-instagram-box .button::after {
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: url("../img/ico-blank-white.svg");
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  main #information .news-instagram-box {
    height: 100%;
    aspect-ratio: 2/1;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 415px) {
  main #information .news-instagram-box {
    min-height: 200px;
    aspect-ratio: 3/1;
    background-image: url("../img/banner/news-instagram-bg.png"), linear-gradient(to bottom, #f6f2f1, #f6f2f1 calc(100% - 70px), transparent calc(100% - 70px)), repeating-linear-gradient(-30deg, transparent, transparent 3px, rgba(178, 16, 37, 0.5) 3px, rgba(178, 16, 37, 0.5) 6px), linear-gradient(90deg, rgb(178, 16, 37), rgb(244, 0, 56));
    background-size: max(370px, 100%) auto, auto auto, auto auto, auto auto;
  }
  main #information .news-instagram-box img {
    margin-left: 0;
    margin-top: 30px;
  }
  main #information .news-instagram-box .button {
    padding: 0.6em 1.8em 0.6em 1.4em;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
  }
}
@media only screen and (max-width: 1015px) {
  .page {
    /* 学科・コース別
    ----------------------------------*/
  }
  .page #hero {
    height: calc(150px + 2.4rem);
    /*
    &::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      left: 0;

      display: block;
      width: 100%;
      height: calc(150px - .8rem);

      background-color: rgba($midNight,.25);
      background-image:
        repeating-linear-gradient(-30deg, transparent, transparent 1.5px, rgba($midNight,.15) 1.5px, rgba($midNight,.15) 3px);
      background-position: center center;
      background-repeat: repeat;
    }
    */
  }
  .page #hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 8%;
  }
  .page main {
    /* パンくず付きページタイトル
    ----------------------------------*/
    /* YouTube埋め込み
    ----------------------------------*/
    /* 組織図
    ----------------------------------*/
    /* 教員一覧
    ----------------------------------*/
    /* 卒論一覧
    ----------------------------------*/
  }
  .page main #titleBox {
    position: absolute;
    top: 5.6rem;
    width: 100%;
  }
  .page main #titleBox .box {
    padding: 0;
  }
  .page main #titleBox .pageTitle {
    position: relative;
    z-index: 1;
    display: inline-block;
    max-width: 100%;
    padding: 0.8rem 1.2rem 0.8rem 0.6rem;
    overflow: hidden;
  }
  .page main #titleBox .pageTitle::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0.5rem;
    bottom: 0;
    left: -3rem;
    z-index: -1;
    display: block;
    background: rgb(249, 248, 248);
    transform: skewX(-3deg);
    border-bottom: solid 2px rgb(178, 16, 37);
  }
  .page main #titleBox .pageTitle .pankuzu {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding: 0;
    overflow: hidden;
  }
  .page main #titleBox .pageTitle .pankuzu li {
    margin-bottom: 0.4rem;
    line-height: 0;
    white-space: nowrap;
  }
  .page main #titleBox .pageTitle .pankuzu li::after {
    content: "＞";
    display: inline-block;
    margin: 0 0.6em 0 0.3em;
    font-size: 0.5rem;
    line-height: 1em;
  }
  .page main #titleBox .pageTitle .pankuzu li a, .page main #titleBox .pageTitle .pankuzu li span {
    color: rgb(36, 35, 35);
    font-size: 0.5rem;
    line-height: 1em;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }
  .page main #titleBox .pageTitle .title {
    margin: 0;
    color: rgb(36, 35, 35);
    font-size: 0.875rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
  }
  .page main .indexMenu {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    background-color: rgb(213, 213, 213);
  }
  .page main .indexMenu .heading {
    width: auto;
    margin: 0 4px 0.625rem;
  }
  .page main .indexMenu .deptMenu {
    top: auto;
    height: auto;
  }
  .page main .mainContainer {
    position: relative;
    margin-bottom: 2.4rem;
  }
  .page main .mainContainer #article {
    width: 100%;
  }
  .page main .mainContainer .catchBox {
    position: absolute;
    top: -280px;
    right: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    padding: 2.4rem 1.6rem 1.6rem;
    background: rgb(147, 8, 8);
  }
  .page main .mainContainer .catchBox::before {
    content: "";
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    bottom: 0.2rem;
    left: 0.2rem;
    display: block;
    border: solid 1px rgb(249, 248, 248);
  }
  .page main .mainContainer .catchBox .mainCatch {
    margin: 0;
    color: rgb(249, 248, 248);
    font-size: 1.125rem;
    line-height: 1.8em;
    letter-spacing: 0.15em;
    writing-mode: vertical-rl;
  }
  .page main .mainContainer .catchBox .mainCatch > span {
    display: block;
    margin-right: 0.5em;
  }
  .page main .video {
    width: auto;
    margin: 6.4rem -0.5rem 3.2rem;
    padding: 0 0 1.6rem;
    background-image: linear-gradient(to bottom, #DEDEDE, #E8E5E2);
  }
  .page main .video iframe {
    position: relative;
    top: -2.4rem;
    display: block;
    width: calc(100vw - 52px);
    height: calc((100vw - 52px) * 0.5625);
    max-width: 560px;
    max-height: 315px;
    margin: 0 auto -1.2rem;
  }
  .page main .bannerBox {
    flex-wrap: wrap;
    margin: 0;
  }
  .page main .bannerBox .banner {
    align-self: flex-end;
    max-width: 300px;
    margin-right: 0;
    margin-left: auto;
    background: rgb(249, 248, 248);
  }
  .page main .bannerBox .banner:first-child {
    align-self: flex-start;
    margin-right: auto;
    margin-bottom: 1.6rem;
    margin-left: 0;
  }
  .page main .bannerBox .banner .title {
    padding-left: 0.3rem;
  }
  .page main .organigram {
    margin: 3.2rem 0 0;
  }
  .page main .organigram figure {
    width: 100%;
    margin-bottom: 2.4rem;
    text-align: center;
  }
  .page main .organigram figure img {
    max-width: 424px;
    width: 100%;
    height: auto;
  }
  .page main .facultyList {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 0;
  }
  .page main .facultyList > li {
    width: 100%;
    padding: 3.2rem 0 1.6rem;
    margin-bottom: 0.8rem;
    background-position: right -24px top 1.6rem;
    background-size: 35%;
    background-repeat: no-repeat;
    border-top: dashed 1px rgb(213, 213, 213);
  }
  .page main .facultyList > li:first-child {
    padding-top: 1.6rem;
    background-position: right -24px top 0;
    border-top: none;
  }
  .page main .facultyList > li .nameBox {
    margin-bottom: 1.2rem;
  }
  .page main .facultyList > li .nameBox .name {
    display: block;
    margin-bottom: 0.6rem;
    font-size: 1.25rem;
    line-height: 1em;
    letter-spacing: 0.15em;
  }
  .page main .facultyList > li .nameBox .name_kana {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.05em;
  }
  .page main .facultyList > li .affiliation {
    margin-bottom: 1.6rem;
    font-size: 0.875rem;
    line-height: 1.4em;
    letter-spacing: 0.1em;
  }
  .page main .facultyList > li .theme {
    padding: 1rem;
    margin-bottom: 1rem;
    background-color: rgb(239, 236, 237);
    border-radius: 3px;
  }
  .page main .facultyList > li .theme .heading {
    margin-bottom: 0.8em;
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.1em;
  }
  .page main .facultyList > li .theme p {
    font-size: 0.75rem;
    line-height: 1.6em;
    letter-spacing: 0.1em;
  }
  .page main .facultyList > li .textLink {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .page main .facultyList > li .textLink > * {
    width: 50%;
    min-width: 220px;
    margin-bottom: 0.8rem;
  }
  .page main .thesisList-by-major {
    margin-bottom: 1.6rem;
  }
  .page main .thesisList {
    padding: 0;
    margin: 0.4rem 0;
  }
  .page main .thesisList > li {
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.1em;
  }
  .page main .thesisList > li::before {
    content: "●";
    position: relative;
    top: -2px;
    margin-right: 0.5em;
    font-size: 0.5rem;
    color: rgb(147, 8, 8);
  }
  .page.hss_cc main .facultyList > li {
    background-image: url("../img/ico-dept-hss_cc-opacity.svg");
  }
  .page.hss_s main .facultyList > li {
    background-image: url("../img/ico-dept-hss_s-opacity.svg");
  }
  .page.hss_lcna main .facultyList > li {
    background-image: url("../img/ico-dept-hss_lcna-opacity.svg");
  }
  .page.hg main .facultyList > li {
    background-image: url("../img/ico-dept-hg-opacity.svg");
  }
  .page.jll main .facultyList > li {
    background-image: url("../img/ico-dept-jll-opacity.svg");
  }
  .page.psych main .facultyList > li {
    background-image: url("../img/ico-dept-psych-opacity.svg");
  }
  .page.has-sideBar .mainContainer {
    flex-wrap: wrap;
  }
  .page.has-sideBar .mainContainer #article > .heading + .textBox {
    margin-bottom: 3.2rem;
  }
  .page.has-sideBar .mainContainer #article section {
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
  }
  .page.has-sideBar .mainContainer #article section p {
    margin-bottom: 0.8rem;
  }
  .page.has-sideBar .mainContainer #sideBar {
    width: 100%;
  }
  .page:not(.top-level) .mainContainer {
    padding-top: 2.4rem;
  }
  .page.radio {
    /* アーカイブ
    ----------------------------------*/
  }
  .page.radio #article .pictureFrame {
    max-width: 100%;
    max-height: 240px;
    height: 40vw;
    margin-bottom: 0.8rem;
  }
  .page.radio #article .pictureFrame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .page.radio .cardBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    margin: 0;
  }
  .page.radio .cardBox .card {
    width: 100%;
    padding: 1.2rem 0 0 0;
    margin-bottom: 1.2rem;
    background: rgb(255, 255, 255);
    border-radius: 6px;
    box-shadow: 0 0 6px 0 rgba(36, 35, 35, 0.15);
  }
  .page.radio .cardBox .card .airdate {
    position: relative;
    margin-bottom: 0.6rem;
    padding: 0 1.2rem;
    font-size: 0.75rem;
    overflow: hidden;
  }
  .page.radio .cardBox .card .airdate::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -6px;
    display: block;
    width: 1rem;
    height: 100%;
    background: rgb(178, 16, 37);
    transform: skewX(-3deg);
  }
  .page.radio .cardBox .card .airdate .encore {
    display: inline-block;
    margin-left: 0.6rem;
    font-size: 0.625rem;
    color: rgb(106, 106, 106);
  }
  .page.radio .cardBox .card .content {
    margin-bottom: 0.8rem;
    padding: 0 1.2rem;
  }
  .page.radio .cardBox .card .content .dept, .page.radio .cardBox .card .content .note {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.75rem;
    line-height: 1.6em;
  }
  .page.radio .cardBox .card .content .title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
  }
  .page.radio .cardBox .card .content .guest {
    padding: 0;
    margin-top: 0.2rem;
  }
  .page.radio .cardBox .card .content + .audio {
    margin-top: 1rem;
  }
  .page.radio .cardBox .card .guest {
    padding: 0 1.2rem 1rem;
    font-size: 0.825rem;
  }
  .page.radio .cardBox .card .guest .name .compellation {
    display: inline-block;
    margin-left: 0.5em;
    font-size: 0.75rem;
  }
  .page.radio .cardBox .card .guest .name + .name::before {
    content: "、";
    display: inline-block;
  }
  .page.radio .cardBox .card .audio {
    padding: 0.8rem;
    line-height: 0;
    background: rgb(71, 71, 71);
    border-radius: 0 0 6px 6px;
  }
  .page.radio .cardBox .card .audio audio {
    width: 100%;
  }
  .page.radio_fy #article .pictureFrame {
    max-height: 160px;
    height: 25vw;
    margin-bottom: 0.8rem;
  }
  .page.radio_fy #article .pictureFrame + section {
    margin-top: 0;
  }
  .page.related-links .mainContainer #article > section {
    margin-top: 0;
  }
  .top-level #hero {
    height: 439px;
  }
  .top-level #hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 8rem;
    background-color: rgba(0, 9, 22, 0.25);
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 1.5px, rgba(0, 9, 22, 0.15) 1.5px, rgba(0, 9, 22, 0.15) 3px);
    background-position: center center;
    background-repeat: repeat;
  }
  .top-level #hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
  }
  #overview {
    /* ----------------------------------*/
    /* ----------------------------------*/
  }
  #overview.page.top-level main .mainContainer #article .catchBox + .catch {
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 700;
  }
  #overview.page.top-level main .mainContainer #article .catchBox + .catch + .bull {
    margin-bottom: 2.4rem;
  }
  #overview.messages .mainContainer #article {
    margin-bottom: 3.2rem;
  }
  #overview.messages .mainContainer #article section::before {
    content: "";
    display: block;
    width: 3.2rem;
    height: 1px;
    margin-bottom: 1.6rem;
    background: rgb(178, 16, 37);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #overview.messages .mainContainer #article section::before {
    width: 4.8rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 1015px) {
  #overview.messages .mainContainer #article section p {
    margin-bottom: 2em;
    text-indent: 1.15em;
    line-height: 2em;
    letter-spacing: 0.15em;
  }
  #overview.messages .mainContainer #article .photoFrame {
    width: 200px;
    height: 200px;
    margin: 0 0 1em 1em;
    float: right;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #overview.messages .mainContainer #article .photoFrame {
    margin: 0 auto -1.6rem;
    float: none;
  }
}
@media only screen and (max-width: 1015px) {
  #overview.messages .mainContainer #article .photoFrame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #overview.messages .mainContainer #article .signature {
    letter-spacing: 0.1em;
  }
  #overview.messages .mainContainer #article .signature img {
    margin-top: -4px;
    margin-left: 1rem;
    vertical-align: middle;
  }
  #studentLife {
    clear: both;
    width: 100%;
    margin-bottom: 4.8rem;
  }
  #studentLife .heading {
    display: flex;
    width: 100%;
    height: 114vw;
    padding: 0;
    margin-bottom: -11.2rem;
    background: url("../img/studentLife/image-studentLife.jpg") center center/cover no-repeat;
  }
  #studentLife .heading .box {
    width: 100%;
    padding: 0;
    margin: 30% 0 auto;
  }
  #studentLife .heading .box img {
    width: 75vw;
    height: auto;
    max-width: 480px;
  }
  #studentLife .example {
    padding: 0;
  }
  #studentLife .example > li .box {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    padding: 0;
    overflow: hidden;
  }
  #studentLife .example > li .textBox {
    width: 100%;
    max-width: 664px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 1rem;
  }
  #studentLife .example > li .textBox::before {
    content: "";
    display: block;
    width: 24px;
    height: 100px;
    margin: 0.5rem 0 0 1rem;
    float: right;
    background: url("../img/arw-flowchart.svg") center center no-repeat;
  }
  #studentLife .example > li .textBox .grade {
    position: absolute;
    top: calc(12% + 1.6rem);
    left: 50%;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    margin: 0 0 3.2rem -60px;
    color: rgb(147, 8, 8);
    font-size: 1.125rem;
    line-height: 1em;
    letter-spacing: 0.1em;
    background: rgb(249, 248, 248);
    border-radius: 50%;
    box-shadow: 0 1rem 0 0 rgb(147, 8, 8);
  }
  #studentLife .example > li .textBox p {
    margin-right: calc(1rem + 24px);
    margin-left: 0;
  }
  #studentLife .example > li .image-photo {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 664px;
    margin: 1.6rem 0;
  }
  #studentLife .example > li .image-photo .left, #studentLife .example > li .image-photo .right {
    height: auto;
  }
  #studentLife .example > li .image-photo::before {
    content: "";
    position: absolute;
    top: 1.6rem;
    right: auto;
    left: 0;
    z-index: -1;
    display: block;
    width: 100vw;
    height: 200px;
    background: rgb(232, 229, 226);
  }
  #studentLife .example > li:nth-child(odd) .box .textBox::before {
    margin-right: 1rem;
    margin-left: 0;
    float: left;
  }
  #studentLife .example > li:nth-child(odd) .box .textBox p {
    margin-right: 0;
    margin-left: calc(1rem + 24px);
  }
  #studentLife .example > li:nth-child(odd) .box .image-photo::before {
    left: 1.6rem;
  }
  #studentLife .example > li.freshman .box .textBox {
    align-self: center;
  }
  #studentLife .example > li.freshman .box .textBox .grade {
    top: 12%;
  }
  #studentLife .example > li.freshman .box .image-photo {
    margin-top: 0;
  }
  #studentLife .example > li.freshman .box .image-photo .left {
    align-self: flex-end;
    width: calc(58.4% - 0.8rem);
    max-width: 372px;
  }
  #studentLife .example > li.freshman .box .image-photo .right {
    align-self: flex-start;
    width: calc(41.6% - 0.8rem);
    max-width: 265px;
    margin-bottom: 2.4rem;
    margin-left: 1.6rem;
  }
  #studentLife .example > li.sophomore .box .image-photo {
    flex-direction: column-reverse;
  }
  #studentLife .example > li.sophomore .box .image-photo::before {
    right: 1.6rem;
    left: auto;
  }
  #studentLife .example > li.sophomore .box .image-photo .left {
    align-self: flex-start;
    width: calc(87.3% - 0.8rem);
    max-width: 580px;
  }
  #studentLife .example > li.sophomore .box .image-photo .right {
    align-self: flex-end;
    width: calc(39.9% - 0.8rem);
    max-width: 265px;
    margin-bottom: 1rem;
  }
  #studentLife .example > li.junior .box .image-photo .left {
    align-self: flex-end;
    width: calc(58.4% - 0.8rem);
    max-width: 372px;
  }
  #studentLife .example > li.junior .box .image-photo .right {
    align-self: flex-start;
    width: calc(41.6% - 0.8rem);
    max-width: 265px;
    margin-bottom: 2.4rem;
    margin-left: 1.6rem;
  }
  #studentLife .example > li.senior .box .textBox::before {
    display: none;
  }
  #studentLife .example > li.senior .box .textBox p {
    margin-right: 0;
  }
  #studentLife .example > li.senior .box .image-photo::before {
    right: 1.6rem;
    left: auto;
  }
  #studentLife .example > li.senior .box .image-photo .left {
    align-self: flex-start;
    width: calc(41.6% - 0.8rem);
    max-width: 265px;
    margin-right: 1.6rem;
    margin-bottom: 2.4rem;
  }
  #studentLife .example > li.senior .box .image-photo .right {
    align-self: flex-end;
    width: calc(58.4% - 0.8rem);
    max-width: 372px;
  }
  #threeAppeals {
    background: rgb(255, 255, 255);
  }
  #threeAppeals .heading.image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% + 1rem);
    height: 180px;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    margin-bottom: 3.2rem;
    background: url("../img/threeAppeals/title_bg-threeAppeals.jpg") center center/cover no-repeat;
    background-color: gray;
  }
  #threeAppeals .heading.image > img {
    max-width: 360px;
    width: 100%;
    height: auto;
    margin-bottom: -3rem;
    opacity: 0.9;
  }
  #threeAppeals .threeAppeals {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
  }
  #threeAppeals .threeAppeals > li {
    position: relative;
    width: 100%;
    margin-bottom: 3.2rem;
    font-size: 0.875rem;
  }
  #threeAppeals .threeAppeals > li::before {
    content: "";
    position: absolute;
    top: -1.6rem;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    border-top: dotted 1px rgb(178, 177, 177);
  }
  #threeAppeals .threeAppeals > li:first-child::before {
    display: none;
  }
  #threeAppeals .threeAppeals > li .heading {
    position: relative;
    margin-bottom: 1rem;
  }
  #threeAppeals .threeAppeals > li .heading img {
    position: absolute;
    top: 1rem;
    left: 0.5rem;
  }
  #threeAppeals .threeAppeals > li .heading .label .catch {
    display: block;
    width: 100%;
    padding: 0.4em 1rem;
    margin-bottom: 1.6rem;
    text-align: center;
    line-height: 1em;
    color: rgb(178, 16, 37);
    border: solid 1px rgb(178, 16, 37);
  }
  #threeAppeals .threeAppeals > li .heading .label .title {
    display: block;
    margin-left: calc(0.5rem + 58px + 0.5rem);
    font-size: 1.125rem;
    font-weight: 700;
  }
  #threeAppeals .threeAppeals > li .imageBox {
    width: 100%;
    height: 186px;
    margin-bottom: 1rem;
    background: gray;
  }
  #threeAppeals .threeAppeals > li .imageBox > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #threeAppeals .threeAppeals > li .text {
    grid-area: text;
    margin-bottom: 1.6rem;
  }
  #threeAppeals .threeAppeals > li .text + .button {
    margin: 0 auto;
  }
  #department.page.top-level {
    /* ページトップ
    ----------------------------------*/
    /* 学科・コースの概要紹介
    ----------------------------------*/
    /* 専攻が決まるまで
    ----------------------------------*/
  }
  #department.page.top-level #article .headingBox .heading {
    font-size: 1.25rem;
    line-height: 1.8em;
    letter-spacing: 0.14em;
  }
  #department.page.top-level #article .headingBox .button {
    margin-bottom: 0;
  }
  #department.page.top-level #article + figure {
    display: none;
  }
  #department.page.top-level #summaries {
    margin-top: 4.8rem;
  }
  #department.page.top-level #summaries .summary {
    position: relative;
    display: flex;
    margin-top: 3.2rem;
  }
  #department.page.top-level #summaries .summary .box {
    padding-right: 0;
    padding-left: 0;
  }
  #department.page.top-level #summaries .summary .headingBox {
    display: flex;
    flex-direction: column-reverse;
    margin-top: -1.6rem;
    margin-bottom: 0;
  }
  #department.page.top-level #summaries .summary .headingBox .heading {
    position: initial;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 2.4rem 1.6rem 1.2rem;
    margin: -2.4rem 0 0 1rem;
    background-color: rgb(255, 255, 255);
    background-position: right -6rem center;
    background-repeat: no-repeat;
    background-size: 80%;
    border-style: solid;
    border-width: 0;
    border-top-width: 10px;
  }
  #department.page.top-level #summaries .summary .headingBox .heading > * {
    width: 100%;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox {
    margin-bottom: 1.6rem;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .title {
    padding-bottom: 0.8rem;
    margin-bottom: 1.125rem;
    font-size: 1.125rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
    border-bottom-style: solid;
    border-bottom-width: 1px;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .title .label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.875rem;
    line-height: 1em;
    font-weight: 500;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .lead {
    font-size: 1.375rem;
    line-height: 1.8em;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .lead span {
    display: inline-block;
    margin-top: 0.8em;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .button {
    position: absolute;
    bottom: 4.8rem;
    width: calc(100% - 4.2rem);
    margin: 0;
    padding: 0.8em 2.4em;
    text-align: center;
  }
  #department.page.top-level #summaries .summary .headingBox .heading-image {
    width: 100%;
    height: 62.5vw;
    margin: 0;
  }
  #department.page.top-level #summaries .summary .headingBox .heading-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page.top-level #summaries .summary .majorBox {
    display: flex;
    margin-right: 0;
    margin-bottom: 2.4rem;
    margin-left: 1rem;
    background-color: rgb(255, 255, 255);
    border-style: solid;
    border-width: 0;
    border-bottom-width: 2px;
  }
  #department.page.top-level #summaries .summary .majorBox .major {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 1.6rem 6rem;
  }
  #department.page.top-level #summaries .summary .majorBox .major .heading {
    display: flex;
    justify-content: flex-end;
    order: 1;
    margin-top: 0.6rem;
    margin-bottom: 1rem;
  }
  #department.page.top-level #summaries .summary .majorBox .major .heading .title {
    display: none;
  }
  #department.page.top-level #summaries .summary .majorBox .major .majorList {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    order: 2;
    padding: 0.6em 0 1.2em;
    margin-bottom: 1rem;
    background-color: rgb(71, 71, 71);
  }
  #department.page.top-level #summaries .summary .majorBox .major .majorList li a {
    display: block;
    padding: 1.2em 1.6em 0.8em;
    color: rgb(249, 248, 248);
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    text-align: center;
  }
  #department.page.top-level #summaries .summary .majorBox .major .textBox {
    order: 0;
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
  }
  #department.page.top-level #summaries .summary .majorBox figure {
    flex-shrink: 0;
    width: 300px;
    height: 180px;
    margin: 0 0 0 1.6rem;
  }
  #department.page.top-level #summaries .summary .majorBox figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page.top-level #summaries .summary:nth-child(odd) .headingBox .heading {
    margin-right: 1rem;
    margin-left: 0;
  }
  #department.page.top-level #summaries .summary:nth-child(odd) .majorBox {
    margin-right: 1rem;
    margin-left: 0;
  }
  #department.page.top-level #summaries .hss_cc {
    background-color: rgba(254, 182, 36, 0.1);
  }
  #department.page.top-level #summaries .hss_cc .headingBox .heading,
  #department.page.top-level #summaries .hss_cc .majorBox {
    border-color: rgb(254, 182, 36);
  }
  #department.page.top-level #summaries .hss_cc .headingBox .heading {
    background-image: url("../img/ico-dept-hss_cc-opacity.svg");
    background-position: right -3.2rem center;
  }
  #department.page.top-level #summaries .hss_cc .headingBox .heading .title {
    border-bottom-color: rgb(254, 182, 36);
  }
  #department.page.top-level #summaries .hss_s {
    background-color: rgba(249, 209, 0, 0.1);
  }
  #department.page.top-level #summaries .hss_s .headingBox .heading,
  #department.page.top-level #summaries .hss_s .majorBox {
    border-color: rgb(249, 209, 0);
  }
  #department.page.top-level #summaries .hss_s .headingBox .heading {
    background-image: url("../img/ico-dept-hss_s-opacity.svg");
  }
  #department.page.top-level #summaries .hss_s .headingBox .heading .title {
    border-bottom-color: rgb(249, 209, 0);
  }
  #department.page.top-level #summaries .hss_lcna {
    background-color: rgba(249, 227, 97, 0.1);
  }
  #department.page.top-level #summaries .hss_lcna .headingBox .heading,
  #department.page.top-level #summaries .hss_lcna .majorBox {
    border-color: rgb(249, 227, 97);
  }
  #department.page.top-level #summaries .hss_lcna .headingBox .heading {
    background-image: url("../img/ico-dept-hss_lcna-opacity.svg");
  }
  #department.page.top-level #summaries .hss_lcna .headingBox .heading .title {
    border-bottom-color: rgb(249, 227, 97);
  }
  #department.page.top-level #summaries .hg {
    background-color: rgba(25, 151, 92, 0.1);
  }
  #department.page.top-level #summaries .hg .headingBox .heading,
  #department.page.top-level #summaries .hg .majorBox {
    border-color: rgb(25, 151, 92);
  }
  #department.page.top-level #summaries .hg .headingBox .heading {
    background-image: url("../img/ico-dept-hg-opacity.svg");
    background-position: right -4.8rem center;
  }
  #department.page.top-level #summaries .hg .headingBox .heading .title {
    border-bottom-color: rgb(25, 151, 92);
  }
  #department.page.top-level #summaries .hg .headingBox .heading-image img {
    object-position: center center;
  }
  #department.page.top-level #summaries .jll {
    background-color: rgba(111, 92, 178, 0.1);
  }
  #department.page.top-level #summaries .jll .headingBox .heading,
  #department.page.top-level #summaries .jll .majorBox {
    border-color: rgb(111, 92, 178);
  }
  #department.page.top-level #summaries .jll .headingBox .heading {
    background-image: url("../img/ico-dept-jll-opacity.svg");
    background-position: right -4.8rem center;
  }
  #department.page.top-level #summaries .jll .headingBox .heading .title {
    border-bottom-color: rgb(111, 92, 178);
  }
  #department.page.top-level #summaries .psych {
    background-color: rgba(45, 164, 216, 0.1);
  }
  #department.page.top-level #summaries .psych .headingBox .heading,
  #department.page.top-level #summaries .psych .majorBox {
    border-color: rgb(45, 164, 216);
  }
  #department.page.top-level #summaries .psych .headingBox .heading {
    background-image: url("../img/ico-dept-psych-opacity.svg");
  }
  #department.page.top-level #summaries .psych .headingBox .heading .title {
    border-bottom-color: rgb(45, 164, 216);
  }
  #department.page.top-level #summaries .psych .headingBox .heading-image img {
    object-position: right center;
  }
  #department.page.top-level #how-to-decide-on-your-major {
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box {
    padding-right: 0;
    padding-left: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox {
    margin: 0 1rem 2.4rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket {
    padding: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket > li {
    margin-top: 2.4rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket > li::before {
    margin-right: 0;
    margin-left: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket .title {
    display: inline-block;
    margin-bottom: 0.5rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withCircle > li {
    margin-bottom: 0.6rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart {
    margin-bottom: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .title {
    padding-bottom: 0.6rem;
    margin-bottom: 1.2rem;
    font-size: 0.875rem;
    text-align: center;
    border-bottom: solid 1px rgb(147, 8, 8);
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol {
    padding: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol .label {
    display: block;
    padding: 0.8em 0;
    margin-bottom: 0.6rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4em;
    background-color: rgb(249, 248, 248);
    border: solid 3px rgb(147, 8, 8);
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol .label strong {
    margin-right: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol > li {
    margin-top: 1rem;
    font-size: 0.75rem;
    line-height: 1.6em;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol > li:first-child .label {
    color: rgb(249, 248, 248);
    background-color: rgb(147, 8, 8);
    border: none;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol > li:first-child::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 0.6rem auto 0;
    line-height: 0;
    border: solid 30px transparent;
    border-top: solid 20px rgb(147, 8, 8);
    border-bottom: none;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .one,
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .two {
    width: 100%;
    padding: 1.2rem 1rem;
    background-color: rgb(239, 236, 237);
    border: solid 1px rgb(213, 213, 213);
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .one {
    margin-bottom: 1rem;
  }
  #department.page:not(.top-level):not(.has-sideBar) .mainContainer #article {
    width: 100%;
  }
  #department.page:not(.top-level) {
    /* ページトップ
    ----------------------------------*/
    /* ピックアップ授業
    ----------------------------------*/
    /* 教員の紹介
    ----------------------------------*/
    /* 専攻一覧
    ----------------------------------*/
  }
  #department.page:not(.top-level) .mainContainer {
    background-position: right -60px top 2.4rem;
    background-size: 80%;
    background-repeat: no-repeat;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox::after {
    content: "";
    display: block;
    clear: both;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading {
    width: 100%;
    margin-bottom: 2.4rem;
    font-size: 1.5rem;
    line-height: 1.8em;
    float: none;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading br {
    display: none;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading span {
    display: block;
    margin-top: 1rem;
    /*
    br {
      display: block;
    }
    */
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading-image {
    width: 100%;
    height: 62vw;
    margin-bottom: 1rem;
    float: none;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .textBox {
    width: 100%;
    clear: both;
  }
  #department.page:not(.top-level) .mainContainer #article .buttonBox {
    margin-top: 2.4rem;
    clear: both;
  }
  #department.page:not(.top-level) #pickups {
    padding: 3.2rem 0;
    margin-bottom: 2.4rem;
  }
  #department.page:not(.top-level) #pickups .box {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  #department.page:not(.top-level) #pickups .box .slick-list .slick-track {
    left: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture {
    width: calc(100% - 32px);
    padding: 0;
    margin-right: 16px;
    margin-left: 16px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .heading {
    width: calc(100% + 16px);
    margin-left: -8px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .gallery {
    width: 100%;
  }
  #department.page:not(.top-level) #pickups .box #lecture .gallery .slick-list {
    background-color: rgb(249, 248, 248);
    box-shadow: 0 0 5px 0 rgba(36, 35, 35, 0.2);
    z-index: 1;
  }
  #department.page:not(.top-level) #pickups .box #lecture .gallery .prev,
  #department.page:not(.top-level) #pickups .box #lecture .gallery .next {
    background-position: right 2px center;
  }
  #department.page:not(.top-level) #pickups .box #lecture .gallery .prev {
    left: -22px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .gallery .next {
    right: -22px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm,
  #department.page:not(.top-level) #pickups .box #lecture .lecture {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section {
    display: flex;
    flex-direction: column-reverse;
    padding: 6px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .headingBox,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox {
    padding: 1.6rem 1.2rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .headingBox .title,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox .title {
    margin-bottom: 0.8rem;
    font-size: 1.125rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .headingBox p,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox p {
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.06em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .image,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .image {
    width: 100%;
    max-width: 100%;
    max-height: none;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .image img,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section {
    height: 100%;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData {
    position: relative;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    padding: 1.6rem 0 2.4rem;
    margin: auto 0 -1rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .label {
    display: block;
    padding: 0.3rem 1rem 0.4rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    line-height: 1rem;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: rgb(232, 229, 226);
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .teacher .affiliation {
    margin-bottom: 0.3rem;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .teacher .name {
    margin-bottom: 0;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .profileLink {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 0.625rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .profileLink .arw-circle {
    top: 3px;
    width: 14px;
    height: 14px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture.charm > section .teacherData {
    padding: 0.8rem 0;
  }
  #department.page:not(.top-level) #pickups .box #study {
    width: 100%;
    padding: 0 8px;
    margin-top: 1.6rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section {
    display: flex;
    flex-direction: column-reverse;
    padding: 32px;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox {
    padding: 1.6rem 0 0.8rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .title {
    margin-bottom: 0.8rem;
    font-size: 1.125rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .title span {
    display: inline-block;
    margin-top: 0.3rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .summary .subtitle {
    margin-bottom: 0.8rem;
    margin-top: 1.4rem;
    font-size: 1rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .summary .subtitle:first-child {
    margin-top: -0.2em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student {
    padding: 1.2rem;
    margin-top: 1.6rem;
    background: rgba(249, 248, 248, 0.75);
    border-radius: 5px;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student .name {
    font-weight: 700;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student .name .san {
    font-size: 0.75rem;
    padding-left: 0.3rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student .affiliation {
    font-size: 0.75rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox p {
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.06em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox p.teacher {
    margin-top: 1.6rem;
    font-size: 0.75rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox p.teacher .label {
    display: block;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .image {
    width: 100%;
    max-width: 100%;
    max-height: none;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page:not(.top-level) #pickups .box #study .study .button {
    margin-top: 1.2rem;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .slick-slider .prev, #department.page:not(.top-level) #pickups .box #study .slick-slider .next {
    z-index: 100;
    width: 32px;
    height: 32px;
    margin-top: -16px;
    background-color: transparent;
    background-image: url("../img/arw-down-red.svg");
    background-size: 32px 32px;
    background-position: center center;
    border-radius: 0;
    box-shadow: none;
  }
  #department.page:not(.top-level) #pickups .box #study .slick-slider .prev {
    left: -12px;
    transform: rotateZ(90deg);
  }
  #department.page:not(.top-level) #pickups .box #study .slick-slider .next {
    right: -12px;
    transform: rotateZ(-90deg);
  }
  #department.page:not(.top-level) #faculty {
    position: relative;
    margin-top: 6.4rem;
  }
  #department.page:not(.top-level) #faculty > .link {
    position: relative;
    top: auto;
    right: auto;
    display: block;
    text-align: right;
  }
  #department.page:not(.top-level) .sectionBox {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    /* 卒論のテーマ
    ----------------------------------*/
    /* 関連リンク
    ----------------------------------*/
  }
  #department.page:not(.top-level) .sectionBox > section {
    width: 100%;
    margin-top: 4.8rem;
  }
  #department.page:not(.top-level) .sectionBox #graduationThesis {
    position: relative;
  }
  #department.page:not(.top-level) .sectionBox #graduationThesis > .link {
    position: relative;
    top: auto;
    right: auto;
    display: block;
    text-align: right;
  }
  #department.page:not(.top-level) #major {
    margin-top: 6.4rem;
    margin-bottom: 4.8rem;
  }
  #department.page:not(.top-level) #major .heading {
    margin-bottom: 3.2rem;
  }
  #department.page:not(.top-level) #major .linkTable {
    margin-bottom: 3.2rem;
  }
  #department.page:not(.top-level) #major .majorSummary {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    padding-top: calc(2.9rem + 1px);
    margin: 0 -0.5rem 2.4rem;
  }
  #department.page:not(.top-level) #major .majorSummary.current {
    opacity: 0.3;
  }
  #department.page:not(.top-level) #major .majorSummary .headingBox {
    width: calc(100% - 1.6rem);
    margin: -2rem 0.8rem 0;
    padding: 1.4rem 1rem 1rem;
    background: rgb(255, 255, 255);
    box-shadow: 0 0 5px 0 rgba(36, 35, 35, 0.1);
    z-index: 1;
  }
  #department.page:not(.top-level) #major .majorSummary .headingBox .title {
    position: absolute;
    top: 0;
    right: 0.8rem;
    left: 0.8rem;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
    border-bottom-style: solid;
    border-bottom-width: 1px;
  }
  #department.page:not(.top-level) #major .majorSummary .headingBox .catch {
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6em;
    letter-spacing: 0.06em;
  }
  #department.page:not(.top-level) #major .majorSummary .headingBox .textBox {
    font-size: 0.875rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #major .majorSummary .headingBox .button {
    margin-top: 1rem;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #major .majorSummary .heading-image {
    width: 100%;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #major .majorSummary .heading-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page:not(.top-level).hss_cc .mainContainer {
    background-image: url("../img/ico-dept-hss_cc-opacity.svg");
  }
  #department.page:not(.top-level).hss_cc #pickups {
    background: rgba(254, 182, 36, 0.1);
  }
  #department.page:not(.top-level).hss_cc #pickups #study .slick-list {
    background-color: rgba(254, 182, 36, 0.1);
  }
  #department.page:not(.top-level).hss_cc #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(254, 182, 36);
  }
  #department.page:not(.top-level).hss_cc #major #eac .heading-image img {
    object-position: right center;
  }
  #department.page:not(.top-level).hss_cc #major #phil .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_cc #major #lis .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_cc #major #ma .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_s .mainContainer {
    background-image: url("../img/ico-dept-hss_s-opacity.svg");
  }
  #department.page:not(.top-level).hss_s #pickups {
    background: rgba(249, 209, 0, 0.1);
  }
  #department.page:not(.top-level).hss_s #pickups #study .slick-list {
    background-color: rgba(249, 209, 0, 0.1);
  }
  #department.page:not(.top-level).hss_s #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(249, 209, 0);
  }
  #department.page:not(.top-level).hss_s #major #soc .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna .mainContainer {
    background-image: url("../img/ico-dept-hss_lcna-opacity.svg");
  }
  #department.page:not(.top-level).hss_lcna .mainContainer .headingBox .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna #pickups {
    background: rgba(249, 227, 97, 0.1);
  }
  #department.page:not(.top-level).hss_lcna #pickups #study .slick-list {
    background-color: rgba(249, 227, 97, 0.1);
  }
  #department.page:not(.top-level).hss_lcna #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(249, 227, 97);
  }
  #department.page:not(.top-level).hss_lcna #major #mie .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna #major #gbl .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna #major #fswl .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hg .mainContainer {
    background-image: url("../img/ico-dept-hg-opacity.svg");
  }
  #department.page:not(.top-level).hg #pickups {
    background: rgba(25, 151, 92, 0.1);
  }
  #department.page:not(.top-level).hg #pickups #study .slick-list {
    background-color: rgba(25, 151, 92, 0.1);
  }
  #department.page:not(.top-level).hg #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(25, 151, 92);
  }
  #department.page:not(.top-level).hg #major #jhs .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hg #major #whs .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hg #major #geo .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).jll .mainContainer {
    background-image: url("../img/ico-dept-jll-opacity.svg");
  }
  #department.page:not(.top-level).jll #pickups {
    background: rgba(111, 92, 178, 0.1);
  }
  #department.page:not(.top-level).jll #pickups #study .slick-list {
    background-color: rgba(111, 92, 178, 0.1);
  }
  #department.page:not(.top-level).jll #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(111, 92, 178);
  }
  #department.page:not(.top-level).jll #major #jll .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).psych .mainContainer {
    background-image: url("../img/ico-dept-psych-opacity.svg");
  }
  #department.page:not(.top-level).psych #pickups {
    background: rgba(45, 164, 216, 0.1);
  }
  #department.page:not(.top-level).psych #pickups #study .slick-list {
    background-color: rgba(45, 164, 216, 0.1);
  }
  #department.page:not(.top-level).psych #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(45, 164, 216);
  }
  #department.page:not(.top-level).psych #major #psych .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).faculty main .mainContainer {
    background-image: none;
  }
  #department.page:not(.top-level).qualification main .mainContainer {
    background-image: none;
  }
  #gallery.page main #hero {
    height: 1124px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #hero {
    height: 1060px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 769px) {
  #gallery.page main #hero {
    height: 1020px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main #hero {
    height: 920px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 420px) {
  #gallery.page main #hero {
    height: 860px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 375px) {
  #gallery.page main #hero {
    height: 834px;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #hero img {
    object-position: center top;
  }
  #gallery.page main #hero::before {
    display: none;
  }
  #gallery.page main #titleBox > .content {
    display: flex;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox > .content {
    flex-direction: column;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle {
    width: 608px;
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle {
    margin-right: -216px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle {
    width: 100%;
    max-width: calc(50vw + 0.5rem);
    min-width: 360px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main #titleBox .pageTitle {
    max-width: calc(80vw + 0.5rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 360px) {
  #gallery.page main #titleBox .pageTitle {
    min-width: auto;
    max-width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .pankuzu li a, #gallery.page main #titleBox .pageTitle .pankuzu li span, #gallery.page main #titleBox .pageTitle .pankuzu li::after {
    color: rgb(249, 248, 248);
  }
  #gallery.page main #titleBox .pageTitle .title {
    margin: 4.2rem 0 5.8rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title {
    margin: 2.4rem 0 4.8rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main #titleBox .pageTitle .title {
    margin: 1.6rem 0 4rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title img {
    margin-left: -0.8rem;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title img {
    width: 80%;
    height: auto;
    margin-left: 0.6rem;
    margin-bottom: 1.6rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon {
    position: relative;
    display: block;
    padding: 6px 0 6px 0.8rem;
    margin-left: 0.8rem;
    line-height: 1em;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: rgb(147, 8, 8);
    background: rgb(249, 248, 248);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon {
    display: inline-block;
    padding: 6px 0.8rem 6px 2rem;
    margin-right: 0.8rem;
    margin-left: -0.6rem;
    font-size: 0.875rem;
    text-align: right;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 360px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon {
    padding: 6px 0 6px 6px;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(-0.5rem - 6px);
    display: inline-block;
    width: 0;
    height: 0;
    border: solid calc(0.5rem + 6px) transparent;
    border-right-color: rgb(249, 248, 248);
    border-left-width: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon::before {
    display: none;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon::after {
    content: "";
    position: absolute;
    top: 0;
    right: calc(-0.5rem - 5px);
    display: inline-block;
    width: 0;
    height: 0;
    border: solid calc(0.5rem + 5px) transparent;
    border-left-color: rgb(249, 248, 248);
    border-right-width: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle::after {
    bottom: 58px;
    width: 100%;
    height: 342px;
    background: rgba(229, 1, 111, 0.6);
    background: linear-gradient(to bottom, rgba(229, 1, 111, 0.6) 0%, rgba(173, 0, 66, 0.8) 100%);
    border: none;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle::after {
    height: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle + iframe,
  #gallery.page main #titleBox .pageTitle + figure {
    position: relative;
    z-index: 1;
    width: 608px;
    height: 342px;
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle + iframe,
  #gallery.page main #titleBox .pageTitle + figure {
    width: calc(100vw - 4rem);
    height: calc((100vw - 4rem) * 0.5625);
    max-width: 608px;
    max-height: 342px;
    margin: -2.4rem auto 1.6rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle + figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main #titleBox .button {
    margin: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main #titleBox .button {
    position: relative;
    z-index: 10;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer {
    margin-top: -300px;
    background: linear-gradient(to bottom, rgba(249, 248, 248, 0.6) 0px, #f9f8f8 300px);
  }
  #gallery.page main .mainContainer #article {
    width: 100%;
    /* 冒頭エリア
    ----------------------------------*/
    /* 各ツアー内容
    ----------------------------------*/
  }
  #gallery.page main .mainContainer #article .catch {
    font-size: 1.8rem;
    line-height: 1.8em;
    letter-spacing: 0.2em;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 769px) {
  #gallery.page main .mainContainer #article .catch {
    font-size: 1.5rem;
    letter-spacing: 0.15rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .catch br.mb {
    display: none;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 420px) {
  #gallery.page main .mainContainer #article .catch br.mb {
    display: block;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article figure {
    position: relative;
    margin: 0;
  }
  #gallery.page main .mainContainer #article figure figcaption {
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    font-size: 0.625rem;
    line-height: 1.4em;
    color: rgb(249, 248, 248);
    letter-spacing: 0.1em;
    text-shadow: 0 0 3px rgb(36, 35, 35);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article figure figcaption {
    top: 0.5rem;
    right: 0.5rem;
    bottom: auto;
    left: auto;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .thumbnail {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .thumbnail .image {
    width: 160px;
    height: 160px;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .thumbnail .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article #firstArea {
    display: flex;
    margin-bottom: 4.8rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea {
    flex-direction: column;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    width: 496px;
    margin-left: auto;
    margin-right: 8px;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    width: calc(100% - 4rem);
    max-width: 600px;
    margin: 4.8rem auto 2.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 769px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    width: calc(100% - 2rem);
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading {
    margin-bottom: 3.2rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading {
    text-align: center;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading .label {
    display: block;
    margin-top: 0.8rem;
    margin-bottom: 3.2rem;
    color: rgb(178, 16, 37);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading .label {
    margin-bottom: 1.6rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox {
    max-width: 50%;
    margin-top: -6.4rem;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox {
    min-width: 496px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox {
    width: calc(100% - 4rem);
    max-width: 704px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .mainImage {
    width: 100%;
    height: 397px;
    margin-bottom: 8px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .mainImage {
    height: 300px;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .mainImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article #firstArea .photoBox .thumbnail {
    width: 496px;
    margin-right: auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .thumbnail {
    justify-content: center;
    width: auto;
    margin: 0 auto;
  }
  #gallery.page main .mainContainer #article #firstArea .photoBox .thumbnail .image {
    max-width: 160px;
    width: 100%;
    height: 100px;
    margin: 0 4px;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour {
    margin-bottom: 4.8rem;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .content {
    position: relative;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour .content {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .leadBox {
    width: 497px;
    padding-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .leadBox {
    position: absolute;
    top: 3.2rem;
    right: auto;
    bottom: auto;
    left: 0;
    z-index: 10;
    width: calc(100% - 1rem);
    max-width: calc(497px + 3.2rem);
    padding: 2.4rem 1.6rem;
    background: rgba(255, 255, 255, 0.8);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour .leadBox {
    position: relative;
    top: 0;
    left: auto;
    margin-top: -2.4rem;
    margin-right: auto;
    margin-left: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox {
    margin-bottom: 0;
  }
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox .label {
    margin-bottom: 2.4rem;
  }
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox .catch {
    margin-bottom: 1.2rem;
  }
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox sup {
    top: -0.75rem;
    margin: 0 0 0 -2px;
    color: rgb(142, 142, 142);
    font-size: 1rem;
  }
  #gallery.page main .mainContainer #article .tour .photoBox {
    width: 454px;
    height: 584px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .photoBox {
    width: calc(100vw - 2rem);
    height: calc((100vw - 2rem) * 1.39);
    max-width: 503px;
    max-height: 700px;
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour .photoBox {
    width: 100vw;
    height: 139vw;
    max-width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .photoBox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox {
    margin-top: -2.4rem;
    padding: 4.8rem 0 0.8rem;
    background: rgb(241, 237, 238);
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .box {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .box {
    padding-right: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .box {
    max-width: calc(1000px + 2rem);
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item {
    width: 187px;
    height: 187px;
    margin-left: 16px;
    line-height: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item {
    height: auto;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item .image {
    display: block;
    width: 100%;
    height: 100%;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .slick-track {
    left: -1rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .slick-track {
    left: -0.5rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev, #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .next {
    z-index: 2;
    height: 28px;
    margin-top: calc(-14px - 1.8rem);
    border-radius: 50%;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev {
    left: -14px;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list {
    position: relative;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before, #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 1;
    display: block;
    width: calc(1rem - 4px);
    height: 100%;
    background: rgb(241, 237, 238);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before, #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::after {
    width: 0.5rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before {
    left: 0;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before {
    display: none;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before {
    width: 0.5rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::after {
    right: 0;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .next {
    right: calc(-18px + 1rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .next {
    right: -4px;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content {
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content .leadBox {
    right: 0;
    left: auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content .leadBox {
    right: auto;
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content .photoBox {
    margin-right: auto;
    margin-left: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content figure figcaption {
    right: auto;
    left: 0.5rem;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery {
    margin-top: 3.2rem;
  }
  #gallery.page main .mainContainer #article .tour#lush-greenery .headingBox {
    padding-top: 1rem;
    background: url("../img/virtual-tour/heading-lush_greenery.svg") right top/auto 90px no-repeat;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery .headingBox {
    background-size: min(100%, 356px) auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery .photoBox {
    height: 60vw;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery .photoBox img {
    object-position: center bottom;
  }
  #gallery.page main .mainContainer #article .tour#respect-for-history .headingBox {
    padding-top: 1.6rem;
    background: url("../img/virtual-tour/heading-respect_for_history.svg") right top/auto 96px no-repeat;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#respect-for-history .headingBox {
    background-size: min(100%, 420px) auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#respect-for-history .photoBox {
    height: 60vw;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#respect-for-history .photoBox img {
    object-position: center -240px;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#campus-life .headingBox {
    padding-top: 1rem;
    background: url("../img/virtual-tour/heading-campus_life.svg") right top/auto 66px no-repeat;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#campus-life .headingBox {
    background-size: min(100%, 326px) auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#campus-life .photoBox {
    height: 60vw;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#library .headingBox {
    padding-top: 0.8rem;
    background: url("../img/virtual-tour/heading-library.svg") right top/auto 40px no-repeat;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#library .headingBox {
    background-position: right 1rem;
    background-size: min(100%, 258px) auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#library .photoBox {
    height: 60vw;
  }
}
@media only screen and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#library .photoBox img {
    object-position: center right;
  }
  #column.page main #hero {
    height: calc(295px - 6.2rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page main #hero {
    height: calc(150px - 2.4rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page main #hero::before {
    display: none;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main #hero img {
    object-position: center 0;
  }
  #column.page main #titleBox {
    top: calc(216px - 2.4rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page main #titleBox {
    top: 5.6rem;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main #titleBox .pageTitle {
    padding-bottom: 0.6rem;
  }
  #column.page main .mainContainer {
    padding-top: 0;
  }
  #column.page main .mainContainer #article {
    width: 100%;
  }
  #column.page main .mainContainer #article .headingBox {
    position: relative;
    width: 100%;
    padding: 2.8rem 8px 5.4rem;
    text-align: center;
  }
  #column.page main .mainContainer #article .headingBox .heading {
    display: inline-block;
    width: auto;
    margin: 0 auto;
    text-align: left;
  }
  #column.page main .mainContainer #article .headingBox .heading .corner-logo {
    display: block;
    margin-bottom: 0.5rem;
  }
  #column.page main .mainContainer #article .headingBox .heading .label {
    font-size: 0.625rem;
    line-height: 22px;
    letter-spacing: 0.1em;
    color: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article .headingBox::before, #column.page main .mainContainer #article .headingBox::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background-position: center center;
  }
  #column.page main .mainContainer #article .headingBox::before {
    background-color: rgba(176, 0, 56, 0.1);
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 1.5px, rgba(176, 0, 56, 0.1) 1.5px, rgba(176, 0, 56, 0.1) 3px);
    background-repeat: repeat;
    opacity: 0.3;
  }
  #column.page main .mainContainer #article .headingBox::after {
    background-image: url("../img/title-column_logo-white.svg");
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.5;
  }
  #column.page main .mainContainer #article .postList {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3.2rem 1%;
    width: 100%;
    margin-bottom: 6.4rem;
  }
  #column.page main .mainContainer #article .postList .post {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: repeat(5, auto);
    gap: 0px;
    grid-auto-flow: row;
    grid-template-areas: "meta" "thumbnail" "heading" "button" "author";
    width: 32.666%;
    background: rgb(255, 255, 255);
    border-top: solid 2px rgb(147, 8, 8);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    box-shadow: 0 0.9px 2.3px rgba(0, 9, 22, 0.001), 0 2px 7.3px rgba(0, 9, 22, 0.01), 0 5.5px 19.9px rgba(0, 9, 22, 0.031), 0 28px 80px rgba(0, 9, 22, 0.07);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 901px) {
  #column.page main .mainContainer #article .postList .post {
    width: 49.5%;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 641px) {
  #column.page main .mainContainer #article .postList .post {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main .mainContainer #article .postList .post .meta {
    grid-area: meta;
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    font-size: 0.625rem;
    line-height: 1em;
  }
  #column.page main .mainContainer #article .postList .post .meta .date {
    letter-spacing: 0.2em;
    color: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article .postList .post .meta .category a {
    letter-spacing: 0.1em;
    color: rgb(36, 35, 35);
  }
  #column.page main .mainContainer #article .postList .post .thumbnail {
    grid-area: thumbnail;
    width: 100%;
    height: 120px;
    margin: 0;
  }
  #column.page main .mainContainer #article .postList .post .thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
  }
  #column.page main .mainContainer #article .postList .post .thumbnail a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #column.page main .mainContainer #article .postList .post .heading {
    grid-area: heading;
    display: block;
    width: 100%;
    margin: 1rem 0 1.6rem;
  }
  #column.page main .mainContainer #article .postList .post .heading a {
    display: block;
    padding: 0 1.6rem;
    font-size: 1.125rem;
    line-height: 2rem;
    letter-spacing: 0.24em;
    text-decoration: none;
  }
  #column.page main .mainContainer #article .postList .post .heading a::before {
    content: "";
    display: block;
    width: 2.8rem;
    height: 1px;
    margin-bottom: 1rem;
    background: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article .postList .post .heading.en a {
    letter-spacing: 0.14em;
    line-height: 1.9rem;
  }
  #column.page main .mainContainer #article .postList .post .button {
    grid-area: button;
    max-width: none;
    margin: 0 1.5rem 1.8rem;
    font-size: 0.875rem;
    letter-spacing: 0.16em;
  }
  #column.page main .mainContainer #article .postList .post .authorData {
    grid-area: author;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 1.6rem;
    background: rgb(239, 236, 237);
    background: linear-gradient(0deg, rgba(239, 236, 237, 0.7) 0%, rgba(239, 236, 237, 0.4) 20%);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  #column.page main .mainContainer #article .postList .post .authorData .author .title {
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.875rem;
    line-height: 1em;
    letter-spacing: 0.1em;
  }
  #column.page main .mainContainer #article .postList .post .authorData .author .name {
    display: block;
    font-size: 1.125rem;
    line-height: 1.4em;
    letter-spacing: 0.16em;
    font-weight: 700;
  }
  #column.page main .mainContainer #article .postList .post .authorData .photo {
    display: block;
    min-width: 50px;
    width: 50px;
    height: 50px;
    margin: -0.2rem 1rem -0.2rem -0.1rem;
    border: solid 1px rgb(239, 236, 237);
    border-radius: 50%;
    overflow: hidden;
  }
  #column.page main .mainContainer #article .postList .post .authorData .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (max-width: 1015px) and (-ms-high-contrast: none) {
  #column.page main .mainContainer #article .postList .post {
    display: -ms-grid;
    -ms-grid-columns: 1fr;
    -ms-grid-rows: repeat(5, 1fr);
  }
  #column.page main .mainContainer #article .postList .post .meta {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .thumbnail {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .heading {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .button {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .author {
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main .mainContainer #article #latest-post {
    margin-top: -2.4rem;
  }
  #column.page main .mainContainer #article #latest-post > .heading {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.4rem;
    color: rgb(249, 248, 248);
    text-align: center;
    background-color: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article #latest-post > .heading .title {
    font-size: 1.125rem;
    letter-spacing: 0.2rem;
  }
  #column.page main .mainContainer #article #latest-post > .heading .mod_date {
    margin-left: 0.5em;
    font-size: 0.625rem;
    font-weight: normal;
    letter-spacing: 0.1rem;
  }
  #column.page main .mainContainer #article #latest-post > .heading .mod_date::before {
    content: "/";
    display: inline-block;
    margin-right: 0.5em;
  }
  #column.page main .mainContainer #article #archive {
    margin-top: 2rem;
  }
  #column.page main .mainContainer #article #archive > .heading {
    margin-bottom: 3.2rem;
    margin-top: 3.2rem;
    letter-spacing: 0.16em;
    line-height: 1.6em;
    /*
    &.signboard {
      margin-top: -2rem;
      margin-bottom: 3.2rem;
      padding-top: 0;
      padding-bottom: 0;

      font-size: 1.125rem;
    }
    */
  }
  #column.page main .mainContainer #article .archiveLink .archiveBox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3.2rem 2%;
    width: 100%;
    margin-bottom: 4.8rem;
  }
  #column.page main .mainContainer #article .archiveLink .archiveBox > section {
    width: 49%;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 641px) {
  #column.page main .mainContainer #article .archiveLink .archiveBox > section {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main .mainContainer #article .archiveLink .archiveList {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1.6rem 2%;
    padding: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 901px) {
  #column.page main .mainContainer #article .archiveLink .archiveList {
    gap: 1.6rem 2%;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main .mainContainer #article .archiveLink .archiveList > li {
    width: 49%;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 901px) {
  #column.page main .mainContainer #article .archiveLink .archiveList > li {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main .mainContainer #article .archiveLink .archiveList > li .button {
    margin: 0 auto;
  }
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox {
    justify-content: center;
  }
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li {
    width: 100%;
    max-width: 230px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 641px) {
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li {
    width: 49%;
    max-width: none;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 481px) {
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li .button {
    margin: 0 auto;
  }
  #column.page main .mainContainer #article .archiveNav {
    width: 100%;
    padding: 0;
    margin-bottom: 4.8rem;
    background: rgb(239, 236, 237);
  }
  #column.page main .mainContainer #article .archiveNav .archiveNavList {
    display: flex;
    justify-content: flex-start;
    gap: 0 3.2rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList {
    flex-direction: column;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList > li {
    width: 100%;
    border-top: solid 1px rgb(255, 255, 255);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList > li:first-child {
    border-top: none;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList > li a {
    display: block;
    padding: 1rem 0;
    text-align: center;
  }
  #column.page.archive main .mainContainer #article .headingBox {
    padding: 2.4rem 8px;
  }
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 1.6rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 800px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList {
    gap: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li {
    width: 30%;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 800px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child, #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child {
    width: 50%;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child, #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child > a {
    text-align: left;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child > a {
    text-align: center;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 800px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li.column-home {
    width: 100%;
    order: 3;
    border-top: solid 1px rgb(255, 255, 255);
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child > a {
    text-align: right;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child > a {
    text-align: center;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .headingBox {
    padding: 3.8rem 0 0;
    text-align: left;
  }
  #column.page.post main .mainContainer #article .headingBox .heading {
    margin-bottom: 1rem;
  }
  #column.page.post main .mainContainer #article .headingBox .heading .corner-logo {
    display: block;
    margin-bottom: 1rem;
  }
  #column.page.post main .mainContainer #article .headingBox .heading .title {
    display: block;
    padding-left: 2.4rem;
    font-size: 1.375rem;
    line-height: 2.8rem;
    letter-spacing: 0.24em;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 769px) {
  #column.page.post main .mainContainer #article .headingBox .heading .title {
    padding-left: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .headingBox .heading.en .title {
    letter-spacing: 0.16em;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData {
    padding-left: 2.4rem;
    margin-bottom: 3.2rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 769px) {
  #column.page.post main .mainContainer #article .headingBox .authorData {
    padding-left: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .headingBox .authorData .author {
    font-size: 0.875rem;
    letter-spacing: 0.16em;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData .author .title {
    display: inline-block;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData .author .name {
    display: inline-block;
    margin-left: 1em;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData .author .name::before {
    content: "／";
    display: inline-block;
    margin-right: 1em;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox {
    background: rgb(238, 224, 229);
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li {
    margin-right: 1em;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li:first-child {
    margin-left: 2.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 769px) {
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li:first-child {
    margin-left: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a {
    display: inline-block;
    padding: 1em;
    font-size: 0.75rem;
    line-height: 1em;
    letter-spacing: 0.1em;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span.label, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a.label {
    padding-right: 0;
    padding-left: 0;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span.label + span, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span.label + a, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a.label + span, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a.label + a {
    padding-left: 0;
  }
  #column.page.post main .mainContainer #article .content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #column.page.post main .mainContainer #article .body_text {
    width: 725px;
    padding: 2.4rem 24px 0 100px;
    margin: 2.4rem 0 4.8rem;
    border-right: solid 1px rgb(239, 236, 237);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .body_text {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    border-right: none;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .body_text section + section {
    margin-top: 4.8rem;
  }
  #column.page.post main .mainContainer #article .body_text .heading {
    margin-bottom: 2.4rem;
    font-size: 1.25rem;
    line-height: 1.8em;
    letter-spacing: 0.16em;
  }
  #column.page.post main .mainContainer #article .body_text .heading::before {
    content: "";
    display: block;
    width: 2.8rem;
    height: 1px;
    margin-bottom: 2.4rem;
    background: rgb(147, 8, 8);
  }
  #column.page.post main .mainContainer #article .body_text p {
    margin-bottom: 2rem;
    font-size: 1rem;
    line-height: 2em;
    letter-spacing: 0.24em;
  }
  #column.page.post main .mainContainer #article .body_text p:last-child {
    margin-bottom: 0;
  }
  #column.page.post main .mainContainer #article .body_text .thumbnail {
    position: relative;
    width: 200px;
    height: 200px;
    margin-bottom: 1rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #column.page.post main .mainContainer #article .body_text .thumbnail figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 6px;
    text-align: right;
    font-size: 0.75rem;
    line-height: 1.4em;
    letter-spacing: 0.03em;
    color: rgb(255, 255, 255);
    text-shadow: -1px -1px 2px rgb(0, 9, 22), -1px 1px 2px rgb(0, 9, 22), 1px -1px 2px rgb(0, 9, 22), 1px 1px 2px rgb(0, 9, 22);
  }
  #column.page.post main .mainContainer #article .body_text .thumbnail.left {
    margin-right: 1rem;
    float: left;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.left {
    margin-right: 0;
    float: none;
    clear: both;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.right {
    margin-left: 1rem;
    float: right;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 540px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.right {
    margin-left: 0;
    float: none;
    clear: both;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.full {
    width: 100%;
    background-color: #fff;
  }
  #column.page.post main .mainContainer #article .body_text.en p {
    text-align: justify;
    letter-spacing: 0.08em;
  }
  #column.page.post main .mainContainer #article .body_text .noteSection .note {
    padding-left: 2.4em;
    letter-spacing: 0.16em;
    line-height: 1.8em;
  }
  #column.page.post main .mainContainer #article .body_text .noteSection .note > li .num {
    display: inline-block;
    width: 2.4em;
    margin-left: -2.4em;
  }
  #column.page.post main .mainContainer #article .sidebar {
    position: relative;
    top: -8rem;
    width: 262px;
    padding-left: 35px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar {
    top: 0;
    width: 100%;
    padding-left: 0;
  }
}
@media only screen and (max-width: 1015px) and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar.noPhoto {
    padding: 0.6rem 1.6rem 0;
    margin-left: 0;
    background: rgb(249, 248, 248);
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar.noPhoto .authorData .facultyList > li .personalData .dataBox .theme .heading {
    letter-spacing: 0.06em;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData {
    margin-bottom: 3.8rem;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList {
    margin-bottom: 0.6rem;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li {
    width: 100%;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1rem;
    padding: 2.4rem 0;
    background: #efeced;
    background: linear-gradient(0deg, rgba(239, 236, 237, 0.7) 0%, rgba(239, 236, 237, 0.4) 20%);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData {
    display: block;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo {
    margin-left: -0.6rem;
    margin-right: -0.6rem;
    line-height: 0;
    border: solid 0.6rem rgb(222, 206, 212);
    border-radius: 50%;
    overflow: hidden;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo {
    width: 50%;
    height: auto;
    max-width: 180px;
    max-height: 180px;
    margin: 0;
    border: solid 0.4rem rgba(178, 177, 177, 0.25);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo {
    display: block;
    width: 32vw;
    max-width: none;
    max-height: none;
    margin-right: 1.4rem;
    float: left;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container {
    display: flex;
    justify-content: center;
    flex-direction: column;
    min-height: 32vw;
    margin-bottom: 1.4rem;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container::after {
    content: "";
    display: block;
    clear: both;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .affiliation {
    margin-bottom: 0.6rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .affiliation {
    margin-top: auto;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox {
    margin-bottom: 1.2rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox {
    margin-bottom: 1.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox {
    margin-bottom: auto;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox .name {
    line-height: 1.4em;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .theme {
    margin-bottom: 0;
    background-color: rgb(249, 248, 248);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .theme {
    clear: both;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .theme .heading {
    margin-bottom: 0.3rem;
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem 1.6rem;
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink > * {
    width: auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink > * {
    min-width: auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink .profileUrl {
    align-self: flex-start;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .button {
    margin: 1rem 0 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .button {
    margin: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .archiveLink > .heading {
    display: none;
  }
  #column.page.post main .mainContainer #article .sidebar .archiveLink .archiveBox > section {
    width: 100%;
  }
  #column.page.post main .mainContainer #article .sidebar .archiveLink .archiveBox > section .archiveList {
    gap: 1.6rem 2%;
  }
  #column.page.post main .mainContainer #article .sidebar .archiveLink .archiveBox > section .archiveList > li {
    width: 100%;
  }
  #column.page.post main .mainContainer #article #recent {
    margin-bottom: 6.4rem;
  }
  #column.page.post main .mainContainer #article #recent .authorData + .button {
    display: none;
  }
  #column.page.post main .mainContainer #article .postList {
    margin-bottom: 3.2rem;
  }
  #column.page.post main .mainContainer #article .postList .post {
    grid-template-rows: repeat(4, auto);
    grid-template-areas: "thumbnail" "heading" "author" "meta";
    border: none;
  }
  #column.page.post main .mainContainer #article .postList .post .heading {
    font-family: "Noto Sans JP", sans-serif;
  }
  #column.page.post main .mainContainer #article .postList .post .heading a {
    padding: 0 1rem;
    font-size: 0.875rem;
    line-height: 1.8em;
    letter-spacing: 0.12em;
    text-decoration: underline;
  }
  #column.page.post main .mainContainer #article .postList .post .heading a::before {
    display: none;
  }
  #column.page.post main .mainContainer #article .postList .post .heading.en a {
    letter-spacing: 0.06em;
    line-height: 1.6rem;
  }
  #column.page.post main .mainContainer #article .postList .post .meta {
    position: relative;
    padding: 1rem;
    margin-top: 1rem;
  }
  #column.page.post main .mainContainer #article .postList .post .meta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1rem;
    display: block;
    width: 3em;
    border-top: solid 1px rgb(178, 177, 177);
  }
  #column.page.post main .mainContainer #article .postList .post .meta .date {
    color: rgb(0, 9, 22);
    letter-spacing: 0.1em;
  }
  #column.page.post main .mainContainer #article .postList .post .meta .date::before {
    content: "公開日：";
    display: inline;
  }
  #column.page.post main .mainContainer #article .postList .post .thumbnail {
    height: 154px;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData {
    padding: 0 1rem;
    background: none;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData .photo {
    width: 2.8rem;
    height: 2.8rem;
    min-width: 2.8rem;
    margin-right: 0.6rem;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData .author .title {
    font-size: 0.75rem;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData .author .name {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: 1015px) and (-ms-high-contrast: none) {
  #column.page.post main .mainContainer #article .postList .post {
    -ms-grid-rows: repeat(4, 1fr);
  }
  #column.page.post main .mainContainer #article .postList .post .thumbnail {
    -ms-grid-row: 1;
  }
  #column.page.post main .mainContainer #article .postList .post .heading {
    -ms-grid-row: 2;
  }
  #column.page.post main .mainContainer #article .postList .post .author {
    -ms-grid-row: 3;
  }
  #column.page.post main .mainContainer #article .postList .post .meta {
    -ms-grid-row: 4;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page {
    /* 資格・キャリアトップ
    ----------------------------------*/
    /* 文学部で目指せる資格
    ----------------------------------*/
    /* 大学院進学
    ----------------------------------*/
  }
  #careers.page main {
    /* 進路・キャリア共通フッター
    ----------------------------------*/
  }
  #careers.page main #hero img {
    object-position: center center;
  }
  #careers.page main .mainContainer #article {
    display: flex;
    justify-content: space-between;
    align-content: stretch;
    gap: 0 8px;
    flex-wrap: wrap;
  }
  #careers.page main .mainContainer #article .content {
    width: 100%;
    margin-top: 0;
  }
  #careers.page main .mainContainer #article .content .heading {
    margin-bottom: 1em;
    font-size: 1.375rem;
    line-height: 1.2em;
    letter-spacing: 0.2em;
  }
  #careers.page main .mainContainer #article .content .heading.sideline-skew {
    padding-left: 1rem;
  }
  #careers.page main .mainContainer #article .content .heading.sideline-skew::before {
    width: 3px;
  }
  #careers.page main .career-footer {
    margin-bottom: 6.4rem;
  }
  #careers.page main .career-footer .career-support {
    padding: 4.8rem 0;
    background: url("../img/careers/career-support.jpg") center center/cover no-repeat;
  }
  #careers.page main .career-footer .career-support .heading {
    text-align: center;
    color: rgb(255, 255, 255);
  }
  #careers.page main .career-footer .career-support .heading .label {
    display: block;
    margin-bottom: 1em;
    font-size: 0.75rem;
    line-height: 1em;
    font-weight: 500;
  }
  #careers.page main .career-footer .career-support .heading .title {
    letter-spacing: 0.16em;
    font-weight: 500;
  }
  #careers.page main .career-footer .career-support .textBox {
    width: 100%;
    max-width: 58em;
    margin-left: auto;
    margin-right: auto;
  }
  #careers.page main .career-footer .career-support .textBox p {
    color: rgb(255, 255, 255);
  }
  #careers.page main .career-footer .career-support .button {
    margin-bottom: 0;
  }
  #careers.page main .career-footer .sectionBox {
    margin-top: 3.2rem;
  }
  #careers.page main .career-footer .sectionBox > section {
    width: 100%;
  }
  #careers.page main .career-footer .sectionBox > section .withArw {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #careers.page main .career-footer .sectionBox > section .withArw > li {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page main .career-footer .sectionBox > section .withArw > li {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article {
    width: 100%;
  }
  #careers.page.careers main .mainContainer #article .content .card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.4rem;
    background: rgb(255, 255, 255);
    border: solid 1px rgb(239, 236, 237);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card {
    display: block;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 420px) {
  #careers.page.careers main .mainContainer #article .content .card {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox {
    padding-right: 2.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox {
    padding-right: 0;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox .catch {
    margin-bottom: 32px;
    font-size: 1.375rem;
    line-height: 1.6em;
    letter-spacing: 0.2em;
    font-weight: 700;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox .catch > br {
    display: none;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content .card .linkGrid {
    display: flex;
    justify-content: space-between;
    gap: 2px;
    flex-wrap: wrap;
    margin: 0 0 2.4rem;
    padding: 0;
  }
  #careers.page.careers main .mainContainer #article .content .card .linkGrid > li {
    width: calc(50% - 1px);
    padding: 1rem 0.6rem;
    text-align: center;
    background: rgb(239, 236, 237);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 520px) {
  #careers.page.careers main .mainContainer #article .content .card .linkGrid > li {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: auto;
    margin: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem 0;
    width: 100%;
    margin-bottom: 0.8rem;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button {
    margin: 0 auto;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button {
    margin: 0 1rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 420px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button {
    min-width: auto;
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button + a {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button + a {
    margin-top: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card {
    flex-wrap: wrap;
  }
  #careers.page.careers main .mainContainer #article .content.qualification .card .headingBox {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .headingBox {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .linkGrid {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .linkGrid {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .buttonBox {
    flex-direction: row;
    width: 100%;
    margin-bottom: 0.8rem;
  }
  #careers.page.careers main .mainContainer #article .content.qualification .card .buttonBox .button {
    margin: 0 1rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 420px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .buttonBox .button {
    margin: 0;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content.graduate-school .card .buttonBox .button + a {
    min-width: 300px;
    text-align: center;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer {
    margin-bottom: 6.4rem;
  }
  #careers.page.careers-qualification main .mainContainer #article {
    gap: 0;
    width: 100%;
  }
  #careers.page.careers-qualification main .mainContainer #article > section {
    margin-top: 0;
    margin-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article > section {
    margin-bottom: 4.8rem;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer #article .heading.underline {
    text-align: center;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .heading.underline {
    margin-bottom: 3.2rem;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer #article .heading.underline::after {
    left: 0.8rem;
    right: 0.8rem;
    bottom: -2px;
    width: calc(100% - 1.6rem);
  }
  #careers.page.careers-qualification main .mainContainer #article .heading.underline .title {
    font-size: 1.25rem;
    letter-spacing: 0.16em;
  }
  #careers.page.careers-qualification main .mainContainer #article .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .content {
    flex-direction: column;
    padding: 0 1.6rem;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer #article .content .detail {
    padding: 0 3.2rem 0 1.6rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .content .detail {
    padding: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type {
    margin-bottom: 3.2rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .heading {
    font-size: 1.125rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .textBox {
    margin-bottom: 3.2rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .textBox:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .textBox p:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .textBox .note {
    margin-bottom: 0;
    color: rgb(36, 35, 35);
    letter-spacing: 0.1em;
    line-height: 1.6em;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .textBox p:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .majorList {
    width: 100%;
    max-width: 328px;
    padding: 1.6rem;
    background: rgb(239, 236, 237);
    border-radius: 6px;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .content .majorList {
    max-width: none;
    margin: 2.4rem 0 0;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer #article .content .majorList dt {
    text-align: center;
    letter-spacing: 0.06em;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .majorList dd {
    margin-top: 1rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .majorList dd .note {
    line-height: 1.6em;
  }
  #careers.page.careers-qualification main .mainContainer #article #teaching-license {
    width: 100%;
    margin-top: 4.8rem;
  }
  #careers.page.careers-qualification main .mainContainer #article #teaching-license .type .heading {
    margin-bottom: 0.3em;
  }
  #careers.page.careers-qualification main .mainContainer #article #teaching-license .type .textBox {
    margin-bottom: 1.6rem;
    font-size: 0.75rem;
  }
  #careers.page.careers-qualification main .mainContainer #article #librarian {
    width: 100%;
  }
  #careers.page.careers-qualification main .mainContainer #article .half {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .half {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer #article .half .content {
    flex-direction: column;
    margin-top: 2.4rem;
    padding: 0 1.6rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .half .content .detail {
    padding: 0;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .half .content .detail {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-qualification main .mainContainer #article .half .content .majorList {
    max-width: 100%;
  }
  #careers.page.careers-graduate-school main .mainContainer {
    margin-bottom: 6.4rem;
  }
  #careers.page.careers-graduate-school main .mainContainer #article .graduate-school-list {
    width: 100%;
  }
}
@media only screen and (max-width: 1015px) and (max-width: 1015px) {
  #careers.page.careers-graduate-school main .mainContainer #article .graduate-school-list {
    margin-bottom: 4.8rem;
  }
}
@media only screen and (max-width: 1015px) {
  #careers.page.careers-graduate-school main .mainContainer #article .list {
    margin-top: 0;
  }
  #careers.page.careers-graduate-school main .mainContainer #article .list .bull > li::before {
    content: "●";
    position: relative;
    top: -2px;
    margin-right: 0.5em;
    font-size: 0.5rem;
    color: rgb(147, 8, 8);
  }
  #careers.page.careers-graduate-school main .mainContainer #article .list:last-child {
    margin-bottom: 0;
  }
  footer {
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 2px, rgba(213, 213, 213, 0.25) 2px, rgba(213, 213, 213, 0.25) 4px);
    /* コラム、ギャラリー、ラジオ
    ----------------------------------*/
    /* 水平線
    ----------------------------------*/
    /* バナーエリア
    ----------------------------------*/
    /*学部、学科・コースの一覧
    ----------------------------------*/
    /* フッターメニュー
    ----------------------------------*/
  }
  footer ul {
    padding: 0;
  }
  footer .selectedArticles {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 2.4rem;
  }
  footer .selectedArticles > li {
    width: 100%;
  }
  footer .selectedArticles > li > a .summary .title {
    flex-wrap: wrap;
    margin-bottom: 0 !important;
  }
  footer .selectedArticles > li > a .summary .title > * {
    margin-bottom: 0.6em;
  }
  footer .hr {
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
  }
  footer .bannerBlock {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  footer .bannerBlock li:not(.requestBrochure) {
    width: calc(50% - 0.5rem);
    height: auto;
    margin: 0 0 1rem;
  }
  footer .bannerBlock li:not(.requestBrochure) img {
    width: 100%;
    height: auto;
  }
  footer .bannerBlock .image-banner a {
    display: block;
    line-height: 0;
  }
  footer .bannerBlock .requestBrochure {
    width: 100%;
    margin: 0.6rem 0 3rem;
    background: rgb(178, 177, 177);
  }
  footer .bannerBlock .requestBrochure .button {
    margin: -0.6rem auto;
  }
  footer .childMenu {
    background-color: rgb(232, 229, 226);
  }
  footer .childMenu ul li.current > a {
    background-color: #ddd8d4;
  }
  footer .childMenu ul li > a:hover {
    background-color: #ddd8d4;
  }
  footer #footer-sitemap {
    margin-top: 2.4rem;
    padding-top: 1.6rem;
    padding-bottom: 0;
    background-color: rgb(128, 16, 37);
  }
  footer #footer-sitemap a:not(.button) {
    color: rgb(249, 248, 248);
  }
  footer #footer-sitemap a:not(.button)[href^="http://"]::after, footer #footer-sitemap a:not(.button)[href^="https://"]::after {
    background-image: url("../img/ico-blank-white.svg");
  }
  footer #footer-sitemap a:not(.button).banner.withPhoto::after {
    background-image: url("../img/arw-circle-white.svg");
  }
  footer #footer-sitemap .footer-top {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    width: 100%;
  }
  footer #footer-sitemap .sitePolicies {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 1.6rem;
    border: solid 1px rgb(156, 85, 100);
    border-bottom: none;
  }
  footer #footer-sitemap .sitePolicies > li {
    width: 50%;
    border-bottom: solid 1px rgb(156, 85, 100);
  }
  footer #footer-sitemap .sitePolicies > li a {
    display: block;
    padding: 1em;
    text-align: center;
  }
  footer #footer-sitemap .sitePolicies > li:nth-child(even) {
    border-left: solid 1px rgb(156, 85, 100);
  }
  footer #footer-sitemap .copyright {
    display: block;
    padding: 2.4rem 0;
    color: rgb(249, 248, 248);
    font-size: 0.625rem;
    line-height: 1em;
    text-align: center;
  }
  footer .symbol {
    width: 100%;
    padding: 1.6rem 0 calc(1.2rem + env(safe-area-inset-bottom));
    text-align: center;
    background: rgb(249, 248, 248);
  }
  .box {
    max-width: 100%;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .indexMenu .box {
    padding-right: calc(0.5rem - 4px);
    padding-left: calc(0.5rem - 4px);
  }
  .banner.withSummary, .banner.inBox {
    flex-wrap: wrap;
    margin-bottom: 1rem;
  }
  .banner.withSummary .pictureFrame {
    max-width: none;
  }
  .banner.withSummary .summary {
    padding-right: 1rem;
  }
  .banner.inBox .pictureFrame {
    max-width: none;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  .buttonBox {
    align-items: center;
    flex-direction: column-reverse;
    margin: 2.4rem auto;
  }
  .buttonBox .button {
    margin: 0 0 1rem 0;
  }
  .buttonBox .button:first-child {
    margin: 0;
  }
  .linkBox {
    align-items: center;
    flex-direction: column;
    margin: 2.4rem auto;
  }
  .linkBox a {
    margin: 1rem 0 0 0;
  }
  .linkBox a:first-child {
    margin: 0;
  }
  .pageLink {
    flex-wrap: wrap;
  }
  .pageLink.col1 > * {
    width: 100%;
  }
  .pageLink.col2 > * {
    width: 50%;
  }
  .pageLink.col3 > * {
    width: 50%;
  }
  .pageLink.col3 > *:last-child {
    width: 100%;
  }
  .pageLink.col4 > * {
    width: 50%;
  }
  .deptMenu {
    flex-wrap: wrap;
  }
  .deptMenu li {
    width: calc(50% - 8px);
    margin-right: 4px;
    margin-left: 4px;
  }
}
@media only screen and (max-width: 519px) {
  /*============================

    スマホ表示
    -----------------
    width: 〜 519px

  =============================*/
  main #information .headingBox .followMe {
    width: 100%;
  }
  main #threeAppeals .heading.image {
    height: 160px;
    padding-left: 0.3rem;
    padding-right: 0.3rem;
  }
  main #threeAppeals .heading.image > img {
    max-width: 320px;
    margin-bottom: -2.4rem;
  }
  main #mainCatch {
    background-position: right -180px center;
  }
  main #mainCatch .catch {
    margin-left: 0.5rem;
    font-size: 1rem;
  }
  main #mainCatch .catch + .button {
    margin-left: 0.5rem;
  }
  main #studentLife .heading {
    margin-bottom: -8rem;
  }
  main #studentLife .example > li .textBox .grade {
    width: 100px;
    height: 100px;
    margin-left: -50px;
  }
  main #studentLife .example > li .image-photo::before {
    height: 160px;
  }
  .page main .mainContainer .catchBox {
    top: -368px;
    right: auto;
    left: 50%;
    margin-left: -100px;
    background-color: rgba(147, 8, 8, 0.9);
  }
  .top-level #hero {
    height: 240px;
  }
  .top-level #hero img {
    object-position: center bottom;
  }
  #overview.top-level #hero {
    height: 544px;
  }
}
@media only screen and (min-width: 520px) {
  /*============================

    タブレット表示
    -----------------
    width: 520px 〜

  =============================*/
  #hero .gallery .slick-track .slick-slide {
    height: 355px;
  }
  main #mainCatch {
    background-position: right -160px center;
  }
  .page main .video {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .page main .video .bannerBox .banner {
    max-width: 360px;
  }
  .box {
    max-width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  /* バナー型リンク
  ----------------------------------*/
  .banner.withSummary, .banner.inBox {
    flex-wrap: wrap;
  }
  .banner.withSummary .pictureFrame {
    max-width: 100%;
  }
  .banner.inBox .pictureFrame {
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  /* ページ内リンクメニュー
  ----------------------------------*/
  .pageLink {
    flex-wrap: wrap;
  }
  .pageLink.col1 > * {
    width: 100%;
  }
  .pageLink.col2 > * {
    width: 50%;
  }
  .pageLink.col3 > * {
    width: 33.3%;
  }
  .pageLink.col4 > * {
    width: 50%;
  }
  /* 学科・コースページへのリンク
  ----------------------------------*/
  .indexMenu .box {
    padding-right: calc(1rem - 4px);
    padding-left: calc(1rem - 4px);
  }
  .deptMenu {
    flex-wrap: wrap;
  }
  .deptMenu li {
    width: calc(33.33% - 16px);
    margin-right: 8px;
    margin-left: 8px;
  }
  footer {
    /* バナーエリア
    ----------------------------------*/
  }
  footer .bannerBlock li:not(.requestBrochure) {
    width: calc(33.33% - 0.5rem);
  }
}
@media only screen and (min-width: 768px) {
  #hero #event .headingBox .heading > img {
    height: 188px;
  }
  #hero .gallery .slick-track .slick-slide {
    height: 360px;
  }
  main {
    /* バナー型リンク
    ----------------------------------*/
    /* ボタン型リンク
    ----------------------------------*/
    /* テキストリンクのまとめ
    ----------------------------------*/
  }
  main #information .headingBox .followMe {
    width: 75%;
  }
  main #mainCatch {
    background-position: center center;
  }
  main .bannerBox + .linkBox,
  main .bannerBox + .buttonBox {
    margin-top: 1.6rem;
  }
  main .buttonBox + .linkBox,
  main .buttonBox + .bannerBox {
    margin-top: 1.6rem;
  }
  main .linkBox + .buttonBox,
  main .linkBox + .bannerBox {
    margin-top: 1.6rem;
  }
  .page main .video .bannerBox {
    flex-wrap: nowrap;
  }
  .page main .video .bannerBox .banner {
    align-self: auto;
    margin-right: 0;
    margin-left: 0.8rem;
  }
  .page main .video .bannerBox .banner:first-child {
    margin-bottom: 0;
    margin-left: 0;
  }
  .page main .facultyList {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .page main .facultyList > li {
    width: calc(50% - 0.5rem);
    padding: 1.6rem 0 0;
    background-position: right -24px top 0;
    border-top: 0;
  }
  .page main .facultyList > li:nth-child(n+3) {
    padding-top: 3.2rem;
    background-position: right -24px top 1.6rem;
    border-top: dashed 1px rgb(213, 213, 213);
  }
  #department.page:not(.top-level) {
    /* 教員の紹介
    ----------------------------------*/
    /* 専攻一覧
    ----------------------------------*/
  }
  #department.page:not(.top-level) .mainContainer {
    background-position: left 300px top 3.2rem;
    background-size: 30%;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading {
    width: 50%;
    padding-top: 2.4rem;
    margin-bottom: 3.2rem;
    float: left;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading br.mb {
    display: block;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading br.pc {
    display: none;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading-image {
    width: calc(50% - 1.6rem);
    height: calc((50vw - 1.6rem) * 0.62);
    float: right;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading-image img {
    object-position: right center;
  }
  #department.page:not(.top-level).major .mainContainer #article .headingBox .heading-image {
    height: calc((50vw - 1.6rem) * 0.9);
  }
  #department.page:not(.top-level).major .mainContainer #article .headingBox .textBox {
    width: 50%;
    float: left;
    clear: none;
  }
  #department.page:not(.top-level) #pickups {
    padding: 3.2rem 0;
  }
  #department.page:not(.top-level) #pickups .box {
    flex-direction: row;
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture {
    width: 54%;
    padding: 0 36px;
    margin-right: 0;
    margin-left: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture .chram > section,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section {
    padding: 6px;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 {
    width: 100%;
    padding: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .heading {
    width: calc(100% + 10px);
    margin: 0 0 calc(1.6rem - 5px) -5px;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .gallery {
    width: 100%;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .slick-list {
    z-index: 1;
    background: none;
    box-shadow: none;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .slick-track::before, #department.page:not(.top-level) #pickups .box #lecture.col2 .slick-track::after {
    display: none;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .charm,
  #department.page:not(.top-level) #pickups .box #lecture.col2 .lecture {
    max-width: auto;
    height: auto;
    margin: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .charm > section,
  #department.page:not(.top-level) #pickups .box #lecture.col2 .lecture > section {
    margin: 5px 0.5rem;
    background-color: rgb(249, 248, 248);
    box-shadow: 0 0 5px 0 rgba(36, 35, 35, 0.2);
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .prev,
  #department.page:not(.top-level) #pickups .box #lecture.col2 .next {
    width: 30px;
    background-position: right 2px center;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .prev {
    left: -22px;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .next {
    right: -22px;
  }
  #department.page:not(.top-level) #pickups .box #study {
    width: 46%;
    margin-top: 0;
  }
  #department.page:not(.top-level) #faculty {
    position: relative;
    margin-top: 6.4rem;
  }
  #department.page:not(.top-level) #faculty > .link {
    position: absolute;
    top: 0;
    right: 0;
  }
  #department.page:not(.top-level) .sectionBox {
    flex-direction: row;
    /* 卒論のテーマ
    ----------------------------------*/
  }
  #department.page:not(.top-level) .sectionBox > section {
    width: calc(50% - 1.2rem);
  }
  #department.page:not(.top-level) .sectionBox #graduationThesis {
    position: relative;
  }
  #department.page:not(.top-level) .sectionBox #graduationThesis > .link {
    position: absolute;
    top: 0;
    right: 0;
  }
  #department.page:not(.top-level) #major {
    margin-bottom: 1.6rem;
  }
  #department.page:not(.top-level) #major .summaryBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary {
    width: calc(50% - 0.5rem);
    margin: 0 0 3.2rem;
  }
  /* バナー型リンク
  ----------------------------------*/
  .banner.withSummary, .banner.inBox {
    flex-wrap: nowrap;
  }
  .banner.withSummary .pictureFrame {
    max-width: 360px;
    max-height: 150px;
  }
  .banner.withSummary .summary {
    height: 150px;
  }
  .banner.withSummary::before {
    height: 150px;
  }
  .banner.withSummary::after {
    top: 150px;
  }
  .banner.inBox .pictureFrame {
    display: flex;
    align-items: center;
    max-width: 218px;
    max-height: 100%;
    margin-right: 1rem;
    margin-bottom: 0;
  }
  .banner + .buttonBox,
  .banner + .linkBox {
    margin-top: 1.6rem;
  }
  /* ボタン型リンク
  ----------------------------------*/
  .buttonBox {
    flex-direction: row;
  }
  .buttonBox .button {
    margin: 0 0 0 2rem;
  }
  .buttonBox .button:first-child {
    margin-left: 0;
  }
  .buttonBox + .linkBox,
  .buttonBox + .bannerBox {
    margin-top: 1.6rem;
  }
  /* テキストリンクのまとめ
  ----------------------------------*/
  .linkBox {
    flex-direction: row;
  }
  .linkBox a {
    margin: 0 0 0 2rem;
  }
  .linkBox a:first-child {
    margin-left: 0;
  }
  .linkBox + .buttonBox,
  .linkBox + .bannerBox {
    margin-top: 1.6rem;
  }
  /* 3つの魅力
  ----------------------------------*/
  #threeAppeals .threeAppeals > li {
    display: grid;
    grid-template-columns: calc(50% - 1rem) 2rem calc(50% - 1rem);
    grid-template-rows: auto auto auto;
    gap: 0;
    grid-template-areas: "heading sp imageBox" "text sp imageBox" "button button button";
  }
  #threeAppeals .threeAppeals > li .heading {
    grid-area: heading;
  }
  #threeAppeals .threeAppeals > li .imageBox {
    grid-area: imageBox;
  }
  #threeAppeals .threeAppeals > li .text {
    grid-area: text;
  }
  #threeAppeals .threeAppeals > li .text + .button {
    grid-area: button;
  }
  #department.page.top-level #article + figure {
    display: block;
    max-width: 300px;
    width: 50%;
    margin-left: 1.6rem;
  }
  #department.page.top-level #article + figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page.top-level #summaries .summary .box {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  #department.page.top-level #summaries .summary .headingBox {
    flex-direction: row;
    margin-bottom: 1.6rem;
  }
  #department.page.top-level #summaries .summary .headingBox .heading {
    width: 50%;
    margin: 0;
    border-bottom-width: 2px;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .button {
    bottom: 1.6rem;
    left: 50%;
    margin-left: -164px;
  }
  #department.page.top-level #summaries .summary .headingBox .heading-image {
    width: 50%;
    height: auto;
    margin: 0;
  }
  #department.page.top-level #summaries .summary .majorBox {
    margin: 0;
    background-color: transparent;
    border: none;
  }
  #department.page.top-level #summaries .summary .majorBox .major {
    padding-right: 0;
    padding-left: 0;
  }
  #department.page.top-level #summaries .summary .majorBox .major .heading {
    justify-content: space-between;
    margin-top: 1.6rem;
    margin-bottom: 0.8rem;
  }
  #department.page.top-level #summaries .summary .majorBox .major .heading .title {
    display: block;
    margin-bottom: 0;
  }
  #department.page.top-level #summaries .summary .majorBox .major .majorList {
    flex-direction: row;
    justify-content: center;
    margin-bottom: 0;
  }
  #department.page.top-level #summaries .summary:nth-child(odd) .headingBox {
    flex-direction: row-reverse;
  }
  #department.page.top-level #summaries .summary:nth-child(odd) .headingBox .heading {
    margin: 0;
  }
  #department.page.top-level #summaries .summary:nth-child(odd) .majorBox {
    margin: 0;
  }
  #department.page.top-level #summaries .hss_cc .headingBox .heading-image img {
    object-position: left center;
  }
  #department.page.top-level #summaries .hg .headingBox .heading-image img {
    object-position: left center;
  }
  #department.page.top-level #summaries .psych .headingBox .heading-image img {
    object-position: right center;
  }
  #department.page.top-level #how-to-decide-on-your-major .box {
    display: flex;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox {
    width: 50%;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart {
    width: 50%;
    min-width: 375px;
    padding-left: 0;
    margin-left: 1rem;
  }
  footer {
    /* バナーエリア
    ----------------------------------*/
  }
  footer .bannerBlock li:not(.requestBrochure) {
    width: calc(25% - 0.5rem);
  }
}
@media only screen and (min-width: 1016px) {
  /*============================

    PC表示
    -----------------
    width: 1016px 〜

  =============================*/
  .mb {
    display: none;
  }
  /*//////////////////////////////////

  MOBILE
  ----------
  メインナビゲーション

  //////////////////////////////////*/
  header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
  header.is-scroll {
    position: fixed;
    top: 0;
  }
  header.is-scroll #homeMenu::after {
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    opacity: 1;
  }
  /* メニュー
  ----------------------------------*/
  #navBox {
    max-width: 100%;
    position: relative;
    overflow-y: visible;
  }
  #navBox::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: calc(1rem + 2px);
    background: rgba(147, 8, 8, 0.8);
  }
  #navBox:hover #homeMenu::after {
    opacity: 1;
  }
  #navBox .accordion .acd-content {
    padding: 0 16px;
    background: rgb(249, 248, 248);
  }
  #navBox .accordion .acd-content a {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.6em;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  #navBox .accordion.open .acd-content .deptMenu > li > a {
    height: 80px;
    transition: height 0.2s ease-out;
  }
  #navBox .accordion.close .acd-content .deptMenu > li > a {
    height: 0;
    transition: height 0.2s ease-out;
  }
  #navBox.slide-in_out {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    z-index: 100;
    transition: all 600ms ease;
  }
  #navBox.slide-in_out.open {
    right: auto;
  }
  #navBox.slide-in_out.close {
    right: auto;
  }
  #overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: rgba(36, 35, 35, 0.75);
    transition: all 600ms ease;
  }
  #overlay.active {
    opacity: 1;
  }
  #overlay.inactive {
    opacity: 0;
    pointer-events: none;
  }
  /* メニュー
  ----------------------------------*/
  #nav {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: 1rem 74px 60px;
    gap: 0px 0px;
    grid-template-areas: "policyMenu sp-1 subMenu" "sp-2 careerMenu actionMenu" "homeMenu mainMenu mainMenu";
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
  }
  #nav ul {
    padding-left: 0;
  }
  #subMenu,
  #policyMenu {
    display: flex;
    align-self: center;
    font-size: 0.5rem;
    line-height: 1em;
  }
  #subMenu a,
  #policyMenu a {
    display: block;
    padding: 0.2rem 1em;
    margin: 1px 0.75em;
    color: rgb(249, 248, 248);
    text-decoration: none;
  }
  #subMenu a[href^="http://"]::after, #subMenu a[href^="https://"]::after,
  #policyMenu a[href^="http://"]::after,
  #policyMenu a[href^="https://"]::after {
    width: 8px;
    height: 8px;
  }
  #subMenu {
    grid-area: subMenu;
    justify-self: right;
  }
  #subMenu a {
    display: block;
    padding: 0.2rem 1em;
    margin-right: 0;
    text-decoration: none;
  }
  #subMenu .related-links a,
  #subMenu .sitemap a {
    margin-left: 0;
  }
  #subMenu .access a,
  #subMenu .faq a {
    padding: 0.2rem 1rem;
    color: rgb(178, 16, 37);
    background: rgb(249, 248, 248);
    border-radius: 2px;
  }
  #subMenu .access a[href^="http://"]::after, #subMenu .access a[href^="https://"]::after {
    margin-right: 0;
    margin-bottom: -2px;
    background-image: url("../img/ico-blank-red.svg");
  }
  #policyMenu {
    grid-area: policyMenu;
    justify-self: left;
  }
  #policyMenu a {
    margin-left: 0;
    padding-left: 0;
  }
  #policyMenu a[href^="http://"]::after, #policyMenu a[href^="https://"]::after {
    background-image: url("../img/ico-blank-white.svg");
  }
  #actionMenu,
  #careerMenu {
    justify-self: right;
    display: flex;
    align-self: center;
  }
  #actionMenu {
    grid-area: actionMenu;
    margin-left: 4px;
  }
  #actionMenu > li {
    margin-left: 1rem;
  }
  #actionMenu .univ-contact {
    font-size: 0.625rem;
    line-height: 1.4em;
  }
  #careerMenu {
    grid-area: careerMenu;
  }
  #careerMenu li {
    margin-left: 0.5rem;
  }
  #careerMenu li a {
    display: block;
    padding: 0.4rem 0.4rem 0.3rem 0.6rem;
    font-size: 0.5rem;
    line-height: 1em;
    text-decoration: none;
    color: rgb(249, 248, 248);
    letter-spacing: 0.1em;
    background: rgb(106, 106, 106);
    border-radius: 2px;
  }
  #careerMenu li a[href^="http://"]::after, #careerMenu li a[href^="https://"]::after {
    background-image: url("../img/ico-blank-white.svg");
  }
  #homeMenu,
  #mainMenu {
    display: flex;
    justify-content: flex-end;
    align-self: center;
    height: 100%;
  }
  #homeMenu > li,
  #mainMenu > li {
    width: auto;
    height: 100%;
  }
  #homeMenu > li > a,
  #homeMenu > li > .acd-key,
  #mainMenu > li > a,
  #mainMenu > li > .acd-key {
    display: block;
    width: 100%;
    height: 100%;
    padding: 1.1rem 0;
    font-size: 0.875rem;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
  }
  #homeMenu {
    grid-area: homeMenu;
  }
  #homeMenu .home {
    min-width: 160px;
    min-height: 32px;
    margin-left: 1rem;
    margin-right: 1rem;
  }
  #homeMenu .home a {
    background: url("../img/logo-aidai-letters.svg") center center/contain no-repeat;
  }
  #homeMenu::after {
    content: "";
    width: 100%;
    height: 60px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background: rgb(249, 248, 248);
    box-shadow: 0 0 5px 0 rgba(0, 9, 22, 0.2);
    opacity: 0.9;
    transition: all 300ms ease 0ms;
  }
  #mainMenu {
    grid-area: mainMenu;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  #mainMenu > li {
    padding: 0 1.4em;
  }
  #mainMenu > li > a,
  #mainMenu > li > .acd-key {
    position: relative;
    letter-spacing: 0.05em;
  }
  #mainMenu > li > a::before,
  #mainMenu > li > .acd-key::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(-1.4rem + 1px);
    display: block;
    width: 0;
    height: 0.8rem;
    margin-top: -0.4rem;
    border-left: dotted 1px rgb(213, 213, 213);
  }
  #mainMenu > li:first-child > a::before,
  #mainMenu > li:first-child > .acd-key::before {
    display: none;
  }
  #mainMenu .accordion .acd-key::after {
    position: relative;
    top: auto;
    right: auto;
    display: inline-block;
    margin-top: 0;
    margin-left: 0.5em;
    background-image: url("../img/arw-down-bold-red.svg");
  }
  #mainMenu .accordion .acd-content {
    position: absolute;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    background: rgb(249, 248, 248);
    border-bottom: solid 0 rgb(178, 16, 37);
  }
  #mainMenu .accordion.open .acd-key {
    padding-top: calc(1.1rem - 3px);
    color: rgb(178, 16, 37);
    border-top: solid 3px rgb(244, 0, 56);
  }
  #mainMenu .accordion.open .acd-key::after {
    transform: rotateZ(0);
  }
  #mainMenu .accordion.open .acd-content {
    box-shadow: 0 1px 5px 0 rgba(0, 9, 22, 0.15);
    border-bottom-width: 5px;
  }
  #mainMenu .accordion.open .acd-content a {
    line-height: 1.4em;
  }
  #mainMenu .accordion.open .acd-content > a {
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: rgb(249, 248, 248);
    line-height: 1em;
    overflow: hidden;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
  #mainMenu .accordion.open .acd-content > a .title {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    width: auto;
    padding: 2.4rem calc(2em + 3%) 2.4rem 2em;
    text-decoration: underline;
    background: linear-gradient(-87deg, transparent 3%, rgba(178, 16, 37, 0.85) 3%);
    float: left;
  }
  #mainMenu .accordion.open .acd-content > a .title .arw-circle {
    top: -1px;
    margin-right: 0.5em;
  }
  #mainMenu .accordion.open .acd-content > a:hover .title {
    text-decoration: none;
  }
  #mainMenu .childMenu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
    border-top: none;
  }
  #mainMenu .childMenu > li {
    width: 25%;
    padding: 1.6rem 0;
    border-right: solid 1px rgb(213, 213, 213);
  }
  #mainMenu .childMenu > li > a {
    position: relative;
    padding-right: 36px;
    padding-left: 1rem;
  }
  #mainMenu .childMenu > li > a .arw-circle {
    position: absolute;
    top: 50%;
    right: 8px;
    margin-top: -10px;
  }
  #mainMenu .childMenu > li:last-child {
    border-right: none;
  }
  #mainMenu .deptMenu {
    margin: 1.6rem 8px;
  }
  #mainMenu .deptMenu > li {
    margin: 0;
    padding-right: 8px;
    padding-left: 8px;
    border-left: solid 1px rgb(213, 213, 213);
  }
  #mainMenu .deptMenu > li:first-child {
    border-left: none;
  }
  #mainMenu .deptMenu > li > a.dept_bnr-text {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    padding: 1em 2em 1em 0.6em;
    border-top-width: 3px;
  }
  #mainMenu .deptMenu > li > a.dept_bnr-text .label {
    display: block;
    width: 100%;
  }
  #mainMenu .deptMenu > li .major li {
    margin: 0;
  }
  #mainMenu .deptMenu > li .major li a {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    padding-left: 6px;
    font-size: 0.75rem;
  }
  #mainMenu .deptMenu > li .major li:first-child a {
    margin-top: 1em;
  }
  #mainMenu .deptMenu > li .major li:last-child a {
    margin-bottom: 0.5em;
  }
  #mainMenu .overview.accordion .acd-content > a {
    background-image: url("../img/overview/pageHeader.jpg");
    background-position: center bottom -300px;
  }
  #mainMenu .department.accordion .acd-content > a {
    background-image: url("../img/dept/pageHeader.jpg");
  }
  /*//////////////////////////////////

  PC
  ----------
  メイン部

  //////////////////////////////////*/
  main {
    position: relative;
    /* サイドバナー
    ----------------------------------*/
    /* 文学部メインキャッチバナー
    ----------------------------------*/
  }
  main #sideBar {
    width: 304px;
  }
  main #sideBar .bannerList {
    padding: 0;
  }
  main #sideBar .bannerList li:first-child .banner {
    margin-top: 0;
  }
  main #sideBar .bannerList li .banner {
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
  }
  main #sideBar .bannerList li .banner.regimental {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  main #mainCatch {
    width: 100%;
    height: 360px;
    background: url("../img/overview/mainVisual.jpg") center center/cover no-repeat;
  }
  main #mainCatch .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
  }
  main #mainCatch .catch {
    margin: 1rem 0 2.8rem 15%;
    color: rgb(255, 255, 255);
    font-size: 1.5rem;
    line-height: 1.65em;
    letter-spacing: 0.2em;
    text-shadow: 2px 2px 1px rgba(0, 9, 22, 0.25), -2px 2px 1px rgba(0, 9, 22, 0.25), 2px -2px 1px rgba(0, 9, 22, 0.25), -2px -2px 1px rgba(0, 9, 22, 0.25), 2px 0px 1px rgba(0, 9, 22, 0.25), 0px 2px 1px rgba(0, 9, 22, 0.25), -2px 0px 1px rgba(0, 9, 22, 0.25), 0px -2px 1px rgba(0, 9, 22, 0.25);
  }
  main #mainCatch .catch span {
    display: block;
    margin-top: 0.6em;
  }
  main #mainCatch .catch + .button {
    margin: 0 0 0 15%;
  }
  /*//////////////////////////////////

  PC
  ----------
  トップページ固有

  //////////////////////////////////*/
  #hero {
    position: relative;
  }
  #hero #event {
    position: absolute;
    top: 150px;
    right: 0;
    bottom: 3.6rem;
    left: 0;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #hero #event .headingBox {
    position: relative;
  }
  #hero #event .headingBox .heading {
    margin: 0;
  }
  #hero #event .headingBox .heading > img {
    opacity: 0.9;
  }
  #hero #event .headingBox .button {
    position: absolute;
    right: 8px;
    bottom: 21px;
    padding-left: 1.6em;
    padding-right: 3em;
    margin: 0;
    font-size: 0.5rem;
  }
  #hero #event .summary {
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: -1;
    height: 188px;
    margin-left: -20px;
    padding: 0;
    background: rgba(106, 106, 106, 0.8);
    transform: skewX(-3deg);
  }
  #hero #event .summary > li {
    margin: 0 1rem;
    transform: skewX(3deg);
  }
  #hero #event .summary > li .label {
    display: block;
    width: 165px;
    height: 37px;
    color: rgb(249, 248, 248);
    text-align: center;
    line-height: 37px;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-shadow: 1px 1px 1px rgb(71, 71, 71), -1px 1px 1px rgb(71, 71, 71), 1px -1px 1px rgb(71, 71, 71), -1px -1px 1px rgb(71, 71, 71), 1px 0px 1px rgb(71, 71, 71), 0px 1px 1px rgb(71, 71, 71), -1px 0px 1px rgb(71, 71, 71), 0px -1px 1px rgb(71, 71, 71);
    background-position: center center;
    background-repeat: no-repeat;
  }
  #hero #event .summary > li .label > span {
    display: none;
  }
  #hero #event .summary > li .catch {
    font-size: 1rem;
    color: rgb(249, 248, 248);
    text-align: center;
    text-shadow: 1px 1px 1px rgb(36, 35, 35), -1px 1px 1px rgb(36, 35, 35), 1px -1px 1px rgb(36, 35, 35), -1px -1px 1px rgb(36, 35, 35), 1px 0px 1px rgb(36, 35, 35), 0px 1px 1px rgb(36, 35, 35), -1px 0px 1px rgb(36, 35, 35), 0px -1px 1px rgb(36, 35, 35);
  }
  #hero #event .summary > li .button {
    margin: 0;
    font-size: 0.5rem;
  }
  #hero #event .summary > li.first {
    margin-left: 2.4rem;
  }
  #hero #event .summary > li.first .label {
    background-image: url("../img/threeAppeals/label-threeAppeals01.svg");
  }
  #hero #event .summary > li.second .label {
    background-image: url("../img/threeAppeals/label-threeAppeals02.svg");
  }
  #hero #event .summary > li.third {
    margin-right: 2.4rem;
  }
  #hero #event .summary > li.third .label {
    background-image: url("../img/threeAppeals/label-threeAppeals03.svg");
  }
  #hero .gallery .slick-track {
    left: 0;
  }
  #hero .gallery .slick-track .slick-slide {
    width: 100%;
    height: 500px;
    margin: 0;
  }
  #hero .gallery .slick-track .slick-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main {
    /* Information
    ----------------------------------*/
    /* 学科・コース概要付き一覧
    ----------------------------------*/
    /* 3つの魅力 ----- コンテンツの表示場所の移動に伴い、_pc-overviewへ移動
    #threeAppeals {
      padding-top: 4.8rem;
      padding-bottom: 6.4rem;

      background: $white;

      .heading.image {
        display: flex;
        justify-content: center;
        align-items: center;

        width: 100%;
        height: 180px;
        margin-bottom: 3.2rem;

        background: url('../img/threeAppeals/title_bg-threeAppeals.jpg') center center/cover no-repeat;

        > img {
          margin-bottom: -3rem;

          opacity: .9;
        }
      }

      // 魅力紹介
      .threeAppeals {
        display: flex;
        justify-content: space-between;

        padding: 0;

        > li {
          position: relative;

          display: block;
          width: 312px;

          font-size: .875rem;

          &::before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: -16px;

            display: block;
            width: 0;
            height: 100%;

            border-left: dotted 1px $silverGray;
          }

          &:first-child {
            &::before {
              display: none;
            }
          }

          // 見出し
          .heading {
            position: relative;

            margin-bottom: 1rem;

            img {
              position: absolute;
              top: 1rem;
              left: .5rem;
            }
            .label {
              .catch {
                display: block;
                width: 100%;
                padding: .4em 1rem;
                margin-bottom: 1.6rem;

                text-align: center;
                line-height: 1em;
                color: $lt-deepRed;

                border: solid 1px $lt-deepRed;
              }
              .title {
                display: block;
                margin-left: calc(.5rem + 58px + .5rem);

                font-size: 1.125rem;
                font-weight: 700;
              }
            }
          }
          // 画像
          .imageBox {
            width: 100%;
            height: 186px;
            margin-bottom: 1rem;

            background: gray;

            > img {
              width: 100%;
              height: 100%;

              object-fit: cover;
            }
          }
          .text {
            margin-bottom: 1.6rem;

            + .button {
              margin: 0;
            }
          }
        }
      }
    }
    ----------------------------------*/
  }
  main .indexMenu {
    background: rgb(213, 213, 213);
  }
  main .indexMenu .deptMenu {
    position: relative;
    top: -3.6rem;
    height: 4rem;
  }
  main .mainContainer {
    display: flex;
    justify-content: space-between;
    padding-top: 3rem;
    margin-bottom: 3.6rem;
  }
  main #information {
    width: 100%;
    max-width: 664px;
  }
  main #information .news-instagram {
    display: block;
    text-decoration: none;
    background-color: #f6f2f1;
    border: solid 1px #e9e1dd;
  }
  main #information .news-instagram[target=_blank]::after {
    display: none;
  }
  main #information .news-instagram-box {
    display: flex;
    flex-direction: column;
    justify-content: end;
    width: 100%;
    height: 332px;
    background-image: url("../img/banner/news-instagram-bg.png"), linear-gradient(to bottom, #f6f2f1, #f6f2f1 calc(100% - 100px), transparent calc(100% - 100px)), repeating-linear-gradient(-30deg, transparent, transparent 3px, rgba(178, 16, 37, 0.5) 3px, rgba(178, 16, 37, 0.5) 6px), linear-gradient(90deg, rgb(178, 16, 37), rgb(244, 0, 56));
    background-size: 740px auto, auto auto, auto auto;
    background-position: right top, left top, left top;
    background-repeat: no-repeat, no-repeat, repeat;
  }
  main #information .news-instagram-box > img {
    margin-left: 10px;
  }
  main #information .news-instagram-box .button {
    max-width: 365px;
    padding: 0.6em 2.4em 0.6em 2.4em;
    margin-bottom: 18px;
    font-size: 1.125rem;
    font-weight: normal;
    letter-spacing: 0.06em;
  }
  main #information .news-instagram-box .button .note {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0;
  }
  main #information .news-instagram-box .button .note.inline {
    padding-left: 4px;
  }
  main #information .news-instagram-box .button::after {
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: url("../img/ico-blank-white.svg");
  }
  main #departmentList {
    margin-bottom: 3.6rem;
  }
  main #departmentList .headingBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2.4rem;
  }
  main #departmentList .headingBox .heading {
    width: 100%;
  }
  main #departmentList .headingBox .textBox {
    width: 664px;
  }
  main #departmentList .headingBox .textBox + .button {
    width: 304px;
    margin: 0;
  }
  main #departmentList .deptList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  main #departmentList .deptList > * {
    position: relative;
    width: calc(50% - 1rem);
    margin-bottom: 1.6rem;
    background: rgb(255, 255, 255);
    box-shadow: 0 0 5px 0 rgba(36, 35, 35, 0.2);
    border-bottom: solid 2px;
  }
  main #departmentList .deptList .heading {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 302px;
    margin: 0;
    background-color: gray;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  main #departmentList .deptList .heading .title {
    position: relative;
    display: block;
    width: 80%;
    padding: 1em 1.6rem;
    font-size: 1.25rem;
    text-align: center;
    line-height: 1em;
    text-decoration: none;
    background: rgba(249, 248, 248, 0.9);
    border-radius: 3px;
  }
  main #departmentList .deptList .heading .title .label {
    display: inline-block;
    margin-right: 1rem;
    font-size: 1rem;
    vertical-align: bottom;
  }
  main #departmentList .deptList .heading .title .arw {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -10px;
  }
  main #departmentList .deptList .summary {
    padding: 2.4rem 1.6rem 6.4rem;
    border-top: solid 10px;
  }
  main #departmentList .deptList .summary .lead {
    margin-bottom: 1.6rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.6em;
    letter-spacing: 0.1em;
  }
  main #departmentList .deptList .summary .major {
    display: flex;
    flex-wrap: wrap;
    padding: 0.8rem;
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 2px, rgba(213, 213, 213, 0.3) 2px, rgba(213, 213, 213, 0.3) 4px);
  }
  main #departmentList .deptList .summary .major > li > a {
    display: inline-block;
    padding: 0.2em 0.8em 0.2em 0.6em;
    letter-spacing: 0.05em;
  }
  main #departmentList .deptList .summary .button {
    position: absolute;
    right: 1.6rem;
    bottom: 1.6rem;
    margin: 0;
    font-size: 0.875rem;
  }
  main #departmentList .deptList .hss_cc {
    border-bottom-color: rgb(254, 182, 36);
  }
  main #departmentList .deptList .hss_cc .heading {
    background-image: url("../img/dept/hss_cc/mainVisual.jpg");
  }
  main #departmentList .deptList .hss_cc .summary {
    border-top-color: rgb(254, 182, 36);
  }
  main #departmentList .deptList .hss_s {
    border-bottom-color: rgb(249, 209, 0);
  }
  main #departmentList .deptList .hss_s .heading {
    background-image: url("../img/dept/hss_s/mainVisual.jpg");
  }
  main #departmentList .deptList .hss_s .summary {
    border-top-color: rgb(249, 209, 0);
  }
  main #departmentList .deptList .hss_lcna {
    border-bottom-color: rgb(249, 227, 97);
  }
  main #departmentList .deptList .hss_lcna .heading {
    background-image: url("../img/dept/hss_lcna/mainVisual.jpg");
  }
  main #departmentList .deptList .hss_lcna .summary {
    border-top-color: rgb(249, 227, 97);
  }
  main #departmentList .deptList .hg {
    border-bottom-color: rgb(25, 151, 92);
  }
  main #departmentList .deptList .hg .heading {
    background-image: url("../img/dept/hg/mainVisual.jpg");
  }
  main #departmentList .deptList .hg .summary {
    border-top-color: rgb(25, 151, 92);
  }
  main #departmentList .deptList .jll {
    border-bottom-color: rgb(111, 92, 178);
  }
  main #departmentList .deptList .jll .heading {
    background-image: url("../img/dept/jll/mainVisual.jpg");
  }
  main #departmentList .deptList .jll .summary {
    border-top-color: rgb(111, 92, 178);
  }
  main #departmentList .deptList .psych {
    border-bottom-color: rgb(45, 164, 216);
  }
  main #departmentList .deptList .psych .heading {
    background-image: url("../img/dept/psych/mainVisual.jpg");
  }
  main #departmentList .deptList .psych .summary {
    border-top-color: rgb(45, 164, 216);
  }
  /*//////////////////////////////////

  PC
  ----------
  下層ページ

  //////////////////////////////////*/
  .page {
    /* 学科・コース別
    ----------------------------------*/
  }
  .page #hero {
    height: calc(295px - 1.6rem);
  }
  .page #hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: calc(150px - 1.6rem);
    background-color: rgba(0, 9, 22, 0.25);
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 1.5px, rgba(0, 9, 22, 0.15) 1.5px, rgba(0, 9, 22, 0.15) 3px);
    background-position: center center;
    background-repeat: repeat;
  }
  .page #hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 8%;
  }
  .page main {
    /* パンくず付きページタイトル
    ----------------------------------*/
    /* YouTube埋め込み
    ----------------------------------*/
    /* 組織図
    ----------------------------------*/
    /* 教員一覧
    ----------------------------------*/
    /* 卒論一覧
    ----------------------------------*/
  }
  .page main #titleBox {
    position: absolute;
    top: 216px;
    width: 100%;
  }
  .page main #titleBox .pageTitle {
    position: relative;
    z-index: 1;
    display: inline-block;
    max-width: 100%;
    padding: 1rem 6rem 1rem 2rem;
    overflow: hidden;
  }
  .page main #titleBox .pageTitle::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0.5rem;
    bottom: 0;
    left: -3rem;
    z-index: -1;
    display: block;
    background: rgb(249, 248, 248);
    transform: skewX(-3deg);
    border-bottom: solid 2px rgb(178, 16, 37);
  }
  .page main #titleBox .pageTitle .pankuzu {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding: 0;
    overflow: hidden;
  }
  .page main #titleBox .pageTitle .pankuzu li {
    margin-bottom: 0.6rem;
    line-height: 0;
    white-space: nowrap;
  }
  .page main #titleBox .pageTitle .pankuzu li::after {
    content: "＞";
    display: inline-block;
    margin: 0 0.6em;
    font-size: 0.75rem;
    line-height: 1em;
  }
  .page main #titleBox .pageTitle .pankuzu li a, .page main #titleBox .pageTitle .pankuzu li span {
    color: rgb(36, 35, 35);
    font-size: 0.75rem;
    line-height: 1em;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .page main #titleBox .pageTitle .title {
    margin: 0;
    color: rgb(36, 35, 35);
    font-size: 1.125rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
  }
  .page main .indexMenu {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }
  .page main .indexMenu .heading {
    width: auto;
    margin: 0 8px 0.625rem;
  }
  .page main .indexMenu .deptMenu {
    top: auto;
    height: auto;
  }
  .page main .mainContainer {
    position: relative;
    margin-bottom: 2.4rem;
  }
  .page main .mainContainer #article {
    width: 664px;
  }
  .page main .mainContainer .catchBox {
    position: absolute;
    top: -264px;
    right: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 304px;
    padding: 3.2rem 1.6rem 2.4rem;
    background: rgb(147, 8, 8);
  }
  .page main .mainContainer .catchBox::before {
    content: "";
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    bottom: 0.2rem;
    left: 0.2rem;
    display: block;
    border: solid 1px rgb(249, 248, 248);
  }
  .page main .mainContainer .catchBox .mainCatch {
    margin: 0;
    color: rgb(249, 248, 248);
    font-size: 1.5rem;
    line-height: 1.8em;
    letter-spacing: 0.15em;
    writing-mode: vertical-rl;
  }
  .page main .mainContainer .catchBox .mainCatch > span {
    display: block;
    margin-right: 0.5em;
  }
  .page main .video {
    width: 100%;
    margin-top: 6.4rem;
    margin-bottom: 3.2rem;
    padding: 0 26px 1.6rem;
    background-image: linear-gradient(to bottom, #DEDEDE, #E8E5E2);
  }
  .page main .video iframe {
    position: relative;
    top: -2.4rem;
    margin: 0 0 -1.2rem;
    width: 612px;
    height: 344.25px;
  }
  .page main .bannerBox {
    margin: 0;
  }
  .page main .bannerBox .banner {
    background: rgb(249, 248, 248);
  }
  .page main .bannerBox .banner .title {
    padding-left: 0.3rem;
  }
  .page main .organigram {
    margin: 3.2rem 0 0;
  }
  .page main .organigram figure {
    width: 100%;
    margin-bottom: 2.4rem;
    text-align: center;
  }
  .page main .organigram figure img {
    max-width: 424px;
    height: auto;
  }
  .page main .facultyList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
  }
  .page main .facultyList > li {
    width: calc(50% - 1rem);
    padding: 1.6rem 0 0;
    margin-bottom: 2.4rem;
    background-position: right -24px top;
    background-size: 25%;
    background-repeat: no-repeat;
  }
  .page main .facultyList > li:nth-child(n+3) {
    padding-top: 3.2rem;
    background-position: right -24px top 1.6rem;
    border-top: dashed 1px rgb(213, 213, 213);
  }
  .page main .facultyList > li .nameBox {
    margin-bottom: 1.2rem;
  }
  .page main .facultyList > li .nameBox .name {
    display: block;
    margin-bottom: 0.6rem;
    font-size: 1.25rem;
    line-height: 1em;
    letter-spacing: 0.15em;
  }
  .page main .facultyList > li .nameBox .name_kana {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.05em;
  }
  .page main .facultyList > li .affiliation {
    margin-bottom: 1.6rem;
    font-size: 0.875rem;
    line-height: 1.4em;
    letter-spacing: 0.1em;
  }
  .page main .facultyList > li .theme {
    padding: 1rem;
    margin-bottom: 1rem;
    background-color: rgb(239, 236, 237);
    border-radius: 3px;
  }
  .page main .facultyList > li .theme .heading {
    margin-bottom: 0.8em;
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.1em;
  }
  .page main .facultyList > li .theme p {
    font-size: 0.75rem;
    line-height: 1.6em;
    letter-spacing: 0.1em;
  }
  .page main .facultyList > li .textLink {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .page main .facultyList > li .textLink > * {
    width: 50%;
    min-width: 220px;
    margin-bottom: 0.8rem;
  }
  .page main .thesisList-by-major {
    margin-bottom: 1.6rem;
  }
  .page main .thesisList {
    padding: 0;
    margin: 0.4rem 0;
  }
  .page main .thesisList > li {
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.1em;
  }
  .page main .thesisList > li::before {
    content: "●";
    position: relative;
    top: -2px;
    margin-right: 0.5em;
    font-size: 0.5rem;
    color: rgb(147, 8, 8);
  }
  .page.hss_cc main .facultyList > li {
    background-image: url("../img/ico-dept-hss_cc-opacity.svg");
  }
  .page.hss_s main .facultyList > li {
    background-image: url("../img/ico-dept-hss_s-opacity.svg");
  }
  .page.hss_lcna main .facultyList > li {
    background-image: url("../img/ico-dept-hss_lcna-opacity.svg");
  }
  .page.hg main .facultyList > li {
    background-image: url("../img/ico-dept-hg-opacity.svg");
  }
  .page.jll main .facultyList > li {
    background-image: url("../img/ico-dept-jll-opacity.svg");
  }
  .page.psych main .facultyList > li {
    background-image: url("../img/ico-dept-psych-opacity.svg");
  }
  .page.has-sideBar .mainContainer #article > .heading + .textBox {
    margin-bottom: 3.2rem;
  }
  .page.has-sideBar .mainContainer #article section {
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
  }
  .page.has-sideBar .mainContainer #article section p {
    margin-bottom: 0.8rem;
  }
  .page:not(.top-level) .mainContainer {
    padding-top: 4.8rem;
  }
  .page.radio {
    /* アーカイブ
    ----------------------------------*/
  }
  .page.radio #article .pictureFrame {
    max-width: 100%;
    height: 240px;
    margin-bottom: 1.6rem;
  }
  .page.radio #article .pictureFrame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .page.radio .columnBox {
    margin-top: 1.6rem !important;
  }
  .page.radio .columnBox .heading {
    margin-bottom: 0.6rem;
  }
  .page.radio .columnBox .withArw li {
    margin-bottom: 0;
    font-size: 0.75rem;
    line-height: 1.4em;
  }
  .page.radio .cardBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    margin: 0;
  }
  .page.radio .cardBox .card {
    width: 100%;
    padding: 1.2rem 0 0 0;
    margin-bottom: 1.2rem;
    background: rgb(255, 255, 255);
    border-radius: 6px;
    box-shadow: 0 0 6px 0 rgba(36, 35, 35, 0.15);
  }
  .page.radio .cardBox .card .airdate {
    position: relative;
    margin-bottom: 0.6rem;
    padding: 0 1.2rem;
    font-size: 0.75rem;
    overflow: hidden;
  }
  .page.radio .cardBox .card .airdate::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -6px;
    display: block;
    width: 1rem;
    height: 100%;
    background: rgb(178, 16, 37);
    transform: skewX(-3deg);
  }
  .page.radio .cardBox .card .airdate .encore {
    display: inline-block;
    margin-left: 0.6rem;
    font-size: 0.625rem;
    color: rgb(106, 106, 106);
  }
  .page.radio .cardBox .card .content {
    margin-bottom: 0.8rem;
    padding: 0 1.2rem;
  }
  .page.radio .cardBox .card .content .dept, .page.radio .cardBox .card .content .note {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.75rem;
    line-height: 1.6em;
  }
  .page.radio .cardBox .card .content .title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
  }
  .page.radio .cardBox .card .content .guest {
    padding: 0;
    margin-top: 0.2rem;
  }
  .page.radio .cardBox .card .content + .audio {
    margin-top: 1rem;
  }
  .page.radio .cardBox .card .guest {
    padding: 0 1.2rem 1rem;
    font-size: 0.825rem;
  }
  .page.radio .cardBox .card .guest .name .compellation {
    display: inline-block;
    margin-left: 0.5em;
    font-size: 0.75rem;
  }
  .page.radio .cardBox .card .guest .name + .name::before {
    content: "、";
    display: inline-block;
  }
  .page.radio .cardBox .card .audio {
    padding: 0.8rem;
    line-height: 0;
    background: rgb(71, 71, 71);
    border-radius: 0 0 6px 6px;
  }
  .page.radio .cardBox .card .audio audio {
    width: 100%;
  }
  .page.radio_fy #article .pictureFrame {
    height: 160px;
    margin-bottom: 0.8rem;
  }
  .page.radio_fy #article .pictureFrame + section {
    margin-top: 0;
  }
  .page.related-links .mainContainer #article > section {
    margin-top: 0;
  }
  /*//////////////////////////////////

  PC
  ----------
  代表下層ページ

  //////////////////////////////////*/
  .top-level #hero {
    height: 560px;
  }
  .top-level #hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 280px;
    background-color: rgba(0, 9, 22, 0.25);
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 1.5px, rgba(0, 9, 22, 0.15) 1.5px, rgba(0, 9, 22, 0.15) 3px);
    background-position: center center;
    background-repeat: repeat;
  }
  .top-level #hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
  }
  .top-level main #sideBar {
    padding-top: 156px;
  }
  /*//////////////////////////////////

  PC
  ----------
  文学部について

  //////////////////////////////////*/
  #overview {
    /* ----------------------------------*/
    /* ----------------------------------*/
  }
  #overview.page.top-level main .mainContainer #article .catchBox + .catch {
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 700;
  }
  #overview.page.top-level main .mainContainer #article .catchBox + .catch + .bull {
    margin-bottom: 2.4rem;
  }
  #overview.messages .mainContainer #article {
    margin-bottom: 3.2rem;
  }
  #overview.messages .mainContainer #article section::before {
    content: "";
    display: block;
    width: 3.2rem;
    height: 1px;
    margin-bottom: 1.6rem;
    background: rgb(178, 16, 37);
  }
  #overview.messages .mainContainer #article section p {
    margin-bottom: 2em;
    text-indent: 1.15em;
    line-height: 2em;
    letter-spacing: 0.15em;
  }
  #overview.messages .mainContainer #article .photoFrame {
    width: 200px;
    height: 200px;
    margin: 0 0 1em 1em;
    float: right;
  }
  #overview.messages .mainContainer #article .photoFrame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #overview.messages .mainContainer #article .signature {
    letter-spacing: 0.1em;
  }
  #overview.messages .mainContainer #article .signature img {
    margin-top: -4px;
    margin-left: 1rem;
    vertical-align: middle;
  }
  /* ----------------------------------*/
  /* ----------------------------------*/
  #studentLife {
    clear: both;
    width: 100%;
    margin-bottom: 6.4rem;
  }
  #studentLife .heading {
    padding: 6.4rem 0;
    margin-bottom: 4.8rem;
    background: url("../img/studentLife/image-studentLife.jpg") center bottom -144px/cover no-repeat;
  }
  #studentLife .example {
    padding: 0;
  }
  #studentLife .example > li .box {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  #studentLife .example > li .textBox {
    width: 300px;
    padding: 0;
  }
  #studentLife .example > li .textBox::before {
    content: "";
    position: absolute;
    top: 0;
    right: auto;
    left: 1rem;
    display: block;
    width: 300px;
    height: 100px;
    background: url("../img/arw-flowchart.svg") center center no-repeat;
  }
  #studentLife .example > li .textBox .grade {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    margin: 100px auto 3.2rem;
    color: rgb(147, 8, 8);
    font-size: 1.125rem;
    line-height: 1em;
    letter-spacing: 0.1em;
    background: rgb(249, 248, 248);
    border-radius: 50%;
    box-shadow: 0 1rem 0 0 rgb(147, 8, 8);
  }
  #studentLife .example > li .image-photo {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 664px;
    margin-bottom: 1.6rem;
  }
  #studentLife .example > li .image-photo::before {
    content: "";
    position: absolute;
    top: 2.4rem;
    right: auto;
    left: 0;
    z-index: -1;
    display: block;
    width: calc(100% - 1.6rem);
    height: 200px;
    background: rgb(232, 229, 226);
  }
  #studentLife .example > li:nth-child(odd) .box {
    flex-direction: row-reverse;
  }
  #studentLife .example > li:nth-child(odd) .box .textBox::before {
    right: 1rem;
    left: auto;
  }
  #studentLife .example > li:nth-child(odd) .box .image-photo::before {
    right: 0;
    left: auto;
  }
  #studentLife .example > li.freshman .box .textBox {
    align-self: center;
    margin-bottom: 3.2rem;
  }
  #studentLife .example > li.freshman .box .textBox::before {
    display: none;
  }
  #studentLife .example > li.freshman .box .textBox .grade {
    margin-top: 0;
  }
  #studentLife .example > li.freshman .box .image-photo .left {
    align-self: flex-end;
  }
  #studentLife .example > li.freshman .box .image-photo .right {
    align-self: flex-start;
    margin-bottom: 2.4rem;
  }
  #studentLife .example > li.sophomore .box .image-photo {
    flex-direction: column-reverse;
    margin-top: 1.6rem;
  }
  #studentLife .example > li.sophomore .box .image-photo::before {
    top: 6.4rem;
  }
  #studentLife .example > li.sophomore .box .image-photo .left {
    align-self: flex-start;
  }
  #studentLife .example > li.sophomore .box .image-photo .right {
    align-self: flex-end;
    margin-bottom: 1.6rem;
  }
  #studentLife .example > li.junior .box .image-photo {
    margin-top: 3.2rem;
  }
  #studentLife .example > li.junior .box .image-photo .left {
    align-self: flex-end;
  }
  #studentLife .example > li.junior .box .image-photo .right {
    align-self: flex-start;
    margin-bottom: 2.4rem;
  }
  #studentLife .example > li.senior .box .image-photo {
    margin-top: 3.2rem;
  }
  #studentLife .example > li.senior .box .image-photo .left {
    align-self: flex-start;
    margin-bottom: 2.4rem;
  }
  #studentLife .example > li.senior .box .image-photo .right {
    align-self: flex-end;
  }
  /* 3つの魅力（モバイル表示を流用し、一部修正）
  ----------------------------------*/
  #threeAppeals {
    margin-top: 4.8rem;
  }
  #threeAppeals > .box {
    padding-right: 0;
    padding-left: 0;
  }
  #threeAppeals .heading.image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 180px;
    margin-bottom: 3.2rem;
    background: url("../img/threeAppeals/title_bg-threeAppeals.jpg") center center/cover no-repeat;
    background-color: gray;
  }
  #threeAppeals .heading.image > img {
    max-width: 360px;
    width: 100%;
    height: auto;
    margin-bottom: -3rem;
    opacity: 0.9;
  }
  #threeAppeals .threeAppeals {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
  }
  #threeAppeals .threeAppeals > li {
    position: relative;
    width: 100%;
    margin-bottom: 3.2rem;
    font-size: 0.875rem;
  }
  #threeAppeals .threeAppeals > li::before {
    content: "";
    position: absolute;
    top: -1.6rem;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    border-top: dotted 1px rgb(178, 177, 177);
  }
  #threeAppeals .threeAppeals > li:first-child::before {
    display: none;
  }
  #threeAppeals .threeAppeals > li .heading {
    position: relative;
    margin-bottom: 1rem;
  }
  #threeAppeals .threeAppeals > li .heading img {
    position: absolute;
    top: 1rem;
    left: 0.5rem;
  }
  #threeAppeals .threeAppeals > li .heading .label .catch {
    display: block;
    width: 100%;
    padding: 0.4em 1rem;
    margin-bottom: 1.6rem;
    text-align: center;
    line-height: 1em;
    color: rgb(178, 16, 37);
    border: solid 1px rgb(178, 16, 37);
  }
  #threeAppeals .threeAppeals > li .heading .label .title {
    display: block;
    margin-left: calc(0.5rem + 58px + 0.5rem);
    font-size: 1.125rem;
    font-weight: 700;
  }
  #threeAppeals .threeAppeals > li .imageBox {
    width: 100%;
    height: 186px;
    margin-bottom: 1rem;
    background: gray;
  }
  #threeAppeals .threeAppeals > li .imageBox > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #threeAppeals .threeAppeals > li .text {
    grid-area: text;
    margin-bottom: 1.6rem;
  }
  #threeAppeals .threeAppeals > li .text + .button {
    margin: 0 auto;
  }
  /*//////////////////////////////////

  PC
  ----------
  学科・コース・専攻

  //////////////////////////////////*/
  #department.page.top-level {
    /* ページトップ
    ----------------------------------*/
    /* 学科・コースの概要紹介
    ----------------------------------*/
    /* 専攻が決まるまで
    ----------------------------------*/
  }
  #department.page.top-level #article {
    width: 100%;
  }
  #department.page.top-level #article .headingBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2.4rem;
  }
  #department.page.top-level #article .headingBox .heading {
    width: 100%;
  }
  #department.page.top-level #article .headingBox .textBox {
    width: 664px;
  }
  #department.page.top-level #article .headingBox .button {
    width: 304px;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    margin-right: 0;
    margin-bottom: 0;
  }
  #department.page.top-level #article + figure {
    margin-left: 1.6rem;
  }
  #department.page.top-level #summaries {
    margin-top: 4.8rem;
  }
  #department.page.top-level #summaries .summary {
    display: flex;
    margin-top: 3.2rem;
  }
  #department.page.top-level #summaries .summary .box {
    margin-right: auto;
    margin-left: auto;
  }
  #department.page.top-level #summaries .summary .headingBox {
    display: flex;
    margin-top: -1.6rem;
    margin-bottom: 2.4rem;
  }
  #department.page.top-level #summaries .summary .headingBox .heading {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 364px;
    flex-shrink: 0;
    padding: 0;
    margin-bottom: 0;
    background-color: rgb(255, 255, 255);
    background-position: right -6rem center;
    background-repeat: no-repeat;
    background-size: 80%;
    border-style: solid;
    border-width: 0;
    border-top-width: 10px;
    border-bottom-width: 2px;
  }
  #department.page.top-level #summaries .summary .headingBox .heading > * {
    width: 300px;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox {
    margin-bottom: 1.6rem;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .title {
    padding-bottom: 0.8rem;
    margin-bottom: 1.125rem;
    font-size: 1.125rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
    border-bottom-style: solid;
    border-bottom-width: 1px;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .title .label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.875rem;
    line-height: 1em;
    font-weight: 500;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .lead {
    font-size: 1.375rem;
    line-height: 1.8em;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .lead br {
    display: none;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .titleBox .lead span {
    display: inline-block;
    margin-top: 0.8em;
  }
  #department.page.top-level #summaries .summary .headingBox .heading .button {
    position: absolute;
    right: 2rem;
    bottom: 2rem;
    width: auto;
    margin: 0 0 0 auto;
  }
  #department.page.top-level #summaries .summary .headingBox .heading-image {
    width: 636px;
    height: 397px;
    margin: 0;
  }
  #department.page.top-level #summaries .summary .headingBox .heading-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page.top-level #summaries .summary .majorBox {
    display: flex;
    margin-bottom: 2.4rem;
  }
  #department.page.top-level #summaries .summary .majorBox .major .heading {
    display: flex;
    justify-content: space-between;
    margin-top: 0;
    margin-bottom: 1rem;
  }
  #department.page.top-level #summaries .summary .majorBox .major .heading .title {
    margin: 0;
    letter-spacing: 0.06em;
  }
  #department.page.top-level #summaries .summary .majorBox .major .majorList {
    display: flex;
    justify-content: flex-start;
    padding: 0;
    margin-bottom: 1rem;
    background-color: rgb(71, 71, 71);
  }
  #department.page.top-level #summaries .summary .majorBox .major .majorList li a {
    display: block;
    padding: 1.2em 1.6em 1.4em 0.8em;
    color: rgb(249, 248, 248);
    font-size: 0.875rem;
    letter-spacing: 0.08em;
  }
  #department.page.top-level #summaries .summary .majorBox .major .textBox {
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
  }
  #department.page.top-level #summaries .summary .majorBox figure {
    flex-shrink: 0;
    width: 300px;
    height: 180px;
    margin: 0 0 0 1.6rem;
  }
  #department.page.top-level #summaries .summary .majorBox figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page.top-level #summaries .summary:nth-child(odd) .headingBox {
    flex-direction: row-reverse;
  }
  #department.page.top-level #summaries .summary:nth-child(odd) .majorBox {
    margin-bottom: 2.4rem;
  }
  #department.page.top-level #summaries .hss_cc {
    background-color: rgba(254, 182, 36, 0.1);
  }
  #department.page.top-level #summaries .hss_cc .headingBox .heading {
    background-image: url("../img/ico-dept-hss_cc-opacity.svg");
    background-position: right -3.2rem center;
    border-color: rgb(254, 182, 36);
  }
  #department.page.top-level #summaries .hss_cc .headingBox .heading .title {
    border-bottom-color: rgb(254, 182, 36);
  }
  #department.page.top-level #summaries .hss_cc .headingBox .heading-image img {
    object-position: left center;
  }
  #department.page.top-level #summaries .hss_s {
    background-color: rgba(249, 209, 0, 0.1);
  }
  #department.page.top-level #summaries .hss_s .headingBox .heading {
    background-image: url("../img/ico-dept-hss_s-opacity.svg");
    border-color: rgb(249, 209, 0);
  }
  #department.page.top-level #summaries .hss_s .headingBox .heading .title {
    border-bottom-color: rgb(249, 209, 0);
  }
  #department.page.top-level #summaries .hss_lcna {
    background-color: rgba(249, 227, 97, 0.1);
  }
  #department.page.top-level #summaries .hss_lcna .headingBox .heading {
    background-image: url("../img/ico-dept-hss_lcna-opacity.svg");
    border-color: rgb(249, 227, 97);
  }
  #department.page.top-level #summaries .hss_lcna .headingBox .heading .title {
    border-bottom-color: rgb(249, 227, 97);
  }
  #department.page.top-level #summaries .hg {
    background-color: rgba(25, 151, 92, 0.1);
  }
  #department.page.top-level #summaries .hg .headingBox .heading {
    background-image: url("../img/ico-dept-hg-opacity.svg");
    background-position: right -4.8rem center;
    border-color: rgb(25, 151, 92);
  }
  #department.page.top-level #summaries .hg .headingBox .heading .title {
    border-bottom-color: rgb(25, 151, 92);
  }
  #department.page.top-level #summaries .hg .headingBox .heading-image img {
    object-position: left center;
  }
  #department.page.top-level #summaries .jll {
    background-color: rgba(111, 92, 178, 0.1);
  }
  #department.page.top-level #summaries .jll .headingBox .heading {
    background-image: url("../img/ico-dept-jll-opacity.svg");
    background-position: right -4.8rem center;
    border-color: rgb(111, 92, 178);
  }
  #department.page.top-level #summaries .jll .headingBox .heading .title {
    border-bottom-color: rgb(111, 92, 178);
  }
  #department.page.top-level #summaries .psych {
    background-color: rgba(45, 164, 216, 0.1);
  }
  #department.page.top-level #summaries .psych .headingBox .heading {
    background-image: url("../img/ico-dept-psych-opacity.svg");
    border-color: rgb(45, 164, 216);
  }
  #department.page.top-level #summaries .psych .headingBox .heading .title {
    border-bottom-color: rgb(45, 164, 216);
  }
  #department.page.top-level #summaries .psych .headingBox .heading-image img {
    object-position: right center;
  }
  #department.page.top-level #how-to-decide-on-your-major {
    margin-top: 4.8rem;
    margin-bottom: 6.4rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box {
    display: flex;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox {
    width: 50%;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket {
    padding: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket > li {
    margin-top: 2.4rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket > li::before {
    margin-right: 0;
    margin-left: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withBracket .title {
    display: inline-block;
    margin-bottom: 0.5rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .textBox .withCircle > li {
    margin-bottom: 0.6rem;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart {
    width: 50%;
    padding-left: 2.4rem;
    margin-bottom: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .title {
    padding-bottom: 0.6rem;
    margin-bottom: 1.2rem;
    font-size: 0.875rem;
    text-align: center;
    border-bottom: solid 1px rgb(147, 8, 8);
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol {
    padding: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol .label {
    display: block;
    padding: 0.8em 1rem;
    margin-bottom: 0.6rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.4em;
    background-color: rgb(249, 248, 248);
    border: solid 3px rgb(147, 8, 8);
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol .label strong {
    margin-right: 0;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol > li {
    margin-top: 1rem;
    font-size: 0.75rem;
    line-height: 1.6em;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol > li:first-child .label {
    color: rgb(249, 248, 248);
    background-color: rgb(147, 8, 8);
    border: none;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart ol > li:first-child::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 0.6rem auto 0;
    line-height: 0;
    border: solid 30px transparent;
    border-top: solid 20px rgb(147, 8, 8);
    border-bottom: none;
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .one,
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .two {
    width: 100%;
    padding: 1.6rem 2.4rem;
    background-color: rgb(239, 236, 237);
    border: solid 1px rgb(213, 213, 213);
  }
  #department.page.top-level #how-to-decide-on-your-major .box .flowchart .one {
    margin-bottom: 1rem;
  }
  #department.page:not(.top-level):not(.has-sideBar) .mainContainer #article {
    width: 100%;
  }
  #department.page:not(.top-level) {
    /* ページトップ
    ----------------------------------*/
    /* ピックアップ授業
    ----------------------------------*/
    /* 教員の紹介
    ----------------------------------*/
    /* 専攻一覧
    ----------------------------------*/
  }
  #department.page:not(.top-level) .mainContainer {
    background: none;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox {
    background-position: left 300px top 3.2rem;
    background-size: 30%;
    background-repeat: no-repeat;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox::after {
    content: "";
    display: block;
    clear: both;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading {
    width: 496px;
    padding-top: 4.8rem;
    margin-bottom: 3.2rem;
    float: left;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading br.mb {
    display: none;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading br.pc {
    display: block;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading span {
    display: block;
    margin-top: 1rem;
    /*
    br {
      display: block;
    }
    */
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading-image {
    width: 464px;
    height: 315.52px;
    float: right;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .heading-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
  }
  #department.page:not(.top-level) .mainContainer #article .headingBox .textBox {
    width: 80%;
    padding-top: 1rem;
    margin: 0 auto;
    clear: both;
  }
  #department.page:not(.top-level) .mainContainer #article .buttonBox {
    margin-top: 2.4rem;
    clear: both;
  }
  #department.page:not(.top-level).major .mainContainer #article .headingBox .heading {
    padding-top: 2.4rem;
  }
  #department.page:not(.top-level).major .mainContainer #article .headingBox .heading-image {
    height: 315.52px;
  }
  #department.page:not(.top-level).major .mainContainer #article .headingBox .textBox {
    width: 496px;
    padding-top: 0;
    margin: 0;
    float: left;
  }
  #department.page:not(.top-level) #pickups {
    padding: 3.2rem 0;
    margin-bottom: 2.4rem;
  }
  #department.page:not(.top-level) #pickups .box {
    display: flex;
    justify-content: space-between;
  }
  #department.page:not(.top-level) #pickups .box .slick-list .slick-track {
    left: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture {
    width: 532px;
    padding: 0 36px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .slick-list {
    background-color: rgb(249, 248, 248);
    box-shadow: 0 0 5px 0 rgba(36, 35, 35, 0.2);
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm,
  #department.page:not(.top-level) #pickups .box #lecture .lecture {
    width: 100%;
    max-width: 496px;
    margin: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section {
    display: flex;
    flex-direction: column-reverse;
    padding: 6px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .headingBox,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox {
    padding: 1.6rem 1.2rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .headingBox .title,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox .title {
    margin-bottom: 0.8rem;
    font-size: 1.125rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .headingBox p,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox p {
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.06em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .image,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .image {
    width: 100%;
    max-width: 496px;
    max-height: 308px;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture .charm > section .image img,
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section {
    height: 100%;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .headingBox {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData {
    position: relative;
    display: flex;
    justify-content: flex-start;
    padding: 1.6rem 0 3.2rem;
    margin: auto 0 -1rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .label {
    display: block;
    padding: 1.1rem 2rem 1rem;
    font-size: 0.75rem;
    line-height: 1rem;
    letter-spacing: 0.05em;
    background-color: rgb(232, 229, 226);
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .teacher {
    padding-left: 0.5rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .teacher .affiliation {
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .teacher .name {
    margin-bottom: 0;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .profileLink {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 0.625rem;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture > section .teacherData .profileLink .arw-circle {
    top: 3px;
    width: 14px;
    height: 14px;
  }
  #department.page:not(.top-level) #pickups .box #lecture .lecture.charm > section .teacherData {
    padding: 0.8rem 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 {
    width: 100%;
    padding: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .heading {
    width: calc(100% - 10px);
    margin: 0 5px calc(1.6rem - 5px);
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .gallery {
    width: auto;
    margin-left: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .slick-list {
    z-index: 1;
    background: none;
    box-shadow: none;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .slick-track::before, #department.page:not(.top-level) #pickups .box #lecture.col2 .slick-track::after {
    display: none;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .charm,
  #department.page:not(.top-level) #pickups .box #lecture.col2 .lecture {
    max-width: auto;
    height: auto;
    margin: 0;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .charm > section,
  #department.page:not(.top-level) #pickups .box #lecture.col2 .lecture > section {
    margin: 5px 0.5rem;
    background-color: rgb(249, 248, 248);
    box-shadow: 0 0 5px 0 rgba(36, 35, 35, 0.2);
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .prev,
  #department.page:not(.top-level) #pickups .box #lecture.col2 .next {
    width: 30px;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .prev {
    left: -22px;
  }
  #department.page:not(.top-level) #pickups .box #lecture.col2 .next {
    right: -22px;
  }
  #department.page:not(.top-level) #pickups .box #study {
    width: 460px;
    padding: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study {
    width: 100%;
    max-width: 496px;
    margin: 0;
    padding: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section {
    display: flex;
    flex-direction: column-reverse;
    padding: 32px 40px;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox {
    padding: 1.6rem 0 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .title {
    margin-bottom: 0.8rem;
    font-size: 1.125rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .title span {
    display: inline-block;
    margin-top: 0.3rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .summary .subtitle {
    margin-bottom: 0.8rem;
    margin-top: 1.4rem;
    font-size: 1rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .summary .subtitle:first-child {
    margin-top: -0.2em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student {
    padding: 1.2rem;
    margin-top: 1.6rem;
    background: rgba(249, 248, 248, 0.75);
    border-radius: 5px;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student .name {
    font-weight: 700;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student .name .san {
    font-size: 0.75rem;
    padding-left: 0.3rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox .student .affiliation {
    font-size: 0.75rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox p {
    font-size: 0.875rem;
    line-height: 1.6em;
    letter-spacing: 0.06em;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .headingBox p.teacher {
    margin-top: 1.6rem;
    font-size: 0.75rem;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .image {
    width: 100%;
    max-width: 496px;
    max-height: 308px;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #pickups .box #study .study > section .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page:not(.top-level) #pickups .box #study .study .button {
    margin-top: 1.2rem;
  }
  #department.page:not(.top-level) #pickups .box #study .slick-slider .prev, #department.page:not(.top-level) #pickups .box #study .slick-slider .next {
    z-index: 100;
    width: 32px;
    height: 32px;
    margin-top: -16px;
    background-color: transparent;
    background-image: url("../img/arw-down-red.svg");
    background-size: 32px 32px;
    background-position: center center;
    border-radius: 0;
    box-shadow: none;
  }
  #department.page:not(.top-level) #pickups .box #study .slick-slider .prev {
    left: 2px;
    transform: rotateZ(90deg);
  }
  #department.page:not(.top-level) #pickups .box #study .slick-slider .next {
    right: 2px;
    transform: rotateZ(-90deg);
  }
  #department.page:not(.top-level) #faculty {
    position: relative;
    margin-top: 6.4rem;
  }
  #department.page:not(.top-level) #faculty > .link {
    position: absolute;
    top: 0;
    right: 0;
  }
  #department.page:not(.top-level) .sectionBox {
    display: flex;
    justify-content: space-between;
    /* 卒論のテーマ
    ----------------------------------*/
    /* 関連リンク
    ----------------------------------*/
  }
  #department.page:not(.top-level) .sectionBox > section {
    width: calc(50% - 1.5rem);
    margin-top: 4.8rem;
  }
  #department.page:not(.top-level) .sectionBox #graduationThesis {
    position: relative;
  }
  #department.page:not(.top-level) .sectionBox #graduationThesis > .link {
    position: absolute;
    top: 0;
    right: 0;
  }
  #department.page:not(.top-level) #major {
    margin-top: 6.4rem;
    margin-bottom: 6.4rem;
  }
  #department.page:not(.top-level) #major .heading {
    margin-bottom: 3.2rem;
  }
  #department.page:not(.top-level) #major .linkTable {
    margin-bottom: 3.2rem;
  }
  #department.page:not(.top-level) #major .summaryBox {
    display: block;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary {
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
    margin: 0 0 2.4rem;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary.current {
    opacity: 0.3;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary .headingBox {
    width: calc(504px + 2rem);
    margin: 1.6rem 0 1.6rem -2rem;
    padding: 1.6rem 1.4rem 1.4rem;
    background: rgb(255, 255, 255);
    box-shadow: 0 0 5px 0 rgba(36, 35, 35, 0.1);
    z-index: 1;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary .headingBox .title {
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
    border-bottom-style: solid;
    border-bottom-width: 1px;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary .headingBox .catch {
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.8em;
    letter-spacing: 0.1em;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary .headingBox .textBox {
    font-size: 0.875rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary .headingBox .button {
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary .heading-image {
    width: 496px;
    margin-bottom: 0;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary .heading-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary:nth-child(even) {
    flex-direction: row;
  }
  #department.page:not(.top-level) #major .summaryBox .majorSummary:nth-child(even) .headingBox {
    margin: 1.6rem -2rem 1.6rem 0;
  }
  #department.page:not(.top-level).hss_cc #article .headingBox {
    background-image: url("../img/ico-dept-hss_cc-opacity.svg");
  }
  #department.page:not(.top-level).hss_cc #pickups {
    background: rgba(254, 182, 36, 0.1);
  }
  #department.page:not(.top-level).hss_cc #pickups #study .slick-list {
    background-color: rgba(254, 182, 36, 0.1);
  }
  #department.page:not(.top-level).hss_cc #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(254, 182, 36);
  }
  #department.page:not(.top-level).hss_cc #major #eac .heading-image img {
    object-position: right center;
  }
  #department.page:not(.top-level).hss_cc #major #phil .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_cc #major #lis .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_cc #major #ma .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_s #article .headingBox {
    background-image: url("../img/ico-dept-hss_s-opacity.svg");
  }
  #department.page:not(.top-level).hss_s #pickups {
    background: rgba(249, 209, 0, 0.1);
  }
  #department.page:not(.top-level).hss_s #pickups #study .slick-list {
    background-color: rgba(249, 209, 0, 0.1);
  }
  #department.page:not(.top-level).hss_s #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(249, 209, 0);
  }
  #department.page:not(.top-level).hss_s #major #soc .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna #article .headingBox {
    background-image: url("../img/ico-dept-hss_lcna-opacity.svg");
  }
  #department.page:not(.top-level).hss_lcna #article .headingBox .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna #pickups {
    background: rgba(249, 227, 97, 0.1);
  }
  #department.page:not(.top-level).hss_lcna #pickups #study .slick-list {
    background-color: rgba(249, 227, 97, 0.1);
  }
  #department.page:not(.top-level).hss_lcna #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(249, 227, 97);
  }
  #department.page:not(.top-level).hss_lcna #major #mie .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna #major #gbl .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hss_lcna #major #fswl .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hg #article .headingBox {
    background-image: url("../img/ico-dept-hg-opacity.svg");
  }
  #department.page:not(.top-level).hg #pickups {
    background: rgba(25, 151, 92, 0.1);
  }
  #department.page:not(.top-level).hg #pickups #study .slick-list {
    background-color: rgba(25, 151, 92, 0.1);
  }
  #department.page:not(.top-level).hg #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(25, 151, 92);
  }
  #department.page:not(.top-level).hg #major #jhs .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hg #major #whs .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).hg #major #geo .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).jll #article .headingBox {
    background-image: url("../img/ico-dept-jll-opacity.svg");
  }
  #department.page:not(.top-level).jll #pickups {
    background: rgba(111, 92, 178, 0.1);
  }
  #department.page:not(.top-level).jll #pickups #study .slick-list {
    background-color: rgba(111, 92, 178, 0.1);
  }
  #department.page:not(.top-level).jll #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(111, 92, 178);
  }
  #department.page:not(.top-level).jll #major #jll .heading-image img {
    object-position: center center;
  }
  #department.page:not(.top-level).psych #article .headingBox {
    background-image: url("../img/ico-dept-psych-opacity.svg");
  }
  #department.page:not(.top-level).psych #pickups {
    background: rgba(45, 164, 216, 0.1);
  }
  #department.page:not(.top-level).psych #pickups #study .slick-list {
    background-color: rgba(45, 164, 216, 0.1);
  }
  #department.page:not(.top-level).psych #major .majorSummary .headingBox .title {
    border-bottom-color: rgb(45, 164, 216);
  }
  #department.page:not(.top-level).psych #major #psych .heading-image img {
    object-position: center center;
  }
  /* ページトップ
  ----------------------------------*/
  /*//////////////////////////////////

  PC、MOBILE
  ----------
  ギャラリー

  //////////////////////////////////*/
  #gallery.page main #hero {
    height: 1124px;
  }
  /*//////////////////////////////////

  PC、MOBILE
  ----------
  教員コラム

  //////////////////////////////////*/
  /*//////////////////////////////////

  PC、MOBILE
  ----------
  進路・キャリア

  //////////////////////////////////*/
  /*//////////////////////////////////

  PC
  ----------
  フッター

  //////////////////////////////////*/
  /* 
  ----------------------------------*/
  /* バナー型リンク
  ----------------------------------*/
  /* ページ内リンクメニュー
  ----------------------------------*/
  /* 学科・コースページへのリンク
  ----------------------------------*/
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #hero {
    height: 1060px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 769px) {
  #gallery.page main #hero {
    height: 1020px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main #hero {
    height: 920px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 420px) {
  #gallery.page main #hero {
    height: 860px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 375px) {
  #gallery.page main #hero {
    height: 834px;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #hero img {
    object-position: center top;
  }
  #gallery.page main #hero::before {
    display: none;
  }
  #gallery.page main #titleBox > .content {
    display: flex;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox > .content {
    flex-direction: column;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle {
    width: 608px;
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle {
    margin-right: -216px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle {
    width: 100%;
    max-width: calc(50vw + 0.5rem);
    min-width: 360px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main #titleBox .pageTitle {
    max-width: calc(80vw + 0.5rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 360px) {
  #gallery.page main #titleBox .pageTitle {
    min-width: auto;
    max-width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle .pankuzu li a, #gallery.page main #titleBox .pageTitle .pankuzu li span, #gallery.page main #titleBox .pageTitle .pankuzu li::after {
    color: rgb(249, 248, 248);
  }
  #gallery.page main #titleBox .pageTitle .title {
    margin: 4.2rem 0 5.8rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title {
    margin: 2.4rem 0 4.8rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main #titleBox .pageTitle .title {
    margin: 1.6rem 0 4rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle .title img {
    margin-left: -0.8rem;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title img {
    width: 80%;
    height: auto;
    margin-left: 0.6rem;
    margin-bottom: 1.6rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon {
    position: relative;
    display: block;
    padding: 6px 0 6px 0.8rem;
    margin-left: 0.8rem;
    line-height: 1em;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: rgb(147, 8, 8);
    background: rgb(249, 248, 248);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon {
    display: inline-block;
    padding: 6px 0.8rem 6px 2rem;
    margin-right: 0.8rem;
    margin-left: -0.6rem;
    font-size: 0.875rem;
    text-align: right;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 360px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon {
    padding: 6px 0 6px 6px;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(-0.5rem - 6px);
    display: inline-block;
    width: 0;
    height: 0;
    border: solid calc(0.5rem + 6px) transparent;
    border-right-color: rgb(249, 248, 248);
    border-left-width: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon::before {
    display: none;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle .title .ribbon::after {
    content: "";
    position: absolute;
    top: 0;
    right: calc(-0.5rem - 5px);
    display: inline-block;
    width: 0;
    height: 0;
    border: solid calc(0.5rem + 5px) transparent;
    border-left-color: rgb(249, 248, 248);
    border-right-width: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle::after {
    bottom: 58px;
    width: 100%;
    height: 342px;
    background: rgba(229, 1, 111, 0.6);
    background: linear-gradient(to bottom, rgba(229, 1, 111, 0.6) 0%, rgba(173, 0, 66, 0.8) 100%);
    border: none;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle::after {
    height: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle + iframe,
  #gallery.page main #titleBox .pageTitle + figure {
    position: relative;
    z-index: 1;
    width: 608px;
    height: 342px;
    margin-top: 1.6rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .pageTitle + iframe,
  #gallery.page main #titleBox .pageTitle + figure {
    width: calc(100vw - 4rem);
    height: calc((100vw - 4rem) * 0.5625);
    max-width: 608px;
    max-height: 342px;
    margin: -2.4rem auto 1.6rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main #titleBox .pageTitle + figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main #titleBox .button {
    margin: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main #titleBox .button {
    position: relative;
    z-index: 10;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer {
    margin-top: -300px;
    background: linear-gradient(to bottom, rgba(249, 248, 248, 0.6) 0px, #f9f8f8 300px);
  }
  #gallery.page main .mainContainer #article {
    width: 100%;
    /* 冒頭エリア
    ----------------------------------*/
    /* 各ツアー内容
    ----------------------------------*/
  }
  #gallery.page main .mainContainer #article .catch {
    font-size: 1.8rem;
    line-height: 1.8em;
    letter-spacing: 0.2em;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 769px) {
  #gallery.page main .mainContainer #article .catch {
    font-size: 1.5rem;
    letter-spacing: 0.15rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .catch br.mb {
    display: none;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 420px) {
  #gallery.page main .mainContainer #article .catch br.mb {
    display: block;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article figure {
    position: relative;
    margin: 0;
  }
  #gallery.page main .mainContainer #article figure figcaption {
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    font-size: 0.625rem;
    line-height: 1.4em;
    color: rgb(249, 248, 248);
    letter-spacing: 0.1em;
    text-shadow: 0 0 3px rgb(36, 35, 35);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article figure figcaption {
    top: 0.5rem;
    right: 0.5rem;
    bottom: auto;
    left: auto;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .thumbnail {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .thumbnail .image {
    width: 160px;
    height: 160px;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .thumbnail .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article #firstArea {
    display: flex;
    margin-bottom: 4.8rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea {
    flex-direction: column;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    width: 496px;
    margin-left: auto;
    margin-right: 8px;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    padding-right: 1rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    width: calc(100% - 4rem);
    max-width: 600px;
    margin: 4.8rem auto 2.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 769px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    margin-top: 3.2rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox {
    width: calc(100% - 2rem);
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading {
    margin-bottom: 3.2rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading {
    text-align: center;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading .label {
    display: block;
    margin-top: 0.8rem;
    margin-bottom: 3.2rem;
    color: rgb(178, 16, 37);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.1em;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article #firstArea .leadBox .heading .label {
    margin-bottom: 1.6rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox {
    max-width: 50%;
    margin-top: -6.4rem;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox {
    min-width: 496px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox {
    width: calc(100% - 4rem);
    max-width: 704px;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .mainImage {
    width: 100%;
    height: 397px;
    margin-bottom: 8px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .mainImage {
    height: 300px;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .mainImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article #firstArea .photoBox .thumbnail {
    width: 496px;
    margin-right: auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article #firstArea .photoBox .thumbnail {
    justify-content: center;
    width: auto;
    margin: 0 auto;
  }
  #gallery.page main .mainContainer #article #firstArea .photoBox .thumbnail .image {
    max-width: 160px;
    width: 100%;
    height: 100px;
    margin: 0 4px;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour {
    margin-bottom: 4.8rem;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .content {
    position: relative;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour .content {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .leadBox {
    width: 497px;
    padding-bottom: 2.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .leadBox {
    position: absolute;
    top: 3.2rem;
    right: auto;
    bottom: auto;
    left: 0;
    z-index: 10;
    width: calc(100% - 1rem);
    max-width: calc(497px + 3.2rem);
    padding: 2.4rem 1.6rem;
    background: rgba(255, 255, 255, 0.8);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour .leadBox {
    position: relative;
    top: 0;
    left: auto;
    margin-top: -2.4rem;
    margin-right: auto;
    margin-left: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox {
    margin-bottom: 0;
  }
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox .label {
    margin-bottom: 2.4rem;
  }
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox .catch {
    margin-bottom: 1.2rem;
  }
  #gallery.page main .mainContainer #article .tour .leadBox .headingBox sup {
    top: -0.75rem;
    margin: 0 0 0 -2px;
    color: rgb(142, 142, 142);
    font-size: 1rem;
  }
  #gallery.page main .mainContainer #article .tour .photoBox {
    width: 454px;
    height: 584px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .photoBox {
    width: calc(100vw - 2rem);
    height: calc((100vw - 2rem) * 1.39);
    max-width: 503px;
    max-height: 700px;
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour .photoBox {
    width: 100vw;
    height: 139vw;
    max-width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .photoBox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox {
    margin-top: -2.4rem;
    padding: 4.8rem 0 0.8rem;
    background: rgb(241, 237, 238);
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .box {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .box {
    padding-right: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .box {
    max-width: calc(1000px + 2rem);
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item {
    width: 187px;
    height: 187px;
    margin-left: 16px;
    line-height: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item {
    height: auto;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item .image {
    display: block;
    width: 100%;
    height: 100%;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .gallery .item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .slick-track {
    left: -1rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .slick-track {
    left: -0.5rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev, #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .next {
    z-index: 2;
    height: 28px;
    margin-top: calc(-14px - 1.8rem);
    border-radius: 50%;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev {
    left: -14px;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list {
    position: relative;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before, #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 1;
    display: block;
    width: calc(1rem - 4px);
    height: 100%;
    background: rgb(241, 237, 238);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before, #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::after {
    width: 0.5rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before {
    left: 0;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before {
    display: none;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::before {
    width: 0.5rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .prev + .slick-list::after {
    right: 0;
  }
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .next {
    right: calc(-18px + 1rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour .galleryBox .slick-slider .next {
    right: -4px;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content {
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content .leadBox {
    right: 0;
    left: auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content .leadBox {
    right: auto;
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content .photoBox {
    margin-right: auto;
    margin-left: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour:nth-child(odd) .content figure figcaption {
    right: auto;
    left: 0.5rem;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery {
    margin-top: 3.2rem;
  }
  #gallery.page main .mainContainer #article .tour#lush-greenery .headingBox {
    padding-top: 1rem;
    background: url("../img/virtual-tour/heading-lush_greenery.svg") right top/auto 90px no-repeat;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery .headingBox {
    background-size: min(100%, 356px) auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery .photoBox {
    height: 60vw;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour#lush-greenery .photoBox img {
    object-position: center bottom;
  }
  #gallery.page main .mainContainer #article .tour#respect-for-history .headingBox {
    padding-top: 1.6rem;
    background: url("../img/virtual-tour/heading-respect_for_history.svg") right top/auto 96px no-repeat;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#respect-for-history .headingBox {
    background-size: min(100%, 420px) auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#respect-for-history .photoBox {
    height: 60vw;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#respect-for-history .photoBox img {
    object-position: center -240px;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour#campus-life .headingBox {
    padding-top: 1rem;
    background: url("../img/virtual-tour/heading-campus_life.svg") right top/auto 66px no-repeat;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#campus-life .headingBox {
    background-size: min(100%, 326px) auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#campus-life .photoBox {
    height: 60vw;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour#library .headingBox {
    padding-top: 0.8rem;
    background: url("../img/virtual-tour/heading-library.svg") right top/auto 40px no-repeat;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #gallery.page main .mainContainer #article .tour#library .headingBox {
    background-position: right 1rem;
    background-size: min(100%, 258px) auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #gallery.page main .mainContainer #article .tour#library .photoBox {
    height: 60vw;
  }
}
@media only screen and (min-width: 1016px) {
  #gallery.page main .mainContainer #article .tour#library .photoBox img {
    object-position: center right;
  }
  #column.page main #hero {
    height: calc(295px - 6.2rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page main #hero {
    height: calc(150px - 2.4rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page main #hero::before {
    display: none;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main #hero img {
    object-position: center 0;
  }
  #column.page main #titleBox {
    top: calc(216px - 2.4rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page main #titleBox {
    top: 5.6rem;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main #titleBox .pageTitle {
    padding-bottom: 0.6rem;
  }
  #column.page main .mainContainer {
    padding-top: 0;
  }
  #column.page main .mainContainer #article {
    width: 100%;
  }
  #column.page main .mainContainer #article .headingBox {
    position: relative;
    width: 100%;
    padding: 2.8rem 8px 5.4rem;
    text-align: center;
  }
  #column.page main .mainContainer #article .headingBox .heading {
    display: inline-block;
    width: auto;
    margin: 0 auto;
    text-align: left;
  }
  #column.page main .mainContainer #article .headingBox .heading .corner-logo {
    display: block;
    margin-bottom: 0.5rem;
  }
  #column.page main .mainContainer #article .headingBox .heading .label {
    font-size: 0.625rem;
    line-height: 22px;
    letter-spacing: 0.1em;
    color: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article .headingBox::before, #column.page main .mainContainer #article .headingBox::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background-position: center center;
  }
  #column.page main .mainContainer #article .headingBox::before {
    background-color: rgba(176, 0, 56, 0.1);
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 1.5px, rgba(176, 0, 56, 0.1) 1.5px, rgba(176, 0, 56, 0.1) 3px);
    background-repeat: repeat;
    opacity: 0.3;
  }
  #column.page main .mainContainer #article .headingBox::after {
    background-image: url("../img/title-column_logo-white.svg");
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.5;
  }
  #column.page main .mainContainer #article .postList {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3.2rem 1%;
    width: 100%;
    margin-bottom: 6.4rem;
  }
  #column.page main .mainContainer #article .postList .post {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: repeat(5, auto);
    gap: 0px;
    grid-auto-flow: row;
    grid-template-areas: "meta" "thumbnail" "heading" "button" "author";
    width: 32.666%;
    background: rgb(255, 255, 255);
    border-top: solid 2px rgb(147, 8, 8);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    box-shadow: 0 0.9px 2.3px rgba(0, 9, 22, 0.001), 0 2px 7.3px rgba(0, 9, 22, 0.01), 0 5.5px 19.9px rgba(0, 9, 22, 0.031), 0 28px 80px rgba(0, 9, 22, 0.07);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 901px) {
  #column.page main .mainContainer #article .postList .post {
    width: 49.5%;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 641px) {
  #column.page main .mainContainer #article .postList .post {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main .mainContainer #article .postList .post .meta {
    grid-area: meta;
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    font-size: 0.625rem;
    line-height: 1em;
  }
  #column.page main .mainContainer #article .postList .post .meta .date {
    letter-spacing: 0.2em;
    color: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article .postList .post .meta .category a {
    letter-spacing: 0.1em;
    color: rgb(36, 35, 35);
  }
  #column.page main .mainContainer #article .postList .post .thumbnail {
    grid-area: thumbnail;
    width: 100%;
    height: 120px;
    margin: 0;
  }
  #column.page main .mainContainer #article .postList .post .thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
  }
  #column.page main .mainContainer #article .postList .post .thumbnail a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #column.page main .mainContainer #article .postList .post .heading {
    grid-area: heading;
    display: block;
    width: 100%;
    margin: 1rem 0 1.6rem;
  }
  #column.page main .mainContainer #article .postList .post .heading a {
    display: block;
    padding: 0 1.6rem;
    font-size: 1.125rem;
    line-height: 2rem;
    letter-spacing: 0.24em;
    text-decoration: none;
  }
  #column.page main .mainContainer #article .postList .post .heading a::before {
    content: "";
    display: block;
    width: 2.8rem;
    height: 1px;
    margin-bottom: 1rem;
    background: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article .postList .post .heading.en a {
    letter-spacing: 0.14em;
    line-height: 1.9rem;
  }
  #column.page main .mainContainer #article .postList .post .button {
    grid-area: button;
    max-width: none;
    margin: 0 1.5rem 1.8rem;
    font-size: 0.875rem;
    letter-spacing: 0.16em;
  }
  #column.page main .mainContainer #article .postList .post .authorData {
    grid-area: author;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 1.6rem;
    background: rgb(239, 236, 237);
    background: linear-gradient(0deg, rgba(239, 236, 237, 0.7) 0%, rgba(239, 236, 237, 0.4) 20%);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  #column.page main .mainContainer #article .postList .post .authorData .author .title {
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.875rem;
    line-height: 1em;
    letter-spacing: 0.1em;
  }
  #column.page main .mainContainer #article .postList .post .authorData .author .name {
    display: block;
    font-size: 1.125rem;
    line-height: 1.4em;
    letter-spacing: 0.16em;
    font-weight: 700;
  }
  #column.page main .mainContainer #article .postList .post .authorData .photo {
    display: block;
    min-width: 50px;
    width: 50px;
    height: 50px;
    margin: -0.2rem 1rem -0.2rem -0.1rem;
    border: solid 1px rgb(239, 236, 237);
    border-radius: 50%;
    overflow: hidden;
  }
  #column.page main .mainContainer #article .postList .post .authorData .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (min-width: 1016px) and (-ms-high-contrast: none) {
  #column.page main .mainContainer #article .postList .post {
    display: -ms-grid;
    -ms-grid-columns: 1fr;
    -ms-grid-rows: repeat(5, 1fr);
  }
  #column.page main .mainContainer #article .postList .post .meta {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .thumbnail {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .heading {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .button {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  #column.page main .mainContainer #article .postList .post .author {
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main .mainContainer #article #latest-post {
    margin-top: -2.4rem;
  }
  #column.page main .mainContainer #article #latest-post > .heading {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.4rem;
    color: rgb(249, 248, 248);
    text-align: center;
    background-color: rgb(147, 8, 8);
  }
  #column.page main .mainContainer #article #latest-post > .heading .title {
    font-size: 1.125rem;
    letter-spacing: 0.2rem;
  }
  #column.page main .mainContainer #article #latest-post > .heading .mod_date {
    margin-left: 0.5em;
    font-size: 0.625rem;
    font-weight: normal;
    letter-spacing: 0.1rem;
  }
  #column.page main .mainContainer #article #latest-post > .heading .mod_date::before {
    content: "/";
    display: inline-block;
    margin-right: 0.5em;
  }
  #column.page main .mainContainer #article #archive {
    margin-top: 2rem;
  }
  #column.page main .mainContainer #article #archive > .heading {
    margin-bottom: 3.2rem;
    margin-top: 3.2rem;
    letter-spacing: 0.16em;
    line-height: 1.6em;
    /*
    &.signboard {
      margin-top: -2rem;
      margin-bottom: 3.2rem;
      padding-top: 0;
      padding-bottom: 0;

      font-size: 1.125rem;
    }
    */
  }
  #column.page main .mainContainer #article .archiveLink .archiveBox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3.2rem 2%;
    width: 100%;
    margin-bottom: 4.8rem;
  }
  #column.page main .mainContainer #article .archiveLink .archiveBox > section {
    width: 49%;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 641px) {
  #column.page main .mainContainer #article .archiveLink .archiveBox > section {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main .mainContainer #article .archiveLink .archiveList {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1.6rem 2%;
    padding: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 901px) {
  #column.page main .mainContainer #article .archiveLink .archiveList {
    gap: 1.6rem 2%;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main .mainContainer #article .archiveLink .archiveList > li {
    width: 49%;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 901px) {
  #column.page main .mainContainer #article .archiveLink .archiveList > li {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main .mainContainer #article .archiveLink .archiveList > li .button {
    margin: 0 auto;
  }
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox {
    justify-content: center;
  }
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li {
    width: 100%;
    max-width: 230px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 641px) {
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li {
    width: 49%;
    max-width: none;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 481px) {
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main .mainContainer #article .archiveLink .archiveList.archiveBox > li .button {
    margin: 0 auto;
  }
  #column.page main .mainContainer #article .archiveNav {
    width: 100%;
    padding: 0;
    margin-bottom: 4.8rem;
    background: rgb(239, 236, 237);
  }
  #column.page main .mainContainer #article .archiveNav .archiveNavList {
    display: flex;
    justify-content: flex-start;
    gap: 0 3.2rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList {
    flex-direction: column;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList > li {
    width: 100%;
    border-top: solid 1px rgb(255, 255, 255);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList > li:first-child {
    border-top: none;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page main .mainContainer #article .archiveNav .archiveNavList > li a {
    display: block;
    padding: 1rem 0;
    text-align: center;
  }
  #column.page.archive main .mainContainer #article .headingBox {
    padding: 2.4rem 8px;
  }
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 1.6rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 800px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList {
    gap: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li {
    width: 30%;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 800px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child, #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child {
    width: 50%;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child, #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child > a {
    text-align: left;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:first-child > a {
    text-align: center;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 800px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li.column-home {
    width: 100%;
    order: 3;
    border-top: solid 1px rgb(255, 255, 255);
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child > a {
    text-align: right;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page.archive main .mainContainer #article .archiveNav .archiveNavList > li:last-child > a {
    text-align: center;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .headingBox {
    padding: 3.8rem 0 0;
    text-align: left;
  }
  #column.page.post main .mainContainer #article .headingBox .heading {
    margin-bottom: 1rem;
  }
  #column.page.post main .mainContainer #article .headingBox .heading .corner-logo {
    display: block;
    margin-bottom: 1rem;
  }
  #column.page.post main .mainContainer #article .headingBox .heading .title {
    display: block;
    padding-left: 2.4rem;
    font-size: 1.375rem;
    line-height: 2.8rem;
    letter-spacing: 0.24em;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 769px) {
  #column.page.post main .mainContainer #article .headingBox .heading .title {
    padding-left: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .headingBox .heading.en .title {
    letter-spacing: 0.16em;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData {
    padding-left: 2.4rem;
    margin-bottom: 3.2rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 769px) {
  #column.page.post main .mainContainer #article .headingBox .authorData {
    padding-left: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .headingBox .authorData .author {
    font-size: 0.875rem;
    letter-spacing: 0.16em;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData .author .title {
    display: inline-block;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData .author .name {
    display: inline-block;
    margin-left: 1em;
  }
  #column.page.post main .mainContainer #article .headingBox .authorData .author .name::before {
    content: "／";
    display: inline-block;
    margin-right: 1em;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox {
    background: rgb(238, 224, 229);
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li {
    margin-right: 1em;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li:first-child {
    margin-left: 2.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 769px) {
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li:first-child {
    margin-left: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a {
    display: inline-block;
    padding: 1em;
    font-size: 0.75rem;
    line-height: 1em;
    letter-spacing: 0.1em;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span.label, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a.label {
    padding-right: 0;
    padding-left: 0;
  }
  #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span.label + span, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li > span.label + a, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a.label + span, #column.page.post main .mainContainer #article .headingBox .metaBox .meta > li a.label + a {
    padding-left: 0;
  }
  #column.page.post main .mainContainer #article .content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #column.page.post main .mainContainer #article .body_text {
    width: 725px;
    padding: 2.4rem 24px 0 100px;
    margin: 2.4rem 0 4.8rem;
    border-right: solid 1px rgb(239, 236, 237);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .body_text {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    border-right: none;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .body_text section + section {
    margin-top: 4.8rem;
  }
  #column.page.post main .mainContainer #article .body_text .heading {
    margin-bottom: 2.4rem;
    font-size: 1.25rem;
    line-height: 1.8em;
    letter-spacing: 0.16em;
  }
  #column.page.post main .mainContainer #article .body_text .heading::before {
    content: "";
    display: block;
    width: 2.8rem;
    height: 1px;
    margin-bottom: 2.4rem;
    background: rgb(147, 8, 8);
  }
  #column.page.post main .mainContainer #article .body_text p {
    margin-bottom: 2rem;
    font-size: 1rem;
    line-height: 2em;
    letter-spacing: 0.24em;
  }
  #column.page.post main .mainContainer #article .body_text p:last-child {
    margin-bottom: 0;
  }
  #column.page.post main .mainContainer #article .body_text .thumbnail {
    position: relative;
    width: 200px;
    height: 200px;
    margin-bottom: 1rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #column.page.post main .mainContainer #article .body_text .thumbnail figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 6px;
    text-align: right;
    font-size: 0.75rem;
    line-height: 1.4em;
    letter-spacing: 0.03em;
    color: rgb(255, 255, 255);
    text-shadow: -1px -1px 2px rgb(0, 9, 22), -1px 1px 2px rgb(0, 9, 22), 1px -1px 2px rgb(0, 9, 22), 1px 1px 2px rgb(0, 9, 22);
  }
  #column.page.post main .mainContainer #article .body_text .thumbnail.left {
    margin-right: 1rem;
    float: left;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.left {
    margin-right: 0;
    float: none;
    clear: both;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.right {
    margin-left: 1rem;
    float: right;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 540px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.right {
    margin-left: 0;
    float: none;
    clear: both;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .body_text .thumbnail.full {
    width: 100%;
    background-color: #fff;
  }
  #column.page.post main .mainContainer #article .body_text.en p {
    text-align: justify;
    letter-spacing: 0.08em;
  }
  #column.page.post main .mainContainer #article .body_text .noteSection .note {
    padding-left: 2.4em;
    letter-spacing: 0.16em;
    line-height: 1.8em;
  }
  #column.page.post main .mainContainer #article .body_text .noteSection .note > li .num {
    display: inline-block;
    width: 2.4em;
    margin-left: -2.4em;
  }
  #column.page.post main .mainContainer #article .sidebar {
    position: relative;
    top: -8rem;
    width: 262px;
    padding-left: 35px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar {
    top: 0;
    width: 100%;
    padding-left: 0;
  }
}
@media only screen and (min-width: 1016px) and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar.noPhoto {
    padding: 0.6rem 1.6rem 0;
    margin-left: 0;
    background: rgb(249, 248, 248);
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar.noPhoto .authorData .facultyList > li .personalData .dataBox .theme .heading {
    letter-spacing: 0.06em;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData {
    margin-bottom: 3.8rem;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList {
    margin-bottom: 0.6rem;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li {
    width: 100%;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1rem;
    padding: 2.4rem 0;
    background: #efeced;
    background: linear-gradient(0deg, rgba(239, 236, 237, 0.7) 0%, rgba(239, 236, 237, 0.4) 20%);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData {
    display: block;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo {
    margin-left: -0.6rem;
    margin-right: -0.6rem;
    line-height: 0;
    border: solid 0.6rem rgb(222, 206, 212);
    border-radius: 50%;
    overflow: hidden;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo {
    width: 50%;
    height: auto;
    max-width: 180px;
    max-height: 180px;
    margin: 0;
    border: solid 0.4rem rgba(178, 177, 177, 0.25);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo {
    display: block;
    width: 32vw;
    max-width: none;
    max-height: none;
    margin-right: 1.4rem;
    float: left;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container {
    display: flex;
    justify-content: center;
    flex-direction: column;
    min-height: 32vw;
    margin-bottom: 1.4rem;
  }
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container::after {
    content: "";
    display: block;
    clear: both;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .affiliation {
    margin-bottom: 0.6rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .affiliation {
    margin-top: auto;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox {
    margin-bottom: 1.2rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox {
    margin-bottom: 1.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox {
    margin-bottom: auto;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .container .nameBox .name {
    line-height: 1.4em;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .theme {
    margin-bottom: 0;
    background-color: rgb(249, 248, 248);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 519px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .theme {
    clear: both;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .personalData .dataBox .theme .heading {
    margin-bottom: 0.3rem;
    font-size: 0.75rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem 1.6rem;
    margin-top: 1.6rem;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink > * {
    width: auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink > * {
    min-width: auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .facultyList > li .textLink .profileUrl {
    align-self: flex-start;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .button {
    margin: 1rem 0 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #column.page.post main .mainContainer #article .sidebar .authorData .button {
    margin: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #column.page.post main .mainContainer #article .sidebar .archiveLink > .heading {
    display: none;
  }
  #column.page.post main .mainContainer #article .sidebar .archiveLink .archiveBox > section {
    width: 100%;
  }
  #column.page.post main .mainContainer #article .sidebar .archiveLink .archiveBox > section .archiveList {
    gap: 1.6rem 2%;
  }
  #column.page.post main .mainContainer #article .sidebar .archiveLink .archiveBox > section .archiveList > li {
    width: 100%;
  }
  #column.page.post main .mainContainer #article #recent {
    margin-bottom: 6.4rem;
  }
  #column.page.post main .mainContainer #article #recent .authorData + .button {
    display: none;
  }
  #column.page.post main .mainContainer #article .postList {
    margin-bottom: 3.2rem;
  }
  #column.page.post main .mainContainer #article .postList .post {
    grid-template-rows: repeat(4, auto);
    grid-template-areas: "thumbnail" "heading" "author" "meta";
    border: none;
  }
  #column.page.post main .mainContainer #article .postList .post .heading {
    font-family: "Noto Sans JP", sans-serif;
  }
  #column.page.post main .mainContainer #article .postList .post .heading a {
    padding: 0 1rem;
    font-size: 0.875rem;
    line-height: 1.8em;
    letter-spacing: 0.12em;
    text-decoration: underline;
  }
  #column.page.post main .mainContainer #article .postList .post .heading a::before {
    display: none;
  }
  #column.page.post main .mainContainer #article .postList .post .heading.en a {
    letter-spacing: 0.06em;
    line-height: 1.6rem;
  }
  #column.page.post main .mainContainer #article .postList .post .meta {
    position: relative;
    padding: 1rem;
    margin-top: 1rem;
  }
  #column.page.post main .mainContainer #article .postList .post .meta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1rem;
    display: block;
    width: 3em;
    border-top: solid 1px rgb(178, 177, 177);
  }
  #column.page.post main .mainContainer #article .postList .post .meta .date {
    color: rgb(0, 9, 22);
    letter-spacing: 0.1em;
  }
  #column.page.post main .mainContainer #article .postList .post .meta .date::before {
    content: "公開日：";
    display: inline;
  }
  #column.page.post main .mainContainer #article .postList .post .thumbnail {
    height: 154px;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData {
    padding: 0 1rem;
    background: none;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData .photo {
    width: 2.8rem;
    height: 2.8rem;
    min-width: 2.8rem;
    margin-right: 0.6rem;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData .author .title {
    font-size: 0.75rem;
  }
  #column.page.post main .mainContainer #article .postList .post .authorData .author .name {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.75rem;
  }
}
@media only screen and (min-width: 1016px) and (-ms-high-contrast: none) {
  #column.page.post main .mainContainer #article .postList .post {
    -ms-grid-rows: repeat(4, 1fr);
  }
  #column.page.post main .mainContainer #article .postList .post .thumbnail {
    -ms-grid-row: 1;
  }
  #column.page.post main .mainContainer #article .postList .post .heading {
    -ms-grid-row: 2;
  }
  #column.page.post main .mainContainer #article .postList .post .author {
    -ms-grid-row: 3;
  }
  #column.page.post main .mainContainer #article .postList .post .meta {
    -ms-grid-row: 4;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page {
    /* 資格・キャリアトップ
    ----------------------------------*/
    /* 文学部で目指せる資格
    ----------------------------------*/
    /* 大学院進学
    ----------------------------------*/
  }
  #careers.page main {
    /* 進路・キャリア共通フッター
    ----------------------------------*/
  }
  #careers.page main #hero img {
    object-position: center center;
  }
  #careers.page main .mainContainer #article {
    display: flex;
    justify-content: space-between;
    align-content: stretch;
    gap: 0 8px;
    flex-wrap: wrap;
  }
  #careers.page main .mainContainer #article .content {
    width: 100%;
    margin-top: 0;
  }
  #careers.page main .mainContainer #article .content .heading {
    margin-bottom: 1em;
    font-size: 1.375rem;
    line-height: 1.2em;
    letter-spacing: 0.2em;
  }
  #careers.page main .mainContainer #article .content .heading.sideline-skew {
    padding-left: 1rem;
  }
  #careers.page main .mainContainer #article .content .heading.sideline-skew::before {
    width: 3px;
  }
  #careers.page main .career-footer {
    margin-bottom: 6.4rem;
  }
  #careers.page main .career-footer .career-support {
    padding: 4.8rem 0;
    background: url("../img/careers/career-support.jpg") center center/cover no-repeat;
  }
  #careers.page main .career-footer .career-support .heading {
    text-align: center;
    color: rgb(255, 255, 255);
  }
  #careers.page main .career-footer .career-support .heading .label {
    display: block;
    margin-bottom: 1em;
    font-size: 0.75rem;
    line-height: 1em;
    font-weight: 500;
  }
  #careers.page main .career-footer .career-support .heading .title {
    letter-spacing: 0.16em;
    font-weight: 500;
  }
  #careers.page main .career-footer .career-support .textBox {
    width: 100%;
    max-width: 58em;
    margin-left: auto;
    margin-right: auto;
  }
  #careers.page main .career-footer .career-support .textBox p {
    color: rgb(255, 255, 255);
  }
  #careers.page main .career-footer .career-support .button {
    margin-bottom: 0;
  }
  #careers.page main .career-footer .sectionBox {
    margin-top: 3.2rem;
  }
  #careers.page main .career-footer .sectionBox > section {
    width: 100%;
  }
  #careers.page main .career-footer .sectionBox > section .withArw {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #careers.page main .career-footer .sectionBox > section .withArw > li {
    width: calc(50% - 1rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page main .career-footer .sectionBox > section .withArw > li {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article {
    width: 100%;
  }
  #careers.page.careers main .mainContainer #article .content .card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.4rem;
    background: rgb(255, 255, 255);
    border: solid 1px rgb(239, 236, 237);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card {
    display: block;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 420px) {
  #careers.page.careers main .mainContainer #article .content .card {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox {
    padding-right: 2.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox {
    padding-right: 0;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox .catch {
    margin-bottom: 32px;
    font-size: 1.375rem;
    line-height: 1.6em;
    letter-spacing: 0.2em;
    font-weight: 700;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .headingBox .catch > br {
    display: none;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content .card .linkGrid {
    display: flex;
    justify-content: space-between;
    gap: 2px;
    flex-wrap: wrap;
    margin: 0 0 2.4rem;
    padding: 0;
  }
  #careers.page.careers main .mainContainer #article .content .card .linkGrid > li {
    width: calc(50% - 1px);
    padding: 1rem 0.6rem;
    text-align: center;
    background: rgb(239, 236, 237);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 520px) {
  #careers.page.careers main .mainContainer #article .content .card .linkGrid > li {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: auto;
    margin: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem 0;
    width: 100%;
    margin-bottom: 0.8rem;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button {
    margin: 0 auto;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button {
    margin: 0 1rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 420px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button {
    min-width: auto;
    width: 100%;
    margin: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button + a {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content .card .buttonBox .button + a {
    margin-top: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card {
    flex-wrap: wrap;
  }
  #careers.page.careers main .mainContainer #article .content.qualification .card .headingBox {
    width: calc(50% - 1rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .headingBox {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .linkGrid {
    width: calc(50% - 1rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .linkGrid {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .buttonBox {
    flex-direction: row;
    width: 100%;
    margin-bottom: 0.8rem;
  }
  #careers.page.careers main .mainContainer #article .content.qualification .card .buttonBox .button {
    margin: 0 1rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 420px) {
  #careers.page.careers main .mainContainer #article .content.qualification .card .buttonBox .button {
    margin: 0;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers main .mainContainer #article .content.graduate-school .card .buttonBox .button + a {
    min-width: 300px;
    text-align: center;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer {
    margin-bottom: 6.4rem;
  }
  #careers.page.careers-qualification main .mainContainer #article {
    gap: 0;
    width: 100%;
  }
  #careers.page.careers-qualification main .mainContainer #article > section {
    margin-top: 0;
    margin-bottom: 6.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article > section {
    margin-bottom: 4.8rem;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer #article .heading.underline {
    text-align: center;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .heading.underline {
    margin-bottom: 3.2rem;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer #article .heading.underline::after {
    left: 0.8rem;
    right: 0.8rem;
    bottom: -2px;
    width: calc(100% - 1.6rem);
  }
  #careers.page.careers-qualification main .mainContainer #article .heading.underline .title {
    font-size: 1.25rem;
    letter-spacing: 0.16em;
  }
  #careers.page.careers-qualification main .mainContainer #article .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .content {
    flex-direction: column;
    padding: 0 1.6rem;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer #article .content .detail {
    padding: 0 3.2rem 0 1.6rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .content .detail {
    padding: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type {
    margin-bottom: 3.2rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .heading {
    font-size: 1.125rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .textBox {
    margin-bottom: 3.2rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .textBox:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .type .textBox p:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .textBox .note {
    margin-bottom: 0;
    color: rgb(36, 35, 35);
    letter-spacing: 0.1em;
    line-height: 1.6em;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .detail .textBox p:last-child {
    margin-bottom: 0;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .majorList {
    width: 100%;
    max-width: 328px;
    padding: 1.6rem;
    background: rgb(239, 236, 237);
    border-radius: 6px;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .content .majorList {
    max-width: none;
    margin: 2.4rem 0 0;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer #article .content .majorList dt {
    text-align: center;
    letter-spacing: 0.06em;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .majorList dd {
    margin-top: 1rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .content .majorList dd .note {
    line-height: 1.6em;
  }
  #careers.page.careers-qualification main .mainContainer #article #teaching-license {
    width: 100%;
    margin-top: 4.8rem;
  }
  #careers.page.careers-qualification main .mainContainer #article #teaching-license .type .heading {
    margin-bottom: 0.3em;
  }
  #careers.page.careers-qualification main .mainContainer #article #teaching-license .type .textBox {
    margin-bottom: 1.6rem;
    font-size: 0.75rem;
  }
  #careers.page.careers-qualification main .mainContainer #article #librarian {
    width: 100%;
  }
  #careers.page.careers-qualification main .mainContainer #article .half {
    width: calc(50% - 1rem);
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .half {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer #article .half .content {
    flex-direction: column;
    margin-top: 2.4rem;
    padding: 0 1.6rem;
  }
  #careers.page.careers-qualification main .mainContainer #article .half .content .detail {
    padding: 0;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 840px) {
  #careers.page.careers-qualification main .mainContainer #article .half .content .detail {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-qualification main .mainContainer #article .half .content .majorList {
    max-width: 100%;
  }
  #careers.page.careers-graduate-school main .mainContainer {
    margin-bottom: 6.4rem;
  }
  #careers.page.careers-graduate-school main .mainContainer #article .graduate-school-list {
    width: 100%;
  }
}
@media only screen and (min-width: 1016px) and (max-width: 1015px) {
  #careers.page.careers-graduate-school main .mainContainer #article .graduate-school-list {
    margin-bottom: 4.8rem;
  }
}
@media only screen and (min-width: 1016px) {
  #careers.page.careers-graduate-school main .mainContainer #article .list {
    margin-top: 0;
  }
  #careers.page.careers-graduate-school main .mainContainer #article .list .bull > li::before {
    content: "●";
    position: relative;
    top: -2px;
    margin-right: 0.5em;
    font-size: 0.5rem;
    color: rgb(147, 8, 8);
  }
  #careers.page.careers-graduate-school main .mainContainer #article .list:last-child {
    margin-bottom: 0;
  }
  footer {
    background-image: repeating-linear-gradient(-30deg, transparent, transparent 2px, rgba(213, 213, 213, 0.25) 2px, rgba(213, 213, 213, 0.25) 4px);
    /* コラム、ギャラリー、ラジオ
    ----------------------------------*/
    /* LiveCampus
    ----------------------------------*/
    /* バナーエリア
    ----------------------------------*/
    /* フッターメニュー
    ----------------------------------*/
  }
  footer.is-scroll #footer-sitemap .actionMenu > li.contact {
    margin-right: calc(2rem + 36px);
  }
  footer.is-scroll #footer-sitemap .actionMenu > li.totop {
    position: fixed;
    bottom: 0;
    z-index: 10;
    margin-bottom: 1.6rem;
  }
  footer.is-scroll #footer-sitemap .actionMenu > li.totop .goToTop {
    background-color: rgb(128, 16, 37);
    opacity: 0.8;
    transition: all 300ms ease 0ms;
  }
  footer.is-scroll #footer-sitemap .actionMenu > li.totop .goToTop:hover {
    opacity: 1;
  }
  footer ul {
    padding: 0;
  }
  footer .selectedArticles {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-top: 2rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  footer .selectedArticles > li {
    width: 33.33%;
    margin: 1rem 0.5rem 1.6rem;
    background: rgb(255, 255, 255);
  }
  footer .pickouts {
    padding-top: 0;
    padding-bottom: 0;
  }
  footer .pickouts .inBox {
    flex-wrap: nowrap;
    margin-top: 0.6em;
  }
  footer .bannerBlock {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-top: 0;
    padding-bottom: 0;
  }
  footer .bannerBlock li:not(.requestBrochure) {
    width: 176px;
    margin-right: 8px;
  }
  footer .bannerBlock .image-banner a {
    display: block;
    line-height: 0;
  }
  footer .bannerBlock .requestBrochure {
    order: 5;
    width: 100%;
    margin-left: 0.6rem;
  }
  footer .bannerBlock .button {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0.9em;
    padding-top: 0.9em;
  }
  footer #footer-sitemap {
    margin-top: 4.8rem;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
    background-color: rgb(128, 16, 37);
  }
  footer #footer-sitemap a:not(.button) {
    color: rgb(249, 248, 248);
  }
  footer #footer-sitemap a:not(.button)[href^="http://"]::after, footer #footer-sitemap a:not(.button)[href^="https://"]::after {
    background-image: url("../img/ico-blank-white.svg");
  }
  footer #footer-sitemap a:not(.button).banner.withPhoto::after {
    background-image: url("../img/arw-circle-white.svg");
  }
  footer #footer-sitemap .footer-top {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    width: 100%;
  }
  footer #footer-sitemap .actionMenu {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
  }
  footer #footer-sitemap .actionMenu > li {
    margin-left: 1.6rem;
  }
  footer #footer-sitemap .actionMenu > li.contact {
    margin-right: 2rem;
    margin-left: 2rem;
  }
  footer #footer-sitemap .actionMenu > li.totop {
    width: 36px;
    height: 36px;
    margin-left: 0;
    margin-bottom: 0;
  }
  footer #footer-sitemap .actionMenu > li a {
    display: block;
    font-size: 0.75rem;
  }
  footer #footer-sitemap .actionMenu .button {
    margin: 0;
  }
  footer #footer-sitemap .homeMenu {
    display: flex;
    justify-content: flex-start;
    align-items: top;
  }
  footer #footer-sitemap .homeMenu > li {
    min-width: 160px;
    padding-top: 1.2rem;
    color: rgb(249, 248, 248);
  }
  footer #footer-sitemap .mainMenu {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 1.6rem;
  }
  footer #footer-sitemap .mainMenu > li {
    margin-right: 2.4rem;
  }
  footer #footer-sitemap .mainMenu > li > .label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    color: rgb(195, 151, 158);
  }
  footer #footer-sitemap .mainMenu > li > a {
    display: block;
    margin-bottom: 1rem;
  }
  footer #footer-sitemap .mainMenu .childMenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2.4rem;
    padding: 0;
    background-color: transparent;
    border-top: none;
  }
  footer #footer-sitemap .mainMenu .childMenu > li {
    width: 100%;
    border-right: solid 1px rgb(156, 85, 100);
  }
  footer #footer-sitemap .mainMenu .childMenu > li:first-child {
    border-left: solid 1px rgb(156, 85, 100);
  }
  footer #footer-sitemap .mainMenu .childMenu > li > a {
    display: block;
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    text-indent: -10px;
  }
  footer #footer-sitemap .mainMenu .overview {
    width: 100%;
    margin-right: 0;
  }
  footer #footer-sitemap .mainMenu .overview .childMenu > li {
    width: 25%;
  }
  footer #footer-sitemap .mainMenu .department {
    width: 100%;
    margin-right: 0;
  }
  footer #footer-sitemap .mainMenu .department .childMenu > li {
    width: 33.33%;
    padding-right: 1rem;
    padding-left: 1rem;
    margin-bottom: 0.8rem;
  }
  footer #footer-sitemap .mainMenu .department .childMenu > li:nth-child(4) {
    border-left: solid 1px rgb(156, 85, 100);
  }
  footer #footer-sitemap .mainMenu .department .childMenu > li > a {
    text-align: left;
    text-indent: 0;
  }
  footer #footer-sitemap .mainMenu .department .childMenu .major {
    padding-left: 20px;
    margin-bottom: 0.5rem;
  }
  footer #footer-sitemap .mainMenu .department .childMenu .major a {
    display: block;
    padding: 0.4em 0;
    font-size: 0.75rem;
    border-top: none;
  }
  footer #footer-sitemap .mainMenu .department .childMenu .major a:hover {
    background-color: transparent;
  }
  footer #footer-sitemap .mainMenu .columns,
  footer #footer-sitemap .mainMenu .virtualTour,
  footer #footer-sitemap .mainMenu .careers {
    margin-top: 1.2rem;
  }
  footer #footer-sitemap .mainMenu .pickout-banner {
    margin-right: 0;
    margin-left: auto;
  }
  footer #footer-sitemap .mainMenu .pickout-banner .banner {
    margin-top: 0;
    margin-bottom: 0;
  }
  footer #footer-sitemap .careerMenu {
    display: flex;
    margin-top: -3.2em;
  }
  footer #footer-sitemap .careerMenu > li {
    margin-right: 1.6rem;
  }
  footer #footer-sitemap .sitePolicies {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 4rem;
    padding-top: 0.6rem;
    border-top: solid 1px rgb(156, 85, 100);
  }
  footer #footer-sitemap .sitePolicies a {
    display: block;
    padding: 0.5em 1.6em;
    font-size: 0.625rem;
  }
  footer #footer-sitemap .copyright {
    display: block;
    margin-top: 1.6rem;
    color: rgb(249, 248, 248);
    font-size: 0.625rem;
    line-height: 1em;
    text-align: center;
  }
  footer .symbol {
    width: 100%;
    padding: 1.2rem 0 calc(1.2rem + env(safe-area-inset-bottom));
    text-align: center;
    background: rgb(249, 248, 248);
  }
  .box {
    max-width: calc(1000px + 2rem);
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .banner.withSummary, .banner.inBox {
    flex-wrap: wrap;
  }
  .banner.withSummary .pictureFrame {
    height: 120px;
  }
  .banner.withSummary .summary {
    height: auto;
  }
  .banner.withSummary::before {
    height: 120px;
  }
  .banner.withSummary::after {
    top: 120px;
  }
  .pageLink {
    flex-wrap: nowrap;
  }
  .pageLink.col1 > * {
    width: 100%;
  }
  .pageLink.col2 > * {
    width: 50%;
  }
  .pageLink.col3 > * {
    width: 33.3%;
  }
  .pageLink.col4 > * {
    width: 25%;
  }
  .indexMenu .box {
    padding-right: calc(1rem - 8px);
    padding-left: calc(1rem - 8px);
  }
  .deptMenu {
    flex-wrap: nowrap;
  }
  .deptMenu li {
    width: 100%;
    margin-right: 8px;
    margin-left: 8px;
  }
}
/* 重要なお知らせ
----------------------------------*/
#importantAnnouncement .wrap {
  margin-top: 2.4rem;
  margin-bottom: 0;
  padding: 3px;
  background-image: repeating-linear-gradient(-30deg, transparent, transparent 3px, rgba(178, 16, 37, 0.5) 3px, rgba(178, 16, 37, 0.5) 6px), linear-gradient(90deg, #b21025, #f40038);
  background-size: auto auto;
}
#importantAnnouncement .wrap > p {
  padding: 1.2rem;
  text-align: center;
  font-size: 1rem;
  background-color: rgb(255, 255, 255);
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.25);
}