@charset "utf-8";

/*
theme Name: plustar
Description: original theme type01
version： 1.0.0
*/

/* TOC
---------------------------------------------
  Chapter01 : 基本設定
  Chapter02 : レイアウト
  Chapter03 : 見出し
  Chapter04 : ブロック基本設定
  Chapter05 : ヘッダー
    Chapter05_01 : Navigation
    Chapter05_02 :  Head画像
    Chapter05_03 :
  Chapter06 : フッター（footer）
  Chapter07 : パンくずリスト
  Chapter08 : ページネーション
  Chapter09 : スクロールダウン
  Chapter10 : TOPページボタン
  Chapter11 : ハンバーガーメニュー
  Chapter12 : 総合トップページ
    Chapter12_01 : FirstView
    Chapter12_02 : Aboutus
    Chapter12_03 : 学生のみなさまへ
    Chapter12_04 : 協力企業のみなさま
    Chapter12_05 : 
    Chapter12_06 :  「障害」「障害者」の表記について
  Chapter13 : 教職員トップページ
    Chapter13_01 : 概要
    Chapter13_02 : 事業紹介
    Chapter13_03 : 学生支援コンテンツ事業
    Chapter13_04 : 開催事例のご紹介
    Chapter13_05 : 
  Chapter14 : ニュース一覧
  Chapter15 : 固定ページ
    Chapter15_01 : PLUSTARとは
    Chapter15_02 : 学生のみなさまへ
    Chapter15_03 : 協力企業
    Chapter15_04 : 
    Chapter15_05 : 
  Chapter16 : 
  Chapter17 : 
  Chapter18 : 
  Chapter19 : 
  Chapter20 : 
---------------------------------------------
*/

/*---------------------------------------------------
 Chapter01 : 基本設定
---------------------------------------------------*

/*サイト全体の基準となるCSSを記述*/
html {
  font-size: 10px;
}

* {
  font-family:
    "Noto Sans JP", "Helvetica", "Arial", "游ゴシック", "游ゴシック体",
    "ヒラギノ明朝 Pro W3", "Yu Gothic UI", "Osaka", sans-serif;
}

body {
  line-height: 1.4;
  margin: 0;
  padding: 0;
  color: #333;
  counter-reset: number 0;
}

/*テキスト*/
p {
  margin: 0 auto;
  line-height: 2;
  font-size: 1.8rem;
}

/*リンク*/
a {
  color: #2167c2;
  text-decoration: unset;
  transition: opacity 0.3s ease;
}

a:hover {
  opacity: 0.6;
}

a:active,
a:hover {
  outline: 0;
}

a:link,
a:visited:link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

/*画像*/
img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border: 0;
}

/*引用*/
blockquote {
  display: block;
  color: #555;
  border: 1px solid #ddd;
  background: #eee;
  background: rgba(53, 53, 53, 0.05);
  margin: 40px 0;
  padding: 2.5em 2.5em 1em;
  border-radius: 3px;
  position: relative;
}

.blockquotelink {
  text-align: right;
  margin: 0px;
  font-size: 1.5rem;
}

blockquote:before {
  content: "\f10d";
  left: 0.4em;
  top: 0.4em;
}

blockquote:after {
  content: "\f10e";
  right: 0.4em;
  bottom: 0.4em;
}

blockquote:before,
blockquote:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  width: 1em;
  height: 1em;
  display: block;
  text-align: center;
  font-size: 2rem;
  line-height: 1;
  color: #999;
  opacity: 20;
  filter: alpha(opacity=20);
  -ms-filter: "alpha(opacity=20)";
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

ul li {
  display: list-item;
  text-align: -webkit-match-parent;
  font-size: 1.8rem;
  line-height: 1.8;
  list-style-type: none;
}

ol li {
  display: list-item;
  text-align: -webkit-match-parent;
  font-size: 1.8rem;
  line-height: 1.8;
  list-style-type: inherit;
}

dl {
  margin: 0;
}

dd {
  margin-left: 0;
}

/*clearfix*/
.cf {
  zoom: 1;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

/*フォーム要素の初期化*/
input,
button,
textarea {
  border-radius: 0;
  border: #e6e6e6 1px solid;
  -webkit-appearance: none;
}

select {
  display: block;
  position: relative;
  width: 100%;
  font-size: 1.4rem;
  font-size: 0.9rem;
  border: 1px solid #ccc;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
  padding: 0 10px;
  background: url(assets/img/parts/select_arrow.png);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: 97.5% center;
  outline: 0;
}

input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea,
.field {
  display: block;
  width: 95%;
  margin-bottom: 0.7em;
  padding: 15px;
  border: 0;
  border-radius: 3px;
  background-color: #f5f5f5;
  box-shadow: none;
  color: rgba(0, 0, 0, 0.7);
  font-size: 1em;
  line-height: 1.5;
  transition: ease;
}

select {
  background: url(assets/img/parts/select_arrow.png);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: 97.5% center;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="submit"] {
  vertical-align: middle;
  text-align: center;
  border: none;
}

/* お問い合わせ注釈 */
::placeholder {
  color: #b4b4b4;
  font-size: 1.5rem;
}

/* 強調文字 */
.boldfont {
  font-size: 1.1em;
  font-weight: bold;
}

/* WordPress記事リンク */
iframe.wp-embedded-content {
  width: 100%;
}

/*アンカーリンク設定*/
html {
  scroll-behavior: smooth;
}

section {
  scroll-margin-top: 100px;
}

/* カラー
-----------------------------------------*/
.MainBlue {
  background-color: #2167c2;
}

.WhiteBlue {
  background-color: #2470d9;
}

.GreyBack {
  background-color: #f2f3f4;
}

.WhiteGreyBack {
  background-color: #f3f4f5;
}

.BlueBlackBack {
  background-color: #3e4143;
}

/* ユーティリティクラス：文字色 */
.TextColorBlue {
  color: #2167c2;
}

@media screen and (max-width: 1440px) {
  br.LineBreakPc {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  br.LineBreakTab {
    display: none;
  }
}

@media screen and (max-width: 500px) {
  br.LineBreakSp {
    display: none;
  }
}

/* LineBreakの逆：各ブレイクポイントでdisplay:blockにする */
br.LineBreakShowPc,
br.LineBreakShowTab,
br.LineBreakShowSp {
  display: none;
}

@media screen and (max-width: 1440px) {
  br.LineBreakShowPc {
    display: block;
  }
}

@media screen and (max-width: 800px) {
  br.LineBreakShowTab {
    display: block;
  }
}

@media screen and (max-width: 500px) {
  br.LineBreakShowSp {
    display: block;
  }
}

/*---------------------------------------------------
 Chapter02 : レイアウト
---------------------------------------------------*/
.wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

.wrapper_single {
  max-width: 1000px;
  margin: 100px auto;
}

.container {
  width: 980px;
  margin: 0 auto;
}

.PageColumn {
  padding: 100px 0;
}

.main_content {
  background: #efefef;
}

.post-nocardBox {
  margin: 50px;
}

@media screen and (max-width: 1440px) {
  .wrapper {
    width: 90%;
    max-width: 100%;
    margin: 0 auto;
  }
}

/*---------------------------------------------------
 Chapter03 :　見出し
---------------------------------------------------*/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  font-family:
    "Noto Sans JP",
    "Helvetica",
    "游ゴシック",
    "游ゴシック体" sans-serif;
  font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

h1,
.h1 {
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.333em;
}

h2,
.h2 {
  font-size: 1.5em;
  line-height: 1.4em;
  font-weight: bold;
  margin-bottom: 0.375em;
}

h3,
.h3 {
  font-size: 1.3em;
  font-weight: bold;
}

h4,
.h4 {
  font-size: 1.2em;
  font-weight: 700;
}

h5,
.h5 {
  font-size: 1em;
  font-weight: 700;
  line-height: 2em;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h1.wp-block-heading {
  display: flex;
  align-items: center;
  position: relative;
  margin: 80px 0 20px 0;
  padding: 0 0 20px 20px;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  color: #494949;
  border-bottom: solid 1px #ccc;
  background: transparent;
}

h1.wp-block-heading:before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 32px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #2167c2;
}

h2.wp-block-heading {
  display: flex;
  align-items: center;
  position: relative;
  margin: 40px 0 10px 0;
  padding: 0 0 10px 20px;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  color: #494949;
}

h2.wp-block-heading:before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #2167c2;
}

h3.wp-block-heading {
  margin: 50px 0 20px 0;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  color: #494949;
}

/* キャッチコピータイトル */
.HeadTextColumn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 0 0 50px 110px;
}

.CatchTitle,
.CatchTitle_Wh,
.AboutusAreaTextBox .CatchTitle,
.AboutusAreaTextBox .CatchTitleBlue {
  margin: 0;
  font-size: 1.8rem;
  color: #333;
  text-align: left;
  font-weight: 600;
  display: flex;
  align-items: center;
}

.CatchTitle::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 5px;
  background: url(../plustar/assets/img/parts/star_blue.png) no-repeat center / contain;
}

.CatchTitle.TopCatch::before {
  width: 30px;
  height: 30px;
}

.CatchTitle_Wh::before {
  background: url(../plustar/assets/img/parts/star.png) no-repeat center / contain;
}

#headimg .pagecaption {
  font-size: 3.6rem;
  font-weight: bold;
  margin: 0;
}

/* ページ見出し */
.PageTitle {
  position: relative;
  margin: 0 0 20px;
  padding-left: 25px;
  font-size: 4rem;
  color: #333;
  line-height: 1.2;
  font-weight: bold;
}

.PageTitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 8px;
  height: 45px;
  background: #2167c2;
}

/* プライバシーポリシー見出し */
.PrivacyTitle {
  margin: 30px 0 10px;
  font-size: 2rem;
  color: #333;
  line-height: 1.8;
  font-weight: 600;
}

@media screen and (max-width: 1440px) {
  #headimg .pagecaption {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 799px) {
  .PageTitle {
    font-size: 3rem;
  }

  .CatchTitle,
  .CatchTitle_Wh,
  .AboutusAreaTextBox .CatchTitle,
  .AboutusAreaTextBox .CatchTitleBlue {
    font-size: 1.2rem;
  }

  .CatchTitle::before {
    width: 20px;
    height: 20px;
  }

  .PrivacyTitle {
    font-size: 1.8rem;
  }
}

/*---------------------------------------------------
 Chapter04 :　ブロック基本設定
---------------------------------------------------*/

/* 記事タイトル
-----------------------------------------*/
.PostTitle {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 3.8rem;
  font-weight: 600;
  line-height: 1.5;
}

/* サムネイル
-----------------------------------------*/
.PageThumbnail {
  margin: 30px 0;
}

/* 公開日&カテゴリー
-----------------------------------------*/
.post-categoryTop {
  display: flex;
  margin: 0 0 10px;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}

/* 公開日 */
.ArticleContent .byline {
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 1.8rem;
  color: #2167c2;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}

/* カテゴリー */
.ArticleContent .PostCategory {
  padding: 3px 20px;
  border-radius: 9999px;
  font-size: 1.5rem;
  color: #2167c2;
  font-weight: 500;
  background-color: #e5eaf6;
}

/* リスト
-----------------------------------------*/
ul.wp-block-list,
ol.wp-block-list {
  display: block;
  margin: 20px 0;
  list-style-type: disc;
  margin-block-start: 1em;
  margin-block-end: 1em;
  padding-inline-start: 20px;
  unicode-bidi: isolate;
}

ul.wp-block-list li,
ol.wp-block-list li {
  display: list-item;
  text-align: -webkit-match-parent;
  font-size: 1.6rem;
  line-height: 1.8;
}

ul.wp-block-list li a,
ol.wp-block-list li a {
  text-decoration: underline;
}

ul.wp-block-list li::marker,
ol.wp-block-list li::marker {
  color: #2167c2;
}

ul.wp-block-list li {
  list-style-type: disc;
}

ol.wp-block-list li {
  list-style-type: decimal;
}

ol.wp-block-list ul li {
  list-style-type: disc;
}

/* テーブル
-----------------------------------------*/
.wp-block-table {
  margin: 40px 0;
  overflow-x: auto;
}

.wp-block-table td,
.wp-block-table th {
  border: 2px solid #ccc;
  padding: 0.5em;
}

.wp-block-table thead {
  border-bottom: 2px solid #ccc;
}

.wp-block-table thead th {
  color: #fff;
  border-bottom: 2px solid #ccc;
  background-color: #2167c2;
}

.wp-block-table tfoot {
  border-top: 2px solid #ccc;
}

.wp-block-table tfoot td {
  color: #333;
  font-weight: 600;
  border-top: 2px solid #ccc;
  background-color: #ececec;
}

/* カラム
-----------------------------------------*/
.wp-block-columns {
  margin: 40px 0;
}

/* ボタン
-----------------------------------------*/
.wp-block-buttons>.wp-block-button {
  display: inline-block;
  margin: 40px 0;
  text-align: center;
}

.wp-block-buttons>.wp-block-button a {
  display: flex;
  max-width: 550px;
  width: 100%;
  position: relative;
  margin: 0 20px 0 0;
  padding: 15px 15px;
  font-size: 1.6rem;
  text-align: center;
  color: #333;
  font-weight: bold;
  text-decoration: none;
  border-radius: 9999px;
  border: 1px solid #333;
  background-color: unset;
}

.wp-block-buttons>.wp-block-button a::after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background-image: url(../plustar/assets/img/parts/arrow_blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 0 0 auto;
}

/* ボタンTypeA（右矢印）
-----------------------------------------*/
.BtnTypeA {
  position: relative;
  display: flex;
  justify-content: flex-start;
  max-width: 500px;
  width: fit-content;
  padding: 10px 70px 10px 20px;
  margin: 0 auto;
  font-size: clamp(10px, 1.5vw, 15px);
  color: #333;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1rem;
  border: none;
  border-radius: 9999px;
  background-color: #fff;
  height: 64px;
  align-items: center;
}

.BtnTypeA.TypeABorder {
  border: #d5d5d5 solid 2px;
}

/* 矢印アイコン */
.BtnIcon {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 12px;
  transform: translateY(-50%);
  padding: 16px;
  border: none;
  border-radius: 25px;
  background-color: #2167c2;
}

.BtnIcon::before,
.BtnIcon::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.BtnIcon::before {
  left: 8px;
  width: 13px;
  height: 2px;
  background: #fff;
}

.BtnIcon::after {
  left: 10px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ボタンTypeB（左矢印）
-----------------------------------------*/
.BtnTypeB {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 250px;
  margin: 0 auto;
  padding: 10px 40px;
  font-size: 1.5rem;
  color: #333;
  font-weight: 600;
  text-align: center;
  border: none;
  border-radius: 9999px;
  background-color: #fff;
}

.BtnTypeB:hover {
  background-color: #1579c0;
}

.BtnTypeB.TypeABorder {
  width: 100%;
  border: #d5d5d5 solid 2px;
}

/* ボタンTypeC
-----------------------------------------*/
.BtnTypeC {
  width: 100%;
  margin: 0 auto;
  padding: 15px 40px;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 600;
  text-align: center;
  border: none;
  border-radius: 9999px;
}

@media screen and (max-width: 1199px) {
  .NewsPostFrontArea .NewsPostCardAreaLines {
    width: 90%;
  }
}

@media screen and (max-width: 799px) {
  .wrapper_single {
    width: 85%;
    margin: 50px auto;
  }

  /* 見出し */
  .PostTitle {
    font-size: 2rem;
  }

  h1.wp-block-heading {
    font-size: 2.5rem;
    line-height: 1.5;
  }

  h2.wp-block-heading {
    font-size: 2rem;
  }

  h3.wp-block-heading {
    font-size: 2rem;
  }

  p {
    line-height: 1.8;
    font-size: 1.5rem;
  }

  ul li {
    line-height: 1.8;
    font-size: 1.5rem;
  }

  ol li {
    line-height: 1.8;
    font-size: 1.5rem;
  }

  .wp-block-table td,
  .wp-block-table th {
    font-size: 1.5rem;
  }

  .NewsPostCardAreaLines {
    width: 100%;
  }

  /* ボタン */
  .wp-block-buttons>.wp-block-button {
    width: 100%;
  }

  .wp-block-buttons>.wp-block-button a {
    margin: 0;
  }

  .BtnTypeA {
    padding: 15px 50px 15px 15px;
    font-size: 1.2rem;
    height: 48px;
  }

  .BtnIcon {
    right: 10px;
    width: 10px;
    padding: 14px;
  }

  .BtnTypeC {
    padding: 15px 15px;
  }

  .BtnTypeD {
    padding: 15px;
  }

  .CategoryBtnColumn {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 50px auto;
    padding: 0;
  }

  .CategoryBtn {
    width: 45%;
  }
}

/*---------------------------------------------------
 Chapter05 : ヘッダー
---------------------------------------------------*/

header {
  width: 100%;
  position: relative;
  z-index: 3;
}

#header {
  display: flex;
  align-items: center;
  max-width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  background: #fff;
  height: 100px;
}

/* フロントページ・教職員ページ：初期状態は背景なし（透明） */
body.is-front-page #header,
body.is-faculty-page #header {
  background: transparent;
  transition: background-color 0.3s ease;
}

/* フロントページ・教職員ページ：スクロール時に背景を表示 */
body.is-front-page #header.fixed,
body.is-faculty-page #header.fixed {
  background: #fff;
}

#headimg {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background: #f2f3f4 url(../plustar/assets/img/page/page_star.png) right center no-repeat;
  background-size: auto;
}

/*----- JSを使いfixedクラスが付与された際の設定 -----*/
#header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  background: #fff;
}

/* ロゴエリア */
.site-title-wrap {
  display: flex;
  padding: 0 0 0 30px;
  text-align: left;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}

.site-title-wrap .FacultyBtn {
  padding: 3px 15px;
  border-radius: 99px;
  font-size: 1.4rem;
  line-height: 1.5;
  background: #316FA2;
}

.site-title-wrap .FacultyBtn a {
  display: flex;
  align-items: center;
  margin: 0;
  color: #fff;
}

.site-title-wrap img {
  height: 80px;
}

/* ナビゲーション＋日本財団ロゴのラッパー */
#header-nav-wrap {
  display: flex;
  align-items: center;
}

/* 日本財団ロゴ（navの右側に配置） */
.NipponFoundationLogo {
  display: flex;
  align-items: center;
  padding: 0 30px 0 15px;
  flex-shrink: 0;
}

.NipponFoundationLogo img {
  height: 80px;
}

.ArrowTypeA {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.ArrowTypeA:before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

/*   Chapter05_01 : Navigation
-----------------------------------------*/

.navbutton {
  display: none;
}

/*==ナビゲーション全体の設定*/
nav {
  color: #fff;
  text-align: center;
}

/*ナビゲーションを横並びに*/
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  padding: 0 10px 0 0;
}

/*2階層目以降は横並びにしない*/
nav ul ul {
  display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li {
  position: relative;
}

/*ナビゲーションのリンク設定*/
nav ul li a {
  display: block;
  text-decoration: none;
  color: #333;
  font-weight: 600;
  padding: 20px 10px;
  transition: all 0.3s;
}

nav ul li li a {
  padding: 10px 20px;
}

nav ul li a:hover {
  color: #999;
}

/* 教員向けヘッダーの色変更 */
.faculty-nav ul li a {
  color: #316FA2;
}

.faculty-nav ul li a:hover {
  color: #7492AB;
}

/*ヘッダーナビゲーションのリンクにletter-spacingを適用*/
.header-nav ul li a {
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1199px) {
  nav ul {
    padding: 0 20px 0 0;
  }

  #header {
    max-width: 100%;
    height: 70px;
  }

  div#header-nav-wrap {
    display: flex;
    align-items: center;
    margin-left: auto;
    padding: 0;
  }

  div#header-nav-wrap>nav {
    display: none;
  }

  .site-title-wrap img {
    height: 60px;
  }

  .NipponFoundationLogo {
    padding: 0 10px 0 0;
  }

  .NipponFoundationLogo img {
    height: 60px;
  }
}

@media screen and (max-width: 799px) {
  #header {
    width: 100%;
    height: 70px;
  }

  #header.fixed {
    height: 90px;
  }

  div#header-nav-wrap {
    display: flex;
    align-items: center;
    margin-left: auto;
    padding: 0;
  }

  div#header-nav-wrap>nav {
    display: none;
  }

  .site-title-wrap {
    display: flex;
    padding: 20px;
    text-align: left;
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .NipponFoundationLogo {
    padding: 0 5px 0 0;
  }

  .NipponFoundationLogo img {
    height: 50px;
  }

  .wrapper {
    width: 90%;
    max-width: 100%;
    margin: 0 auto;
  }

  h2.postcard_title {
    font-size: 1.4rem;
  }
}

/*---------------------------------------------------
  Chapter05_02 : ハンバーガーメニュー
---------------------------------------------------*/
#hamburgerBox {
  display: none;
}

@media screen and (max-width: 1199px) {
  #hamburgerBox {
    display: block;
    position: relative;
    margin-right: 10px;
  }

  #g-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    right: -120%;
    width: 100%;
    height: 100dvh;
    background: #f2f3f4;
    transition: all 0.6s;
  }

  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    right: 0;
  }

  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100dvh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  /*ナビゲーション*/
  #g-nav nav ul,
  #g-nav ul,
  #g-nav-list ul,
  #g-nav-list .header-nav {
    position: absolute;
    width: 100%;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 0 30px;
    list-style: none;
  }

  /*リストのレイアウト設定*/
  #g-nav li,
  #g-nav-list li {
    padding: 10px 0;
    list-style: none;
    text-align: left;
    border-bottom: #9c9c9c 1px solid;
  }

  #g-nav li a {
    display: flex;
    align-items: center;
    position: relative;
    padding: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #333;
    text-decoration: none;
    font-weight: bold;
  }

  /* ▼ 矢印アイコン */
  #g-nav li a::after,
  #g-nav-list li a::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../plustar/assets/img/parts/arrow_blue.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: auto;
  }

  /* ホバーで薄く */
  #g-nav li a:hover,
  #g-nav-list li a:hover {
    opacity: 0.6;
  }

  /*---閉じるボタン --*/
  .openbtn1 {
    cursor: pointer;
    width: 50px;
    height: 50px;
  }

  /*×に変化*/
  .openbtn1 span {
    position: relative;
    z-index: 10000;
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #666;
    width: 45%;
  }

  .openbtn1 span:nth-of-type(1) {
    top: 15px;
  }

  .openbtn1 span:nth-of-type(2) {
    top: 23px;
  }

  .openbtn1 span:nth-of-type(3) {
    top: 31px;
  }

  .openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }

  .openbtn1.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn1.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
}

/* 〜959px END */

/*---------------------------------------------------
  Chapter05_03 : head画像
---------------------------------------------------*/
#headimg {
  position: relative;
  width: 100%;
  background: #f2f3f4 url(../plustar/assets/img/page/page_star.png) right center no-repeat;
  background-size: auto;
  min-height: 256px;
}

#headimg .headimgBox {
  width: 100%;
}

#headimg .headimgBox img {
  display: block;
  width: 100%;
  height: auto;
}

/* カテゴリーページでは背景画像を無効化（headimgBoxの画像を使用） */
#headimg:has(.headimgBox) {
  background-image: none;
}

#headimg .pagecaptionBox {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  padding: 0 150px;
  color: #333;
  text-decoration: none;
  text-align: center;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#headimg .pagecaption {
  font-size: 3.6rem;
  font-weight: bold;
  white-space: nowrap;
}

@media screen and (max-width: 1199px) {
  .ScrollDown {
    display: none;
  }
}

@media screen and (max-width: 799px) {
  #headimg {
    padding: 0 0 30px 0;
    min-height: 192px;
  }

  #headimg {
    background-size: 250px auto;
    background-position: right -60px center;
  }

  .HeadTextColumn {
    width: 100%;
    padding: 0 0 0 30px;
  }

  #headimg .pagecaption {
    font-size: 3rem;
  }
}

/*---------------------------------------------------------
 Chapter06 : フッター（footer）
---------------------------------------------------------*/
footer {
  margin: 0 auto;
  padding: 50px 0 30px;
  color: #fff;
  text-align: center;
  background-color: #3e4143;
}

footer ul li a {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

.FooterInner {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}

.FooterColumn {
  position: relative;
  display: flex;
  align-items: center;
}

.FooterColumn::after {
  content: "";
  width: 1200px;
  height: 0.5px;
  display: inline-block;
  position: absolute;
  bottom: -50px;
  background-color: #fff;
}

.FooterMenuArea {
  margin: 0 0 0 auto;
}

.FooterMenuArea nav#footer-nav {
  width: 55%;
  margin: 0 0 0 auto;
}

.FooterMenuArea nav#faculty-footer-menu {
  width: 100%;
  margin: 0 0 0 auto;
}

/*----- footer Navigation -----*/
.footer-nav-wrap {
  margin: 10px 0;
  padding: 0;
  font-size: 1.2rem;
  line-height: 1.2;
  font-weight: 600;
}

#footer-nav ul,
#faculty-footer-menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  text-align: center;
  padding: 0;
  margin: 0;
  list-style: none;
  column-gap: 20px;
  row-gap: 10px;
}

#footer-nav li,
#faculty-footer-menu li {
  width: 170px;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
}

#footer-nav li:nth-child(3),
#footer-nav li:last-child {
  width: auto;
  padding: 0;
}

#faculty-footer-menu li {
  width: auto;
  padding: 0;
}

/* WordPressが自動生成するメニュー項目を強制的に非表示 */
.FooterMenuArea .menu-item,
.FooterMenuArea li[class*="menu-item"],
body.page-id-2 .FooterMenuArea .menu-item,
body.page-id-2 .FooterMenuArea li[class*="menu-item"] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* メニューボタン */
.FooterMenuArea .footer-nav a,
.FooterMenuArea .faculty-footer-menu a {
  position: relative;
  display: inline-block;
  padding-left: 22px;
  text-align: left;
}

.FooterMenuArea .footer-nav a:before,
.FooterMenuArea .faculty-footer-menu a:before {
  content: "";
  width: 18px;
  height: 18px;
  position: absolute;
  top: 0;
  left: -5px;
  bottom: 0;
  margin: auto;
  background: #2167c2;
  border-radius: 50%;
}

.FooterMenuArea .footer-nav a:after,
.FooterMenuArea .faculty-footer-menu a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}

/*----- copyright -----*/
.CopyrightArea {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 50px 0 0;
  padding: 20px 0 0;
  background-color: #3e4143;
}

.CopyrightRight {
  display: flex;
  align-items: center;
  gap: 25px;
}

.CopyrightLeft {}

.CopyrightLeft a span img {
  width: 4px;
  height: 8px;
  display: inline-block;
  margin-right: 5px;
}

.CopyrightLeft.FacultyLeft {
  display: flex;
  align-items: center;
  gap: 10px;
}

.CopyrightLeft.FacultyLeft .FacultyLeftBtn {
  display: inline-block;
  padding: 5px 20px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.5;
  text-decoration: none;
  letter-spacing: 0.1rem;
  border-radius: 9999px;
  border: #fff solid 1px;
}

.CopyrightArea p,
.CopyrightText {
  margin: 0;
  padding: 10px 5px;
  font-size: 1.2rem;
  color: #acacac;
  text-align: center;
}

.CopyrightArea a {
  color: #fff;
}

/*----- フッターライン -----*/
.FooterLines {
  margin: 50px 0 20px;
  border: solid 0.5px #fff;
}

/*----- フッターウィジェット -----*/
#footer-widget {
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 60px 0 40px;
}

.footer-widget_box {
  display: flex;
  overflow: hidden;
  width: 100%;
  padding: 0 80px;
}

.footer-title {
  display: block;
  margin: 0 0 20px;
  padding: 0;
  box-shadow: none;
  font-size: 2.2rem;
  line-height: 1.2;
  font-weight: 400;
  text-align: left;
  color: #fff;
}

.footer-contact p {
  margin: 0 auto;
  line-height: 2;
  font-size: 1.8rem;
  text-align: left;
}

@media screen and (max-width: 1199px) {
  .FooterInner {
    width: 80%;
    max-width: 100%;
    margin: 0 auto;
  }

  .FooterColumn::after {
    width: 100%;
  }

  .FooterMenuArea nav#footer-nav {
    width: 100%;
    margin: 0 0 0 auto;
  }

  #footer-nav ul,
  #faculty-footer-menu ul {
    flex-direction: column;
  }
}

@media screen and (max-width: 799px) {
  footer {
    padding: 50px 20px;
  }

  .FooterInner {
    width: 100%;
  }

  .FooterColumn {
    align-items: flex-start;
    justify-content: space-between;
  }

  .FooterColumn::after {
    width: 100%;
  }

  .FooterMenuArea {
    margin: 0;
  }

  .CopyrightRight {
    gap: 30px;
  }

  .FooterMenuArea nav#footer-nav {
    width: 100%;
    margin: 0;
  }

  .CopyrightArea p {
    width: 100%;
    padding: 0;
    text-align: left;
  }

  .CopyrightArea .CopyrightMobile {
    width: auto;
  }

  #footer-nav ul {
    justify-content: center;
    column-gap: 30px;
    row-gap: 15px;
  }

  #footer-nav li,
  #faculty-footer-menu li {
    width: 170px;
  }

  #footer-nav li:nth-child(3),
  #footer-nav li:last-child {
    width: 170px;
  }

  .FooterMenuArea nav#faculty-footer-menu {
    width: 100%;
    margin: 20px auto 0;
  }

  .FacultyCopyrightArea {
    flex-direction: column;
  }

  .CopyrightLeft.FacultyLeft .FacultyLeftBtn {
    width: 35%;
    display: flex;
    justify-content: center;
  }

  .CopyrightLeft.FacultyLeft {
    width: 100%;
    justify-content: space-between;
    margin: 0 0 30px;
  }

  .FacultyPageTop {
    margin: 0 0 0 auto;
  }

  #faculty-footer-menu ul {
    margin: 0;
  }

  #faculty-footer-menu li:nth-child(2),
  #faculty-footer-menu li:nth-child(4) {
    width: auto;
    padding: 0;
  }
}

@media screen and (max-width: 500px) {
  .FooterMenuArea {
    margin: 0 0 0 auto;
  }

  .FooterLogoArea a {
    display: block;
    width: 80%;
  }

  #faculty-footer-menu ul {
    margin: 0 0 0 auto;
  }

  .FooterMenuArea nav#faculty-footer-menu {
    width: 100%;
    margin: 0 auto;
  }

  #footer-nav li,
  #faculty-footer-menu li {
    width: auto;
  }

  .CopyrightLeft.FacultyLeft .FacultyLeftBtn {
    width: 70%;
    display: flex;
    justify-content: center;
    font-size: 1rem;
  }
}

/*---------------------------------------------------
 Chapter07 : パンくずリスト
---------------------------------------------------*/
#bread {
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  /* ← 中身の幅にフィット */
  height: 38px;
  margin: 0;
  padding: 0 50px 0 110px;
  white-space: nowrap;
  border-radius: 0 10px 0 0;
  font-size: 1.2rem;
  line-height: 38px;
  background: #fff;
}

#bread span {
  margin: 0 5px;
}

#bread span a {
  color: #333;
  text-decoration: underline;
}

#bread span a:hover {
  color: #999;
}

@media (max-width: 1199px) {}

@media screen and (max-width: 799px) {
  #bread {
    height: 30px;
    margin: 0;
    padding: 5px 25px;
    white-space: normal;
    line-height: 2;
  }
}

/*---------------------------------------------------
 Chapter08 : ページネーション
---------------------------------------------------*/
.news__pagenation {
  margin: 30px auto 0;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
}

.wp-pagenavi .current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2167c2;
  border-radius: 50%;
  border: none;
}

.wp-pagenavi .page {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #333;
  transition: opacity 0.4s;
  border: none;
}

.wp-pagenavi .nextpostslink {
  display: block;
  width: 40px;
  height: 40px;
  margin-left: 16px;
  background-color: #fff;
  background-image: url("../../plustar/assets/img/common/ico_arrow-4.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
  border: none;
  border-radius: 50%;
  transition: opacity 0.4s;
  transform: rotate(-90deg);
}

@media screen and (max-width: 799px) {
  .wp-pagenavi .current {
    font-size: 1.4rem;
    width: 45px;
    height: 45px;
  }

  .wp-pagenavi .page {
    font-size: 1.4rem;
    width: 45px;
    height: 45px;
  }

  .wp-pagenavi .nextpostslink {
    width: 45px;
    height: 45px;
  }
}

/*---------------------------------------------------
 Chapter09 : スクロールダウン
---------------------------------------------------*/

.ScrollDown {
  position: absolute;
  bottom: 70px;
  right: 50%;
  z-index: 1;
  animation: arrowmove 1s ease-in-out infinite;
}

.ScrollDownText {
  display: block;
  margin-top: 70px;
  margin-left: -8px;
  font-size: 1.6rem;
  color: #000;
  font-weight: 600;
  white-space: nowrap;
  letter-spacing: 0.05em;
}

.ScrollDown .arrow {
  position: absolute;
  width: 25px;
  height: 2px;
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
  animation: move 2s ease-out infinite;
}

/* 1本目 */
.ScrollDown .arrow:nth-child(2) {
  animation-delay: 0s;
}

/* 2本目 */
.ScrollDown .arrow:nth-child(3) {
  animation-delay: 0.4s;
}

/* 3本目 */
.ScrollDown .arrow:nth-child(4) {
  animation-delay: 0.8s;
}

.ScrollDown .arrow:before,
.ScrollDown .arrow:after {
  content: " ";
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: #2167c2;
}

.ScrollDown .arrow:before {
  left: 0;
  transform: skew(0deg, 30deg);
}

.ScrollDown .arrow:after {
  right: 0;
  width: 50%;
  transform: skew(0deg, -30deg);
}

@keyframes move {
  20% {
    opacity: 1;
  }

  35% {
    opacity: 1;
    transform: translateY(30px);
  }

  55% {
    opacity: 0.4;
    transform: translateY(45px);
  }

  75% {
    opacity: 0.2;
    transform: translateY(55px);
  }

  100% {
    opacity: 0;
    transform: translateY(65px) scale3d(0.5, 0.5, 0.5);
  }
}

/*---------------------------------------------------------
 Chapter10 : TOPページボタン
---------------------------------------------------------*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 56px;
  height: 56px;
  color: #000;
  border-radius: 90px;
  transition: all 0.5s;
  background: #fff;
}

#page-top a span {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 0.2em;
  height: 1.5em;
  color: #333;
  line-height: 1;
  background: currentColor;
}

#page-top a span::before {
  content: "";
  width: 1em;
  height: 1em;
  border: 0.2em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top right;
  position: absolute;
  top: -2px;
  right: 50%;
  box-sizing: border-box;
}

@media screen and (max-width: 799px) {
  #page-top a {
    width: 50px;
    height: 50px;
  }
}

/*---------------------------------------------------------
 Chapter11 : ハンバーガーメニュー
---------------------------------------------------------*/
nav#hamburger-main_nav {
  display: none;
}

.HamburgerButton {
  display: none;
}

@media (max-width: 700px) {
  nav.nv-pc {
    display: none;
  }

  /*---------- ハンバーガーボタン ----------*/
  .HamburgerButton {
    display: block;
    position: absolute;
    right: 8%;
    z-index: 9999;
    color: #999;
    text-align: right;
    border-radius: 10px;
  }

  .fixed .HamburgerButton {}

  /* .HumburgerBuck {
    padding: 20px 0;
  } */

  /* .HamburgerButtonInner {
    margin-bottom: 0px;
    width: 30px;
    display: inline-block;
  } */

  .HamburgerButton span.HamburgerButtonBar {
    display: block;
    width: 100%;
    margin: 0 auto 8px;
    height: 1px;
    background: #666;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }

  .HamburgerButton span.HamburgerButtonBar:last-child {
    margin-bottom: 0;
  }

  /* ハンバーガーOPEN時 */
  .ClickOpen .HumburgerBuck {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgb(0 0 0 / 60%);
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    z-index: 0;
  }

  .ClickOpen .HamburgerButtonInner {
    visibility: visible;
    opacity: 1;
    position: absolute;
    right: 70%;
    padding: 25px;
    margin-bottom: 5px;
    width: 8%;
    height: 4%;
    display: inline-block;
    color: #fff;
    background: #333;
    z-index: 9999;
  }

  .ClickOpen .HamburgerButton span.HamburgerButtonBar {
    background: #fff;
  }

  .ClickOpen .HamburgerButtonInner::before,
  .ClickOpen .HamburgerButtonInner::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 2px;
    background-color: #fff;
  }

  .ClickOpen .HamburgerButtonInner::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .ClickOpen .HamburgerButtonInner::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  /* メニューデザイン */
  .HamburgerNaviBox {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    width: 70%;
    z-index: 9999;
    padding-top: 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 600ms ease-out;
    -o-transition: all 600ms ease-out;
    transition: all 600ms ease-out;
    transform: translateZ(0) translateX(100%);
    overflow: auto;
  }

  .ClickOpen .HamburgerNaviBox {
    transform: translateZ(0) translateX(0);
  }

  .HamburgerNaviBox {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    width: 70%;
    z-index: 9999;
    padding-top: 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 600ms ease-out;
    -o-transition: all 600ms ease-out;
    transition: all 600ms ease-out;
    transform: translateZ(0) translateX(100%);
    overflow: auto;
  }

  .HamburgerNaviBox #sidebar {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .HamburgerNaviBox .sidebar-inner>div {
    padding: 5%;
  }

  .HamburgerNaviBox .widgettitle {
    padding: 10px;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: left;
    color: #fff;
    border-radius: 10px;
    background: #1e227b;
  }

  .HamburgerNaviBox .SidebarCategoryItem {
    margin: 10px 0;
    padding: 0 0 8px 0;
    font-size: 1.4rem;
    font-weight: bold;
    border-bottom: #cccccc dashed 1px;
  }

  .HamburgerNaviBox .SidebarCategoryItem>a {
    display: flex;
    align-items: center;
    color: #333333;
    flex-direction: row;
  }

  .HamburgerNaviBox .SidebarCategoryItem:last-child {
    margin: 10px 0 0 0;
    border-bottom: none;
  }
}

/* 〜600px END */

/*---------------------------------------------------------
 Chapter12 : 総合トップページ
---------------------------------------------------------*/

/*  Chapter12_01 : FirstView
------------------------------------------------- */
#FirstViewArea {
  position: relative;
  background-image:
    url(../plustar/assets/img/page/student_star.png),
    url(../plustar/assets/img/page/Rectangle99.png);
  background-position:
    right -250px bottom -100px,
    center;
  background-size:
    1100px auto,
    cover;
  background-repeat: no-repeat, no-repeat;
}

/* 教職員ページ用の背景画像（page('2')の場合） */
body.page-id-2 #FirstViewArea {
  background-image:
    url(../plustar/assets/img/page/faculty_star.png),
    url(../plustar/assets/img/page/Rectangle99.png);
}

.FirstViewColumn {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

/* FirstViewColumnの疑似要素は削除（FirstViewAreaの背景画像に統合） */
.FirstViewInner {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin: 0 auto;
  padding: 100px 0;
}

.FirstViewInner.FacultyInner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 0 50px 0;
}

.FirstViewColumnTextBox {
  position: relative;
  z-index: 1;
  width: 45%;
  padding: 0 0 0 60px;
}

.FirstViewColumnTextBox.FacultyTextBox {
  display: flex;
  width: 100%;
  flex-direction: column;
  margin: auto 0;
  padding: 60px 0 100px;
}

.FirstViewColumnTextBox .CatchTitle {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 0 0 12px 0;
}

.FirstViewColumnTextBox p {
  margin: 20px 0 0;
  font-size: 2rem;
  color: #333;
  text-align: left;
  letter-spacing: 0.05em;
  width: 90%;
}

/* FirstViewColumnPhotoは疑似要素で実装したため非表示 */
.FirstViewColumnPhoto {
  display: none;
}

.FirstViewColumnTextBox.FacultyTextBox img {
  width: 42%;
}

@media screen and (max-width: 1440px) {}

@media screen and (max-width: 1199px) {
  #FirstViewArea {
    background-position:
      right -300px bottom -100px,
      center;
    background-size:
      850px auto,
      cover;
  }

  .FirstViewColumnTextBox.FacultyTextBox img {
    width: 70%;
  }
}

@media screen and (max-width: 900px) {
  #FirstViewArea {
    background-position:
      right -230px bottom -45px,
      center;
    background-size:
      650px auto,
      cover;
  }
}

/*  Chapter12_02 : Aboutus
------------------------------------------------- */
#AboutusArea {
  position: relative;
  z-index: 0;
  background: #fff;
}

.AboutusAreaColumn {
  position: relative;
  display: flex;
  margin: auto;
  padding: 100px 0;
  overflow: hidden;
}

.AboutusAreaColumn .AboutusContent {
  position: relative;
  display: flex;
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding: 0;
}

.AboutusAreaTextBox {
  z-index: 1;
}

.AboutusAreaTextBox h2 {
  font-size: 4.6rem;
  color: #333;
  text-align: left;
  letter-spacing: 0.05em;
}

.AboutusAreaTextBox p {
  margin: 40px 0 60px;
  font-size: 1.8rem;
  color: #333;
  text-align: left;
}

.AboutusContent .AboutusAreaPhoto {
  position: absolute;
  top: 45px;
  right: 30px;
  z-index: 0;
}

/* 装飾 */
figure.AboutusShapesTypeA {
  position: absolute;
  bottom: 90px;
  left: -180px;
}

figure.AboutusShapesTypeB {
  position: absolute;
  top: 250px;
  right: -150px;
}

figure.AboutusShapesTypeC {
  position: absolute;
  bottom: 70px;
  right: -250px;
}

#FacultyAboutusArea .AboutusShapesTypeC {
  position: absolute;
  bottom: 0;
  right: -250px;
}

@media screen and (min-width: 1800px) {

  /* 1600px以上で装飾要素をAboutusContentのコンテンツエリアの上に配置 */
  /* AboutusContentは1200px幅で中央配置、左右の余白は(100vw - 1200px) / 2 */
  figure.AboutusShapesTypeA {
    left: calc((100vw - 1200px) / 2 - 250px);
  }

  figure.AboutusShapesTypeB {
    right: calc((100vw - 1200px) / 2 - 100px);
  }

  figure.AboutusShapesTypeC {
    right: calc((100vw - 1200px) / 2 - 200px);
  }

  #FacultyAboutusArea .AboutusShapesTypeC {
    right: calc((100vw - 1200px) / 2 - 200px);
  }
}

/* ボタン */
.BtnTypeA.AboutusBtn {
  margin: 0 auto 0 0;
  border: #d5d5d5 solid 2px;
}

@media screen and (max-width: 1440px) {
  .FirstViewInner {
    display: flex;
    width: 90%;
    align-items: center;
  }

  .FirstViewColumnTextBox {
    padding: 30px 0 30px 30px;
  }

  .AboutusContent .AboutusAreaPhoto {
    right: 0;
  }

  .AboutusAreaTextBox {
    width: 60%;
    padding-left: 20px;
    z-index: 1;
  }
}

@media screen and (max-width: 1199px) {
  /*  ファーストビュー*/

  .FirstViewInner {
    width: 90%;
    max-width: 100%;
    padding: 0;
  }

  .FirstViewColumnTextBox {
    width: 60%;
    padding: 30px 0;
  }

  .FirstViewColumnTextBox p {
    font-size: 1.6rem;
  }

  .FirstViewColumnTextBox h2 {
    width: 80%;
  }

  .FirstViewColumn.FacultyColumn h2 {
    width: 100%;
  }

  .AboutusAreaColumn {
    padding: 80px 0;
  }

  #FacultyAboutusArea .AboutusAreaColumn {
    padding: 80px 0;
  }

  .AboutusAreaColumn .AboutusContent {
    width: 90%;
  }

  .AboutusAreaTextBox {
    position: static;
    width: 60%;
    z-index: 1;
  }

  .AboutusAreaTextBox h2 {
    font-size: 3.2rem;
  }

  .TeacherInfoColumn h2 {
    font-size: 3.2rem;
  }

  .NewsPostFrontArea .NewsPostCardTitle h2 {
    font-size: 3.2rem;
  }

  body.page-id-2 .NewsPostCardTitle h2 {
    font-size: 3.2rem;
  }

  #FacultyEventArea .EventExamplesAreaTextBox .Title {
    font-size: 3.2rem;
  }

  .AboutusAreaTextBox p {
    font-size: 1.5rem;
    margin: 30px 0 40px;
  }

  .AboutusContent .AboutusAreaPhoto {
    position: static;
    width: 45%;
  }
}

@media screen and (max-width: 799px) {

  /* ファーストビュー */
  .FirstViewColumn {
    display: flex;
    align-items: center;
    flex-direction: column;
    height: auto;
    gap: 0;
    padding: 0 30px 160px;
  }

  .FirstViewInner {
    display: block;
    width: 100%;
    padding: 0;
  }

  .FirstViewColumnTextBox {
    width: 100%;
    padding: 0 0 120px;
  }

  .FirstViewColumnTextBox .CatchTitle {
    font-size: 1.4rem;
  }

  .FirstViewColumnTextBox p {
    margin: 20px 0 0;
    font-size: 1.6rem;
    color: #333;
    text-align: left;
    width: 66%;
  }

  .FirstViewColumnTextBox img {
    width: 70%;
  }

  #FirstViewArea,
  body.page-id-2 #FirstViewArea {
    background-position:
      right -110px bottom -70px,
      center;
    background-size:
      80% auto,
      cover;
  }

  .AboutusAreaTextBox {
    width: 100%;
  }

  .AboutusAreaTextBox h2 {
    font-size: 2.4rem;
  }

  .AboutusContent .AboutusAreaPhoto {
    margin-left: auto;
    width: 60%;
  }

  .AboutusShapesTypeC {
    width: 40%;
    margin-left: auto;
    right: -200px;
  }
}

@media screen and (max-width: 500px) {

  #FirstViewArea,
  body.page-id-2 #FirstViewArea {
    background-position:
      right -110px bottom -60px,
      center;
  }

  .FirstViewColumnTextBox {
    padding: 30px 0 0;
  }

  .FirstViewColumnTextBox p {
    width: 100%;
    font-size: 1.5rem;
    width: 80%;
  }

  .FirstViewColumnTextBox img {
    width: 90%;
  }

  .FirstViewColumnTextBox.FacultyTextBox {
    display: flex;
    width: 100%;
    flex-direction: column;
    margin: auto 0;
    padding: 30px 0 0;
  }

  .FirstViewColumnTextBox.FacultyTextBox img {
    width: 100%;
  }

  .AboutusAreaColumn {
    padding: 50px 0 80px;
  }

  #FacultyAboutusArea .AboutusAreaColumn {
    padding: 50px 0 80px;
  }

  .AboutusAreaColumn .AboutusContent {
    max-width: 90%;
    flex-direction: column;
  }

  .AboutusAreaTextBox {
    margin: 0 0 50px;
    padding-left: 0;
    width: 90%;
  }

  body.page-id-2 .AboutusAreaTextBox {
    margin: 0;
  }

  .TeacherInfoColumn h2 {
    font-size: 2.4rem;
  }

  .AboutusAreaTextBox p {
    margin: 20px 0 30px;
    font-size: 1.4rem;
  }

  .AboutusContent .AboutusAreaPhoto {
    position: unset;
    top: 45px;
    right: 30px;
    z-index: 0;
    width: 80%;
  }

  figure.AboutusShapesTypeA {
    bottom: 30px;
  }

  figure.AboutusShapesTypeB {
    top: 30px;
    right: -160px;
  }

  figure.AboutusShapesTypeC {
    display: none;
  }
}

/*  Chapter12_03 : 学生のみなさまへ
------------------------------------------------- */
#StudentInfoArea {
  position: relative;
  /* height: 500px; */
  background: url(../plustar/assets/img/page/Group298.png) center / cover no-repeat;
}

.StudentInfoColumn {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: auto;
  padding: 80px 0;
}

.StudentInfoColumn h2 {
  font-size: 4.6rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
}

.StudentInfoColumn p {
  margin: 30px;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
}

.StudentInfoColumn .CatchTitle {
  margin: 0;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
  padding-right: 20px;
}

.StudentInfoColumn .CatchTitle::before {
  width: 25px;
  height: 25px;
  background: url(../plustar/assets/img/parts/star.png) no-repeat center / contain;
}

@media screen and (max-width: 1199px) {
  .StudentInfoColumn h2 {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 799px) {
  .StudentInfoColumn {
    padding: 40px;
  }

  .StudentInfoColumn h2 {
    font-size: 2.4rem;
  }

  .StudentInfoColumn p {
    margin: 20px auto;
    font-size: 1.4rem;
    text-align: left;
    width: 90%;
  }

  .StudentInfoColumn .CatchTitle {
    margin: 0 0 10px;
    justify-content: center;
  }
}

@media screen and (max-width: 500px) {
  .StudentInfoColumn .CatchTitle {
    font-size: 1.6rem;
  }

  .StudentInfoColumn p {
    width: 100%;
  }
}

/*  Chapter12_04 : 教職員のみなさまへ
------------------------------------------------- */
#TeacherInfoArea {
  position: relative;
  padding: 60px 120px;
  background: url(../plustar/assets/img/page/Group299.png) center / cover no-repeat;
}

.TeacherInfoColumn {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 60px;
  border-radius: 5px;
  background-color: #e8f2ff13;
  backdrop-filter: blur(10px);
}

.TeacherInfoColumn h2 {
  font-size: 4.6rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
}

.TeacherInfoColumn p {
  margin: 30px auto;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
}

.TeacherInfoColumn .CatchTitle {
  margin: 0;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
}

.TeacherInfoColumn .CatchTitle::before {
  content: url(../plustar/assets/img/parts/star.png);
  display: inline-flex;
  padding: 0 10px 0 0;
}

@media screen and (max-width: 1199px) {
  #TeacherInfoArea {
    padding: 60px;
  }

  .TeacherInfoColumn {
    max-width: 100%;
    padding: 60px 30px;
  }

  .TeacherInfoColumn h2 {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 799px) {
  .TeacherInfoColumn {
    width: 90%;
    max-width: 100%;
    margin: auto;
    padding: 20px;
  }

  #TeacherInfoArea {
    position: relative;
    padding: 30px 0;
  }

  .TeacherInfoColumn h2 {
    font-size: 2.4rem;
  }

  .TeacherInfoColumn p {
    font-size: 1.4rem;
    width: 100%;
    text-align: left;
    margin: 20px auto 30px;
  }
}

/*  Chapter12_05 : 協力企業のみなさま
------------------------------------------------- */
#CooperatingCompaniesArea {
  background: #fff;
}

.CooperatingCompaniesColumn {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 0;
}

.CooperatingCompaniesTextBox {}

.CooperatingCompaniesColumn h2 {
  margin: 0;
  font-size: 3.4rem;
  text-align: center;
}

.CooperatingCompaniesColumn p {
  margin: 30px;
  font-size: 1.8rem;
  text-align: center;
}

@media screen and (max-width: 1199px) {
  .CooperatingCompaniesColumn {
    max-width: 100%;
  }
}

@media screen and (max-width: 799px) {
  .CooperatingCompaniesColumn {
    width: 90%;
  }

  .CooperatingCompaniesTextBox {
    gap: 50px;
    flex-direction: column;
  }

  .CooperatingCompaniesColumn h2 {
    font-size: 2.5rem;
  }

  .CooperatingCompaniesTextBox p {
    width: 100%;
  }

  .CooperatingCompaniesColumn p {
    font-size: 1.4rem;
    text-align: left;
  }

  .CooperatingCompaniesTextBox div {
    width: 100%;
  }
}

/*  Chapter12_06 : 「障害」「障害者」の表記について
-------------------------------------- */
#NotationColumnArea {
  background: #f0f0f0;
}

.NotationColumn {
  max-width: 1080px;
  margin: 0 auto;
  padding: 30px 50px;
}

.NotationColumn h2 {
  margin: 0;
  font-size: 1.8rem;
  text-align: left;
}

.NotationColumn p {
  width: 100%;
  margin: 10px 0;
  font-size: 1.4rem;
  text-align: left;
}

@media screen and (max-width: 1199px) {
  .NotationColumn {
    max-width: 100%;
  }
}

@media screen and (max-width: 799px) {
  .NotationColumn {
    width: 90%;
    padding: 30px 0;
  }

  .NotationColumn h2 {
    font-size: 1.6rem;
  }

  .NotationColumn p {
    font-size: 1.2rem;
  }
}

/*---------------------------------------------------------
 Chapter13 : 教職員トップページ
---------------------------------------------------------*/

/*  Chapter13_01 : 概要
------------------------------------------------- */
#FacultyAboutusArea {
  position: relative;
  z-index: 0;
  padding: 0 0 100px;
  background: #fff;
}

.SupportPointColumn {
  position: relative;
  margin: 100px auto 0;
  padding: 70px 40px;
  background: #f3f4f5;
}

.SupportPointTitleBox {
  position: absolute;
  width: 100%;
  top: 0px;
  left: 50%;
  right: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.SupportPointTitleBox .SupportPointTitle {
  display: flex;
  justify-content: center;
  position: relative;
  font-size: 3.6rem;
  text-align: center;
  line-height: 1;
}

/* タイトル斜め線（上部） */
.SupportPointTitleBox .SupportPointTitle::before,
.SupportPointTitleBox .SupportPointTitle::after {
  content: "";
  width: 2px;
  height: 10px;
  position: relative;
  top: 28px;
  background-color: #000;
}

.SupportPointTitleBox .SupportPointTitle::before {
  left: -9px;
  transform: rotate(-40deg);
}

.SupportPointTitleBox .SupportPointTitle::after {
  right: -9px;
  transform: rotate(40deg);
}

.SupportPointTitleBox .SupportPointTitle span.SlashText {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

/* タイトル斜め線（下部） */
.SupportPointTitleBox .SupportPointTitle span.SlashText::before,
.SupportPointTitleBox .SupportPointTitle span.SlashText::after {
  content: "";
  position: relative;
  width: 35px;
  height: 2px;
  top: 15px;
  box-sizing: border-box;
  background-color: #000;
}

.SupportPointTitleBox .SupportPointTitle span.SlashText::before {
  left: -10px;
  transform: rotate(50deg);
}

.SupportPointTitleBox .SupportPointTitle span.SlashText::after {
  right: -10px;
  transform: rotate(-50deg);
}

.SupportPointTitleBox p {
  width: 100%;
  text-align: center;
  margin-top: 12px;
}

.SupportPointColumn>.SupportPointText {
  width: 100%;
  max-width: 900px;
  text-align: center;
  margin: 0 auto;
  font-size: 1.8rem;
  line-height: 1.8;
}

.SupportPointTitle .SupportPointNumber {
  padding: 0 5px 20px;
  font-size: 6rem;
  line-height: 1;
  color: #2167c2;
}

.SupportPointBox {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 50px 0 0;
}

.SupportPointBox .SupportPointItem {
  flex: 0 0 calc(33.333% - 2em);
  box-sizing: border-box;
  padding: 20px 40px;
}

.SupportPointItem {
  position: relative;
}

.SupportPointItem+.SupportPointItem::after {
  content: "";
  display: block;
  width: 1px;
  height: 80%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #e0e0e0;
}

.SupportPointBox .ItemA,
.SupportPointBox .ItemB,
.SupportPointBox .ItemC {
  flex-grow: 1;
}

.SupportPointBox .ItemA,
.SupportPointBox .ItemB {
  position: relative;
}

.SupportPointIconBox {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  padding: 30px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: #fff;
}

.SupportPointIconBox span {
  position: absolute;
  top: -20px;
  left: -20px;
  font-size: 4.8rem;
  color: #2167c2;
  font-weight: 600;
  line-height: 2;
}

.SupportPointIconBox img {
  width: 80%;
  margin: 0 auto;
}

.SupportPointItem .SupportPointTextBox {
  margin: 10px 0 0;
}

.SupportPointTextBox h3 {
  font-size: 3.6rem;
  text-align: center;
}

.SupportPointTextBox .SupportPointSubTitle {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
}

.SupportPointTextBox .SupportPointText {
  margin: 10px 0 0;
  font-size: 1.6rem;
  text-align: justify;
}

@media screen and (max-width: 1199px) {
  .SupportPointBox .SupportPointItem {
    padding: 20px;
  }
}

@media screen and (max-width: 799px) {
  .SupportPointBox {
    flex-direction: column;
  }

  .SupportPointItem+.SupportPointItem::after {
    display: none;
  }

  body.page-id-2 .SupportPointColumn>.SupportPointText {
    text-align-last: left;
  }

  .SupportPointColumn {
    width: 90%;
    margin: 20px auto 0;
    padding: 60px 30px;
  }

  .SupportPointTitleBox .SupportPointTitle {
    font-size: 2rem;
    flex-direction: column;
    align-items: center;
  }

  .SupportPointTitleBox {
    position: absolute;
    width: 100%;
    top: -3px;
    padding: 0 30px;
  }

  .SupportPointTitle .SupportPointNumber {
    font-size: 4.5rem;
  }

  body.page-id-2 .SupportPointTitleBox .SupportPointTitle::before {
    left: -195px;
  }

  body.page-id-2 .SupportPointTitleBox .SupportPointTitle::after {
    right: -195px;
    top: -46px;
  }

  .SupportPointTitleBox .SupportPointTitle::before {
    left: -185px;
  }

  .SupportPointTitleBox .SupportPointTitle::after {
    right: -185px;
    top: -45px;
  }

  .SupportPointBox .ItemA::after,
  .SupportPointBox .ItemB::after {
    display: none;
  }

  .SupportPointTextBox .SupportPointText {
    margin: 10px 0 0;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 500px) {
  .SupportPointTitleBox .SupportPointTitle {
    font-size: 1.7rem;
  }

  .SupportPointTitle .SupportPointNumber {
    font-size: 3.8rem;
  }

  .SupportPointTitleBox .SupportPointTitle span.SlashText::before {
    left: 0px;
  }

  .SupportPointTitleBox .SupportPointTitle span.SlashText::after {
    right: 0px;
  }

  body.page-id-2 .SupportPointTitleBox .SupportPointTitle::before {
    left: -163px;
  }

  body.page-id-2 .SupportPointTitleBox .SupportPointTitle::after {
    right: -163px;
    top: -40px;
  }

  .SupportPointTitleBox .SupportPointTitle::before {
    left: -155px;
  }

  .SupportPointTitleBox .SupportPointTitle::after {
    right: -155px;
    top: -39px;
  }

  .SupportPointColumn>.SupportPointText {
    font-size: 1.5rem;
    text-align: left;
  }
}

@media screen and (max-width: 460px) {
  .SupportPointTitleBox .SupportPointTitle {
    font-size: 1.4rem;
  }

  .SupportPointTitle .SupportPointNumber {
    font-size: 3rem;
    padding: 0 3px 14px;
  }

  .SupportPointTitleBox .SupportPointTitle span.SlashText {
    gap: 2px;
    white-space: nowrap;
  }

  .SupportPointTitleBox .SupportPointTitle span.SlashText::before,
  .SupportPointTitleBox .SupportPointTitle span.SlashText::after {
    width: 22px;
    top: 10px;
    flex-shrink: 0;
  }

  .SupportPointTitleBox .SupportPointTitle span.SlashText::before {
    left: 0px;
  }

  .SupportPointTitleBox .SupportPointTitle span.SlashText::after {
    right: 0px;
  }

  body.page-id-2 .SupportPointTitleBox .SupportPointTitle::before {
    left: -124px;
    top: 21px;
  }

  body.page-id-2 .SupportPointTitleBox .SupportPointTitle::after {
    right: -124px;
    top: -33px;
  }

  .SupportPointTitleBox .SupportPointTitle::before {
    left: -117px;
    top: 21px;
  }

  .SupportPointTitleBox .SupportPointTitle::after {
    right: -117px;
    top: -33px;
  }

  .SupportPointTitleBox {
    padding: 0 15px;
  }
}

/*  Chapter13_02 : 事業紹介
------------------------------------------------- */
#FacultyBusinessArea {
  background: #fff;
}

.BusinessAreaColumn {
  padding: 80px;
  border-radius: 50px 50px 0 0;
  background-color: #343d49;
}

.BusinessAreaContent {
  display: flex;
  flex-direction: row;
  gap: 110px;
}

/* タイトルエリア */
.BusinessAreaTextBox {
  width: 30%;
}

.BusinessAreaTextBox h2 {
  font-size: 4.6rem;
  color: #fff;
}

.BusinessAreaTextBox .BusinessAreaText {
  margin: 20px 0 0;
  font-size: 1.6rem;
  text-align: justify;
  color: #fff;
}

/* 事業リスト */
.BusinessList {
  display: flex;
  flex-direction: column;
  width: 75%;
  margin: 0;
  padding: 0;
  gap: 20px;
}

.BusinessItem {
  margin: 0;
  padding: 30px;
  border-radius: 10px;
  background: #fff;
}

.BusinessList .BtnTypeA.BusinessBtn {
  margin: 0 0 0 auto;
}

.BusinessItem .BusinessItemTitle,
.BusinessItem .StudentBusinessTitle {
  margin: 0 0 20px;
  padding: 0 0 15px;
  font-size: 3.2rem;
  border-bottom: solid 1px #ccc;
  position: relative;
}

.BusinessItem .BusinessItemTitle:after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -3px;
  width: 12%;
  border-bottom: solid 3px #2167c2;
}

.BusinessItem .BusinessItemText {
  margin: 0 0 20px;
}

/* ボタン */
.BtnTypeA.BusinessBtn {
  margin: 0 0 0 auto;
  border: #d5d5d5 solid 2px;
}

/*  学生支援コンテンツ事業  */
.BusinessItem .StudentBusinessColumn {
  display: flex;
  gap: 30px;
}

.BusinessItem .StudentBusinessColumn div {
  width: 45%;
}

.BusinessItem .StudentBusinessColumn figure {
  width: 55%;
}

.BusinessItem .StudentBusinessTitle:after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -3px;
  width: 12%;
  border-bottom: solid 3px #d55d04;
}

.BusinessItem .StudentBusinessText {
  margin: 0 0 20px;
}

/* ボタン */
.BtnTypeA.OrangenBtn {
  margin: 0;
  border: #d5d5d5 solid 2px;
}

.BtnIcon.Orangen {
  background-color: #d55d04;
}

/*  Chapter13_04 : 開催事例のご紹介
------------------------------------------------- */
#FacultyEventArea {
  background: #fff;
}

.EventExamplesAreaColumn {
  padding: 60px 0;
}

.EventExamplesListColumn {
  display: flex;
  gap: 2em;
  margin: 30px 0 0;
}

.EventExamplesItem {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 2em;
  padding: 30px;
  background: #f0f1f3;
}

.EventExamplesItem figure {
  flex: 0 0 200px;
  max-width: 200px;
}

.EventExamplesItem figure img {
  width: 100%;
  height: auto;
  display: block;
}

.EventExamplesTextBox {}

.EventExamplesAreaTextBox h2.Title {
  font-size: 4.6rem;
  line-height: 1.8;
  font-weight: 600;
}

.EventExamplesTitle {
  font-size: 2.4rem;
  line-height: 1.8;
  font-weight: 600;
}

.EventExamplesInfo {
  margin: 10px 0;
  border-top: #ccc solid 1px;
  border-bottom: #ccc solid 1px;
}

.EventExamplesText {
  font-size: 1.6rem;
}

@media screen and (max-width: 1199px) {
  .BusinessAreaContent {
    flex-direction: column;
    gap: 40px;
  }

  .BusinessAreaTextBox {
    width: 100%;
  }

  .BusinessList {
    width: 100%;
  }

  .EventExamplesItem {
    width: 100%;
    flex-direction: column;
  }

  .EventExamplesItem figure {
    flex: 0;
    max-width: 100%;
    margin: 0 auto;
  }

  .PageStudentHeldArea .EventExamplesItem img {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 799px) {
  .EventExamplesAreaColumn {
    padding: 60px 0;
  }

  .EventExamplesListColumn {
    flex-direction: column;
  }

  .EventExamplesItem {
    flex-direction: column;
  }

  .EventExamplesItem figure {
    width: 60%;
    margin: 0 auto;
  }

  .EventExamplesTitle {
    font-size: 2rem;
  }

  .EventExamplesInfo {
    padding: 10px 0;
  }

  /* 事業紹介 */
  .BusinessAreaColumn {
    padding: 60px 30px;
  }

  .BusinessItem {
    margin: 30px 0;
  }

  .BusinessList {
    width: 100%;
    gap: 0;
  }

  .BtnTypeA.BusinessBtn {
    width: 100%;
  }

  .BusinessItem .StudentBusinessColumn {
    flex-direction: column-reverse;
  }

  .BusinessItem .BusinessItemTitle,
  .BusinessItem .StudentBusinessTitle {
    font-size: 2.5rem;
  }

  .BusinessItem .StudentBusinessColumn div {
    width: 100%;
  }

  .BusinessItem .StudentBusinessColumn figure {
    width: 100%;
  }
}

/*---------------------------------------------------------
 メニューナビゲーション
---------------------------------------------------------*/
#home_AnkerMenu {
  padding: 30px 0;
}

h2.AnkerMenuTitle {
  margin: 0 0 20px;
  font-size: 2.5rem;
  font-weight: bold;
  color: #333;
  background: #fff0;
}

.AnkerMenuBold {
  font-size: 3rem;
  font-weight: bold;
  color: #c42f14;
}

/*---------- メニュー上部 ----------*/
.AnkerMenuTop {
  display: flex;
  justify-content: space-between;
  margin: 10px 0 40px;
}

.AnkerMenuMainItem {
  width: 27%;
  padding: 20px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 5px 6px 5px rgb(159 159 159 / 26%);
}

figure.AnkerMenuPhoto {
  margin: 0;
  text-align: center;
}

h4.AnkerMenuTitle {
  margin: 10px 0;
  font-size: 1.8rem;
  font-weight: bold;
  color: #555;
}

p.AnkerMenuText {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  color: #555;
}

/*---------- メニュー下部 ----------*/
.AnkerMenuBottom {
  display: flex;
  justify-content: space-between;
}

.AnkerMenuBottomItem {
  width: 15%;
  margin: 0;
  text-align: center;
}

figure.AnkerMenuBottomPhoto {
  margin: 0;
}

.AnkerMenuBottomItem i {
  font-size: 2rem;
  color: #98a6b5;
}

/*---------------------------------------------------------
 Chapter14 : ニュース一覧ページ
---------------------------------------------------------*/

.NewsPostFrontArea {
  position: relative;
  border-radius: 48px 48px 0 0;
  background: #fff;
}

.PostCardItem a {
  position: relative;
  z-index: 1;
}

.PostCardItem a:hover {
  opacity: unset;
}

/* リボン */
.PostCardItemThumbnail .Ribbon {
  display: inline-block;
  position: absolute;
  top: -5px;
  left: 20px;
  z-index: 3;
  margin: 0;
  padding: 10px 0;
  width: 68px;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  font-weight: 500;
  border: 2px solid #d55d04;
  box-sizing: border-box;
  background: #d55d04;
}

.PostCardItem .Ribbon:after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: calc(30px + 2px) solid #d55d04;
  border-right: calc(30px + 2px) solid #d55d04;
  border-bottom: 10px solid transparent;

  /* ★ 枠線を再現（下の線） */
  filter: drop-shadow(-2px 0 0 #d55d04)
    /* 左の枠線 */
    drop-shadow(2px 0 0 #d55d04)
    /* 右の枠線 */
    drop-shadow(0 2px 0 #d55d04);
  /* 下の枠線 */
}

.NewsPostCard {
  padding: 80px 0 0;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 30px;
  align-items: end;
}

.PagePostCard {
  margin: 100px auto;
}

.NewsPostCardTitle {
  grid-column: 1;
  grid-row: 1;
}

.NewsPostCardTitle h2 {
  font-size: 4.6rem;
  color: #333;
  text-align: left;
  letter-spacing: 0.05em;
}

.NewsPostCard .BtnTypeA {
  grid-column: 2;
  grid-row: 1;
}

#PostNewCardArea {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0 0 80px;
}

#PostNewCardArea ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 0;
  margin: 50px auto 73px;
  list-style: none;
  justify-items: start;
}

#PostNewCardArea.PageCardArea {
  margin: 0;
}

.PostCardItem {
  transition: transform 0.3s ease;
}

.PostCardTextColumn {}

.PostCardItemThumbnail {
  position: relative;
  z-index: 1;
  cursor: pointer;
  max-width: 500px;
  overflow: hidden;
  width: 100%;
  height: 250px;
  border-radius: 10px;
}

.PostCardItemThumbnail img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.PostCardItem:hover .PostCardItemThumbnail img {
  transform: scale(1.1);
}

.PostcardTitle {
  font-size: 2rem;
  color: #000;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: opacity 0.3s ease;
}

.PostCardItem a:hover .PostcardTitle {
  opacity: 0.6;
}

.PostCardByline {
  display: flex;
  justify-content: space-between;
  margin: 20px 0 15px;
}

.PostCardByline .PostCategory {
  margin: 0;
  padding: 2px 30px;
  font-size: 1.4rem;
  color: #2167c2;
  font-weight: 600;
  border-radius: 90px;
  background: #e5eaf6;
}

.PostCardByline ul.post-categories {
  margin: 0;
}

.PostCardByline .byline {
  font-size: 1.4rem;
  font-weight: 600;
  color: #2167c2;
}

.NewsPostCardAreaLines {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  border: 1px solid #cccccc;
}

.NewsPostCardAreaLines.SingleLines {
  margin: 40px auto 50px;
}

/* 記事がない場合 */
p.categorytext-nopost {
  margin: 30px auto 20px;
}

/* ボタン一覧
----------------------------- */

.CategoryBtnColumn {
  width: 1080px;
  max-width: 100%;
  display: flex;
  gap: 1em;
  justify-content: center;
  margin: 0 auto 50px;
}

.CategoryBtn {}

.CategoryBtn .BtnTypeB {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 190px;
  margin: 0 auto;
  padding: 5px 40px;
  font-size: 1.5rem;
  color: #333;
  font-weight: 600;
  text-align: center;
  border: none;
  border-radius: 9999px;
  background-color: #f0f1f3;
}

.CategoryBtn .BtnTypeB:hover {
  background-color: #e4e4e4;
}

.CategoryBtn .BtnTypeB.Active {
  color: #fff;
  background-color: #2167c2;
}

@media screen and (max-width: 1440px) {
  .NewsPostFrontArea .NewsPostCardAreaLines {
    width: 90%;
  }

  .CategoryBtnColumn {
    width: 100%;
    padding: 0;
  }

  .CategoryBtn .BtnTypeB {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {

  /* AboutusContentを縦並びに */
  .AboutusAreaColumn .AboutusContent {
    flex-direction: column;
  }

  /* news一覧 */
  .NewsPostCard {
    padding: 15px 0 60px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 0;
  }

  .NewsPostCardTitle {
    grid-column: 1;
    grid-row: 1;
    margin: 20px 0;
  }

  .NewsPostCardTitle h2 {
    font-size: 2.4rem;
    color: #333;
    text-align: left;
  }

  #FacultyEventArea .EventExamplesAreaTextBox .Title {
    font-size: 2.4rem;
  }

  #PostNewCardArea {
    grid-column: 1;
    grid-row: 2;
    gap: 20px;
    margin: 0 0 40px;
  }

  #PostNewCardArea ul {
    margin: 50px auto;
    grid-template-columns: repeat(2, 1fr);
  }

  #PostNewCardArea .FrontPostNewCard {
    margin: 0 auto;
  }

  .PostCardItemThumbnail {
    height: 150px;
  }

  .NewsPostCard .BtnTypeA {
    grid-column: 1;
    grid-row: 3;
  }

  .PostCardByline .PostCategory {
    padding: 2px 15px;
    font-size: 1.2rem;
  }

  .PostcardTitle {
    font-size: 1.5rem;
  }

  /* フラッグ */
  .PostCardItem .Ribbon {
    left: 10px;
    padding: 5px 0;
    width: 50px;
    font-size: 1rem;
  }

  /* 日付 */
  .PostCardByline .byline {
    font-size: 1.2rem;
  }

  .PostCardItem .Ribbon:after {
    border-left: calc(21px + 2px) solid #d55d04;
    border-right: calc(21px + 2px) solid #d55d04;
  }

  .CategoryBtnColumn {
    width: 100%;
    display: flex;
    gap: 1.8em;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 50px auto;
  }

  .CategoryBtn .BtnTypeB {
    width: 100%;
  }
}

/*---------------------------------------------------
 Chapter15 : 固定ページ
---------------------------------------------------*/

/*-------------------------------------
  Chapter15_01 : PLUSTARとは
--------------------------------------*/
.PageAboutPlustarArea.wrapper {
  overflow: visible;
}

.PageAboutPlustarColumn {
  overflow: visible;
  position: relative;
}

.PageAboutPlustarArea .AboutPlustarTitle {
  position: relative;
  margin: 0 0 35px 0;
  font-size: 4.6rem;
  text-align: center;
  color: #333;
  z-index: 1;
}

.PageAboutPlustarArea .AboutPlustarTitle::before {
  position: absolute;
  content: "";
  width: 63px;
  height: 46px;
  top: 0;
  left: 50%;
  transform: translateX(calc(-600px + 120px));
  background-image: url(../plustar/assets/img/page/page_aboutplustar_ph01.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.PageAboutPlustarArea .AboutPlustarTitle .FontLarge {
  font-size: 5rem;
}

.PageAboutPlustarArea .AboutPlustarText {
  position: relative;
  font-size: 1.8rem;
  text-align: center;
  color: #333;
  z-index: 1;
}

.PageAboutPlustarArea .AboutPlustarText.UP {
  margin: 0 0 30px;
}

.PageAboutPlustarArea .AboutPlustarText.UP::after {
  position: absolute;
  content: "";
  width: 154px;
  height: 108px;
  top: 50%;
  right: 50%;
  transform: translate(calc(600px - 120px), -50%);
  background-image: url(../plustar/assets/img/page/page_aboutplustar_ph02.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.PageAboutPlustarArea .AboutPlustarText.DOWN::before {
  position: absolute;
  content: "";
  width: 156px;
  height: 106px;
  top: 0;
  left: 50%;
  transform: translateX(calc(-600px - 30px));
  background-image: url(../plustar/assets/img/page/page_aboutplustar_ph03.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

/*  PLUSTARの取り組み
------------------------ */
.PageBusinessAreaColumn {
  padding: 80px 0;
  border-radius: 50px 50px 0 0;
  background-color: #343d49;
}

.PageBusinessAreaColumn .BusinessAreaContent {
  display: flex;
  flex-direction: row;
  gap: 50px;
  margin: 0 auto;
  width: 90%;
}

/* タイトルエリア */
.PageBusinessAreaColumn .BusinessAreaTextBox {
  width: 23%;
}

.PageBusinessAreaColumn .BusinessAreaTextBox h2 {
  font-size: 4rem;
  color: #fff;
}

.BusinessAreaTextBox p {
  font-size: 1.6rem;
  text-align: justify;
  color: #fff;
}

/* 事業リスト */
.PageBusinessAreaColumn .BusinessList {
  width: 80%;
  padding: 0;
}

.PageBusinessAreaColumn .BusinessItem {
  margin: 0;
  padding: 30px;
  border-radius: 5px;
  background: #fff;
}

.PageBusinessAreaColumn .BusinessItem .BusinessItemTitle,
.PageBusinessAreaColumn .BusinessItem .StudentBusinessTitle {
  margin: 0 0 20px;
  padding: 0 0 15px;
  font-size: 3.2rem;
  border-bottom: solid 1px #ccc;
  position: relative;
}

.PageBusinessAreaColumn .BusinessItem .BusinessItemTitle:after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -3px;
  width: 12%;
  border-bottom: solid 3px #2167c2;
}

.PageBusinessAreaColumn .BusinessItem .BusinessItemText {
  margin: 0 0 20px;
  font-size: 1.6rem;
}

/* ボタン */
.PageBusinessAreaColumn .BtnTypeA.BusinessBtn {
  margin: 0;
  border: #d5d5d5 solid 2px;
}

/* ボタン */
.PageBusinessAreaColumn .BtnTypeA.OrangenBtn {
  margin: 0;
  border: #d5d5d5 solid 2px;
}

.PageBusinessAreaColumn .BtnIcon.Orangen {
  background-color: #d55d04;
}

/* 学生支援コンテンツ */
.PageBusinessAreaColumn .BusinessItem .StudentBusinessColumn {
  display: flex;
  gap: 30px;
}

.PageBusinessAreaColumn .BusinessItem .StudentBusinessColumn div {
  width: 60%;
}

.PageBusinessAreaColumn .BusinessItem .StudentBusinessColumn figure {
  width: 40%;
}

.PageBusinessAreaColumn .BusinessItem .StudentBusinessTitle:after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -3px;
  width: 12%;
  border-bottom: solid 3px #d55d04;
}

.PageBusinessAreaColumn .BusinessItem .StudentBusinessText {
  margin: 0 0 20px;
}

/*  PLUSTARの運営体制
------------------------------ */
.ExternalLinkList {
  margin: 30px 0;
  padding: 0;
}

.ExternalLinkList li {
  display: grid;
  grid-template-columns: 10% 23% 1fr;
  align-items: flex-start;
  gap: 20px;
  margin: 0 0 15px;
  padding: 30px;
  border-radius: 5px;
  background: #fff;
}

.ExternalLinkTitle {
  font-weight: bold;
}

.ExternalLink {}

.ExternalLink a {
  padding: 0;
  color: #333;
  text-decoration: underline;
}

.ExternalLink a:after {
  margin-left: 10px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 900;
}

.ExternalLinkText {
  overflow-wrap: break-word;
  word-break: break-word;
}

.ExternalLinkLogo {
  width: 100%;
}

.ExternalLinkLogo img {
  width: 50%;
}

/* 協力企業のみなさま
----------------------------- */
.PlustarCooperatingCompanies .TextBox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.PlustarCooperatingCompanies .PageTitle {}

.PlustarCooperatingCompanies .Text {
  width: 60%;
}

.PlustarCooperatingCompanies .Btn .BtnTypeA {
  margin: 30px 0 0 auto;
}

@media screen and (max-width: 1199px) {
  .PageAboutPlustarArea .AboutPlustarTitle::before {
    left: -30px;
    top: 0;
    transform: none;
  }

  .PageAboutPlustarArea .AboutPlustarText {
    overflow: hidden;
  }

  .PageAboutPlustarArea .AboutPlustarText.UP::after {
    right: -120px;
    top: 50%;
    transform: translateY(-50%);
  }

  .PageAboutPlustarArea .AboutPlustarText.DOWN::before {
    left: -100px;
    top: 0;
    transform: none;
  }

  .BusinessAreaTextBox .Title {
    font-size: 3.6rem;
  }
}

@media screen and (max-width: 799px) {

  /* 概要 */
  section.PageAboutPlustarArea.wrapper {
    width: 100%;
  }

  .PageAboutPlustarColumn {
    padding: 100px 0 150px;
    overflow: hidden;
  }

  .PageAboutPlustarArea .AboutPlustarTitle {
    font-size: 3.6rem;
  }

  .PageAboutPlustarArea .AboutPlustarTitle .FontLarge {
    font-size: 4rem;
  }

  .PageAboutPlustarArea .AboutPlustarText {
    font-size: 1.6rem;
  }

  .PageAboutPlustarArea .AboutPlustarText.UP,
  .AboutPlustarText.DOWN {
    padding: 0 20px;
    overflow: unset;
  }

  /* 装飾 */
  .PageAboutPlustarArea .AboutPlustarTitle::before {
    left: -30px;
    top: -50px;
    transform: none;
  }

  .PageAboutPlustarArea .AboutPlustarText.DOWN::before {
    top: 120%;
    height: 90px;
  }

  .PageAboutPlustarArea .AboutPlustarText.UP::after {
    top: 280%;
    height: 50px;
  }

  /* PLUSTARの運営体制 */
  .PageBusinessAreaColumn {
    padding: 50px 30px;
  }

  .PageBusinessAreaColumn .BusinessAreaTextBox {
    width: 100%;
  }

  .PageBusinessAreaColumn .BusinessAreaContent {
    width: 100%;
    flex-direction: column;
  }

  .PageBusinessAreaColumn .BusinessAreaTextBox h2 {
    font-size: 3rem;
  }

  .BusinessAreaTextBox .Title {
    font-size: 3.2rem;
  }

  .PageBusinessAreaColumn .BusinessList {
    width: 100%;
  }

  .PageBusinessAreaColumn .BusinessItem .BusinessItemTitle,
  .PageBusinessAreaColumn .BusinessItem .StudentBusinessTitle {
    font-size: 2.5rem;
  }

  .PageBusinessAreaColumn .BusinessItem .StudentBusinessColumn div {
    width: 100%;
  }

  .PageBusinessAreaColumn .BusinessItem .StudentBusinessColumn figure {
    width: 100%;
  }

  .PageBusinessAreaColumn .BtnTypeA.OrangenBtn {
    width: 100%;
  }

  .PageManagementSystemArea .PageColumn {
    padding: 80px 0 50px;
  }

  .ExternalLinkList li {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 20px;
  }

  .ExternalLinkTitle {
    width: 100%;
    text-align: center;
  }

  .ExternalLink {
    width: 100%;
    margin: 10px 0;
    text-align: center;
  }

  .ExternalLinkLogo {
    margin: 10px 0;
  }

  .ExternalLinkLogo img {
    width: 100%;
  }

  /* 協力企業 */
  .PlustarCooperatingCompanies .PageColumn {
    padding: 80px 0;
  }

  .PlustarCooperatingCompanies .TextBox {
    flex-direction: column;
  }

  .PlustarCooperatingCompanies .Text {
    width: 100%;
  }
}

/*---------------------------------------
 Chapter15_02 : 学生のみなさまへ
----------------------------------------*/

/* 概要
----------------------------- */

.PageStudentAboutArea .StudentAbout {
  position: relative;
}

.PageStudentAboutArea .PageStudentColumn {
  overflow: hidden;
}

.PageStudentAboutArea .StudentAboutTitle {
  position: relative;
  margin: 0 0 35px 0;
  font-size: 4.6rem;
  text-align: center;
  color: #333;
  z-index: 1;
}

.PageStudentAboutArea .StudentAboutTitle .FontLarge {
  font-size: 5rem;
}

.PageStudentAboutArea .StudentAboutTitle::before {
  position: absolute;
  content: "";
  width: 63px;
  height: 46px;
  top: 0;
  left: 120px;
  background-image: url(../plustar/assets/img/page/pagestudentabout_ph01.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.PageStudentAboutArea .StudentAboutTitle::after {
  position: absolute;
  content: "";
  width: 144px;
  height: 98px;
  top: 0;
  right: 0;
  background-image: url(../plustar/assets/img/page/pagestudentabout_ph02.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.PageStudentAboutArea .StudentAboutText {
  position: relative;
  font-size: 1.8rem;
  text-align: center;
  color: #333;
  z-index: 1;
}

.PageStudentAboutArea .StudentAboutText::before {
  position: absolute;
  content: "";
  width: 154px;
  height: 108px;
  top: 0;
  left: -30px;
  background-image: url(../plustar/assets/img/page/pagestudentabout_ph03.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.PageStudentAboutArea .StudentAboutText::after {
  position: absolute;
  content: "";
  width: 63px;
  height: 46px;
  bottom: 0;
  right: -20px;
  background-image: url(../plustar/assets/img/page/pagestudentabout_ph04.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

/* 3つのポイント
----------------------------- */
section.PageStudentPointArea {
  margin: 0 0 100px;
}

/* 開催事例のご紹介
----------------------------- */
.PageStudentHeldArea {}

.PageStudentHeldArea .EventExamplesItem {
  border-radius: 6px;
  background: #fff;
}

.EventExamplesInfo {
  padding: 5px 0;
}

.EventExamplesInfo p {
  display: flex;
  align-items: center;
  margin: 0;
}

.EventExamplesDay::before,
.EventExamplesVenue::before {
  content: "";
  display: inline-flex;
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  background-image: url(../plustar/assets/img/parts/calendar.png);
  background-size: contain;
  background-repeat: no-repeat;
}

/* カレンダーアイコン */
.EventExamplesDay::before {
  background-image: url(../plustar/assets/img/parts/calendar.png);
  background-size: contain;
  background-repeat: no-repeat;
}

/* マップアイコン */
.EventExamplesVenue::before {
  background-image: url(../plustar/assets/img/parts/map.png);
  background-size: contain;
  background-repeat: no-repeat;
}

/* イベント紹介
----------------------------- */
.PageStudentEventArea .EventInfoTitle {
  font-size: 4rem;
  text-align: center;
  color: #333;
}

.PageStudentEventArea .EventInfoText {
  margin: 30px 0;
  text-align: center;
}

.PageStudentEventArea .NewsPostCardAreaLines {
  margin: 0 auto 50px;
  width: 100%;
}

@media screen and (max-width: 799px) {
  .PageStudentAboutArea.wrapper {
    width: 100%;
  }

  .PageStudentAboutArea .PageStudentColumn {
    padding: 100px 30px;
  }

  .PageStudentAboutArea .StudentAboutTitle {
    font-size: 3.2rem;
  }

  .PageStudentAboutArea .StudentAboutTitle .FontLarge {
    font-size: 4rem;
  }

  .PageStudentAboutArea .StudentAboutTitle::after {
    top: -80%;
    right: -38%;
    height: 45px;
  }

  .PageStudentAboutArea .StudentAboutTitle::before {
    display: none;
  }

  .PageStudentAboutArea .StudentAboutText::before {
    top: 115%;
    left: -25%;
    height: 60px;
  }

  .PageStudentAboutArea .StudentAboutText::after {
    top: 100%;
    right: -20%;
    height: 90px;
  }

  .PageStudentEventArea .EventInfoTitle {
    font-size: 3rem;
  }
}

@media screen and (max-width: 500px) {
  .PageStudentAboutArea .StudentAboutTitle {
    font-size: 2.4rem;
  }

  .PageStudentAboutArea .StudentAboutTitle .FontLarge {
    font-size: 3rem;
  }

  .PageStudentAboutArea .StudentAboutText {
    font-size: 1.5rem;
    text-align-last: left;
  }
}

/*---------------------------------------
  Chapter15_03 : 協力企業
----------------------------------------*/

/* 協力企業リスト
----------------------------- */
section.CooperatingCompaniesInfoArea.wrapper {
  padding: 0 0 100px;
}

.CooperatingCompaniesInfoAbout .PageColumn {
  padding: 100px 0 50px;
}

.CooperatingCompaniesInfoArea .CooperatingCompaniesList {
  display: grid;
  gap: 30px;
  padding: 50px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.CooperatingCompaniesList ul {}

.CooperatingCompaniesInfoArea .CooperatingCompaniesList:has(li:only-child) {
  grid-template-columns: 180px;
  justify-content: start;
}

/* ロゴ */
.CooperatingCompaniesInfoArea .CooperatingCompaniesLogo {
  padding: 30px 20px;
  background: #fff;
  position: relative;
}

.CooperatingCompaniesInfoArea .CooperatingCompaniesLogo a {}

/* 外部マーク */
.CooperatingCompaniesInfoArea li:has(> a) .CooperatingCompaniesLogo::after {
  display: block;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 900;
  color: #000;
  text-align: right;
  position: absolute;
  bottom: 10px;
  right: 20px;
}

.CooperatingCompaniesInfoArea .CooperatingCompaniesText {
  margin: 10px 0 20px;
}

/* 1440px以上で5列固定 */
@media (min-width: 1440px) {
  .CooperatingCompaniesInfoArea .CooperatingCompaniesList {
    grid-template-columns: repeat(5, 1fr);
  }

  .PageAboutPlustarArea .AboutPlustarTitle::before {
    left: 50%;
    transform: translateX(calc(-600px + 120px));
    top: 0;
  }

  .PageAboutPlustarArea .AboutPlustarText.UP::after {
    display: block;
    top: 50%;
    right: 50%;
    transform: translate(calc(600px - 120px), -50%);
  }

  .PageAboutPlustarArea .AboutPlustarText.DOWN::before {
    left: 50%;
    transform: translateX(calc(-600px - 30px));
    top: 0;
  }

  .CooperatingCompaniesInfoArea .CooperatingCompaniesList {
    display: grid;
    gap: 30px;
    padding: 50px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}

@media screen and (max-width: 799px) {
  .CooperatingCompaniesInfoAbout .PageColumn {
    padding: 50px 0;
  }

  .CooperatingCompaniesInfoArea .CooperatingCompaniesList {
    display: grid;
    gap: 20px;
    padding: 20px;
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  }

  .CooperatingCompaniesInfoArea .CooperatingCompaniesLogo:after {
    bottom: 5px;
    right: 10px;
  }
}

/*-------------------------------------
  Chapter15_04 : プライバシーポリシー
--------------------------------------*/
.PagePrivacyPolicyArea.PageColumn {
  padding: 100px 0 150px;
}

/*---------------------------------------------------
  Chapter : カテゴリー
---------------------------------------------------*/
.PageCardArea {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
  margin: 80px 0;
}

/*---------------------------------------------------
  Chapter98 : 要素の動き
---------------------------------------------------*/

/* モーダルウィンドウ
-----------------------------------------*/
/*infoエリアをはじめは非表示*/
#TeacherInfoModaal {
  display: none;
}

/*モーダルの横幅を変更したい場合*/
.modaal-container {
  max-width: 600px;
}

.modaal-inner-wrapper .modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
}

.modaal-container .modaal-content-container {
  padding: 60px;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before {
  background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #000;
}

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
  background-color: #e8f2ff13;
  backdrop-filter: blur(10px);
}

.ModaalLogo {
  width: 30%;
  margin: 0 auto;
}

.ModaalTitle {
  margin: 0 0 20px;
  text-align: center;
}

.ModaalText {
  text-align: center;
}

.ModaalQuestion {
  margin: 40px 0 20px;
  font-weight: 600;
  text-align: center;
}

.ModaalQuestion::before {
  content: "Q";
  padding: 0 10px 0 0;
  color: #2470d9;
  font-size: 1.8rem;
}

/* ボタン */
.ModaalBtnBox {
  display: flex;
  width: 60%;
  gap: 20px;
  margin: 0 auto;
}

@media screen and (max-width: 799px) {
  .ModaalBtnBox {
    width: 100%;
  }

  .ModaalLogo {
    width: 80%;
  }

  .modaal-container .modaal-content-container {
    padding: 50px 30px;
  }
}

/* フェードイン
-----------------------------------------*/

/* fadeIn */
.FadeIn {
  animation-name: FadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes FadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* fadeUp */
.FadeUp {
  animation-name: FadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes FadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* fadeDown */
.FadeDown {
  animation-name: FadeDownAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes FadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* fadeLeft */
.FadeLeft {
  animation-name: FadeLeftAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes FadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* fadeRight */
.FadeRight {
  animation-name: FadeRightAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes FadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.FadeInStart,
.FadeUpStart,
.FadeDownStart,
.FadeLeftStart,
.FadeRightStart {
  opacity: 0;
}

/* ズーム
-----------------------------------------*/

/* zoomIn */
.ZoomIn {
  animation-name: ZoomInAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes ZoomInAnime {
  from {
    transform: scale(0.6);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* zoomOut */
.ZoomOut {
  animation-name: ZoomOutAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes ZoomOutAnime {
  from {
    transform: scale(1.2);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.ZoomInStart,
.ZoomOutStart {
  opacity: 0;
}

/* アニメーション設定
-----------------------------------------*/

/* アニメーションの回数を決めるCSS*/
.count2 {
  animation-iteration-count: 2;
  /*この数字を必要回数分に変更*/
}

.countinfinite {
  animation-iteration-count: infinite;
  /*無限ループ*/
}

/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time15 {
  animation-delay: 1.5s;
}

.delay-time2 {
  animation-delay: 2s;
}

.delay-time25 {
  animation-delay: 2.5s;
}

/* アニメーション自体が変化する時間を決めるCSS*/
.change-time05 {
  animation-duration: 0.5s;
}

.change-time1 {
  animation-duration: 1s;
}

.change-time15 {
  animation-duration: 1.5s;
}

.change-time2 {
  animation-duration: 2s;
}

.change-time25 {
  animation-duration: 2.5s;
}

/*---------------------------------------
  Pagination : ページネーション（WP-PageNavi対応）
-----------------------------------------*/
.pagination-wrapper {
  margin: 40px auto 60px;
}

.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0;
  margin: 0;
  clear: both;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 40px;
  background: #f3f4f5;
  color: #333;
  font-family: "Overpass", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.8;
  text-decoration: none;
  transition: all 0.3s ease;
  border: none;
}

.wp-pagenavi a:hover {
  background: #2167c2;
  color: white;
}

.wp-pagenavi span.current {
  background: #2167c2;
  color: white;
}

.wp-pagenavi span.extend {
  background: transparent;
  width: auto;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  width: 26px;
  height: 26px;
  background-color: transparent;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0;
  overflow: hidden;
  text-indent: -9999px;
  border: none;
}

.wp-pagenavi a.previouspostslink {
  background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 19L9 13L16 7' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transform: rotate(0deg);
}

.wp-pagenavi a.nextpostslink {
  background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 7L17 13L10 19' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transform: rotate(0deg);
}

.wp-pagenavi a.first,
.wp-pagenavi a.last {
  display: none;
}

.wp-pagenavi .pages {
  display: none;
}

@media screen and (max-width: 799px) {
  .pagination-wrapper {
    margin: 40px auto;
  }

  .wp-pagenavi {
    gap: 8px;
  }

  .wp-pagenavi a,
  .wp-pagenavi span {
    width: 44px;
    height: 44px;
    font-size: 1.6rem;
  }

  .wp-pagenavi a.previouspostslink,
  .wp-pagenavi a.nextpostslink {
    width: 20px;
    height: 20px;
  }
}

/*---------------------------------------
  SUISEI カスタマイズ
-----------------------------------------*/

.box_yellow {
    padding: 20px;
    border-radius: 6px;
    background-color: #f9f9d4;
    }

.box_blue {
    padding: 20px!important;
    border-radius: 6px;
    background-color: #e5eaf6;
    }

ul.box_yellow,
ul.box_blue {
    padding-inline-start: 40px;
    }

ul.square-list {
    list-style: none; /* デフォルトのマーカーを消す */
    padding-left: 0;
}

ul.square-list li {
    position: relative;
    padding-left: 20px; /* テキストとずらす */
    list-style-type: none;
}
  
ul.square-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.6rem;
    transform: translateY(-50%);
    width: 1.6rem; /* 四角のサイズ */
    height: 1.6rem; /* 四角のサイズ */
    background-color: #2167c2; /* 四角の色 */
}

table {
	font-size: 1.6rem;
}