@charset "UTF-8";
:root {
  --body-bg-color:#ffffff;
  --body-color:#000000;
  --body-font-family:"Noto Sans JP", Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
  --body-font-size:1.4rem;
  --body-font-weight:normal;
  --body-letter-spacing:normal;
  --body-line-height:1.4;
  --body-text-align:left;
  --link-color:#0033cc;
  --link-color-hover:#cc3434;
  --link-color-visited:#006ccc;
  --link-decoration:none;
  --link-decoration-hover:underline;
}

/* ------------------------------ */
/* global setting */
/* ------------------------------ */
html {
  font-size: 10px;
  height: 100%;
}

body {
  background-color: var(--body-bg-color);
  color: var(--body-color);
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  height: 100%;
  letter-spacing: var(--body-letter-spacing);
  line-height: var(--body-line-height);
  margin: 0;
  overscroll-behavior-y: none;
  padding: 0;
  text-align: var(--body-text-align);
}

/* ブロック */
div,
section {
  box-sizing: border-box;
}

/* アンカー */
a {
  -webkit-text-decoration: var(--link-decoration);
  color: var(--link-color);
  display: inline-block;
  text-decoration: var(--link-decoration);
}
a > img {
  width: 100%;
}
a:visited {
  color: var(--link-color-visited);
}
a:hover {
  -webkit-text-decoration: var(--link-decoration-hover);
  color: var(--link-color-hover);
  text-decoration: var(--link-decoration-hover);
}
a:hover img {
  opacity: 0.6;
}

/* 見出し */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

h1 {
  font-size: 2em;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.17em;
}

h4 {
  font-size: 1em;
}

h5 {
  font-size: 0.83em;
}

h6 {
  font-size: 0.67em;
}

/* 番号無しリスト */
ul {
  -webkit-padding-start: 2em;
  list-style-type: disc;
  padding-inline-start: 2em;
}

/* 番号付きリスト */
ol {
  -webkit-padding-start: 2em;
  list-style-type: decimal;
  padding-inline-start: 2em;
}

/* 画像 */
img {
  height: auto;
}

/* フォーム部品 */
/* 基本 */
button,
input,
select,
textarea {
  -moz-appearance: auto;
  -webkit-appearance: auto;
  appearance: auto;
  background-color: #fff;
  border-radius: 0.3em;
  border-width: 1px;
  font-size: 0.9em;
  padding: 0.4em;
}

/* 選択系パーツ */
input[type=radio],
input[type=checkbox] {
  cursor: pointer;
  vertical-align: initial;
}

/* ボタン */
input[type=submit],
input[type=reset],
input[type=button],
button {
  background-color: #f0f0f0;
  border: solid 1px #666;
}

input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover,
button:hover {
  background-color: #ddd;
  cursor: pointer;
}

.screen-reader-text {
  display: none;
}

a {
  display: inline-block;
}

body {
  font-optical-sizing: auto;
}

ul.list {
  list-style: disc;
  padding-left: 1.5em;
}
ul.list li::marker {
  color: #2669B7;
}

/* ------------------------------ */
/* Fonts */
/* ------------------------------ */
.IcoMoon, .child-page_school-life.page_club .block.club .gotop a:after, .child-page_school-life.page_club .pickup .item:before, .child-page_guidance-junior.page_curriculum .manabi .chart .course .links a:after, .quote:before, .page__header > .inner .topic_path ol li:not(:last-child):after, .front-page .topics .head .more:before, #site__footer .relcopy .rels a:after, #site__footer address .addr:before, .page-menu > li > .sub-menu > li:before, .circle-chevron-right:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: "icomoon" !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  speak: never;
  text-transform: none;
}

.noto-serif-jp, .child-page_summary.page_school-greeting .block .img_inner .president .name {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.barlow-semi-condensed, .navigation.pagination .page-numbers, .child-page_school-life.page_events .events .item .shiftimg .month_img:before, .child-page_school-life.page_events .events .item .month, .child-page_school-life.page_club .block.club .head .name .en, .child-page_school-life.page_club .block.club .big_label, .child-page_school-life.page_club .pickup .item .name .en, .child-page_school-life.page_club .pickup .h, .child-page_school-life.page_uniform .opts .item .en, .child-page_school-life.page_facility .pano .big_label, .child-page_guidance-high.page_overseas-experience .trip_label .label:before, .child-page_guidance-high.page_overseas-experience .sec_cover .big_label p, .child-page_guidance-high.page_special-advance .head .big_title, .high_course_nav a .en, .child-page_guidance-junior.page_graduates-message .message .chapter .lead:before, .child-page_guidance-junior.page_graduates-message .message .message_label, .child-page_summary.page_school-greeting .song .lyrics .part, .post-type_page .page__body h2:before, .page__header > .inner .page_title .en, .front-page .topics .head .title .m, .front-page .big_menu .title, .front-page .big_menu .num {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-style: normal;
}

.roboto, .front-page .jumbotron .cat_links .links .circle-chevron-right .e, .topics__items a .date {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-weight: 400;
}

/* ------------------------------ */
/* zoom */
/* ------------------------------ */
a .zoom, a.zoom {
  overflow: hidden;
}
a .zoom img, a.zoom img {
  transition: all 600ms ease-out;
}
a:hover .zoom img, a.zoom:hover img {
  -webkit-transform: scale(1.05, 1.05);
  opacity: 1;
  transform: scale(1.05, 1.05);
  transition: all 600ms ease-out;
}

/* ------------------------------ */
/* .block */
/* ------------------------------ */
.block {
  min-width: 320px;
  width: 100%;
}
.block > .inner {
  margin: 0 auto;
  min-width: 320px;
  padding-bottom: 0;
  padding-left: clamp(10px, 5vw, 30px);
  padding-right: clamp(10px, 5vw, 30px);
  padding-top: 0;
  width: 100%;
}
.block > .inner:not(.nolimit) {
  max-width: 1160px;
}

/* ---------------------------------- */
/* .button */
/* ---------------------------------- */
.button {
  border: 2px solid;
  border-radius: 4px;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.button.disabled, .button:disabled {
  cursor: default;
  opacity: 0.5;
  pointer-events: none;
}
.button__txt {
  align-content: center;
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.button span {
  display: inline-block;
  line-height: 1.5;
  white-space: nowrap;
}
.button, .button:link, .button:visited {
  background: var(--button-back-color);
  border-color: var(--button-border-color);
  color: var(--button-fore-color);
}
.button.selected, .button:not(.disabled):not(:disabled):hover, .button:not(.disabled):not(:disabled):focus {
  background: var(--button-hover-back-color, var(--button-fore-color));
  border-color: var(--button-hover-border-color, var(--button-border-color));
  color: var(--button-hover-fore-color, var(--button-back-color));
}
.button {
  --button-back-color:#ffffff;
  --button-border-color:$linkColor-link;
  --button-fore-color:$linkColor-link;
  --button-hover-back-color:#ffffff;
  --button-hover-border-color:$linkColor-hover;
  --button-hover-fore-color:$linkColor-hover;
}

.disabled .button,
.button.disabled,
.button:disabled {
  cursor: default;
  opacity: 0.5;
  pointer-events: none;
}

/* ------------------------------ */
/* clearfix */
/* ------------------------------ */
/* ------------------------------ */
/* layout */
/* ------------------------------ */
#site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}
#site__body {
  flex-grow: 1;
}
#site__body > .inner {
  background: #ffffff;
}
#site__footer {
  background: #ffffff;
  position: sticky;
  top: 100vh;
}
#site__footer > .inner {
  background: #ffffff;
}

/* ------------------------------ */
/* header::logo */
/* ------------------------------ */
.header__logo {
  aspect-ratio: 4;
  left: clamp(10px, 3vw, 25px);
  margin: 0;
  mix-blend-mode: difference;
  position: fixed;
  top: 20px;
  width: clamp(160px, 50vw, 200px);
  z-index: 10;
}
@media (min-width: 768px) {
  .header__logo {
    left: clamp(25px, 3vw, 35px);
    top: 25px;
    width: clamp(246px, 32vw, 283px);
  }
}
.header__logo img {
  -webkit-filter: invert(100%) sepia(0%) saturate(7482%) hue-rotate(111deg) brightness(102%) contrast(96%) drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));
  filter: invert(100%) sepia(0%) saturate(7482%) hue-rotate(111deg) brightness(102%) contrast(96%) drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));
  width: 100%;
}

/* ------------------------------ */
/* 丸囲い右シェブロンつきリンク */
/* ------------------------------ */
:root {
  --circle-chevron-right_bg: #F7F7F7;
  --circle-chevron-right_color: #2669B7;
}

.circle-chevron-right:before {
  background: var(--circle-chevron-right_bg);
  border-radius: 50%;
  color: var(--circle-chevron-right_color);
  content: "\e901";
  display: inline-grid;
  font-weight: bold;
  height: 24px;
  place-items: center;
  width: 24px;
}
.circle-chevron-right:hover:before {
  background: var(--circle-chevron-right_hover_bg, var(--circle-chevron-right_bg));
  color: var(--circle-chevron-right_hover_color, var(--circle-chevron-right_color));
}

.circle_disc_mark, .child-page_guidance-high.page_after-graduation .imgtxt .txt .dtl .sublist dt, .child-page_guidance-high.page_after-graduation .block > .inner.overflow_imgtxt .txt .dtl .sublist dt, .child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h {
  padding-left: 1.5em;
  position: relative;
}
.circle_disc_mark:before, .child-page_guidance-high.page_after-graduation .imgtxt .txt .dtl .sublist dt:before, .child-page_guidance-high.page_after-graduation .block > .inner.overflow_imgtxt .txt .dtl .sublist dt:before, .child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h:before, .circle_disc_mark:after, .child-page_guidance-high.page_after-graduation .imgtxt .txt .dtl .sublist dt:after, .child-page_guidance-high.page_after-graduation .block > .inner.overflow_imgtxt .txt .dtl .sublist dt:after, .child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h:after {
  aspect-ratio: 1;
  border-radius: 50%;
  content: "";
  position: absolute;
}
.circle_disc_mark:before, .child-page_guidance-high.page_after-graduation .imgtxt .txt .dtl .sublist dt:before, .child-page_guidance-high.page_after-graduation .block > .inner.overflow_imgtxt .txt .dtl .sublist dt:before, .child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h:before {
  background: rgba(38, 105, 183, 0.2);
  left: 0;
  top: 0;
  width: 1em;
}
.circle_disc_mark:after, .child-page_guidance-high.page_after-graduation .imgtxt .txt .dtl .sublist dt:after, .child-page_guidance-high.page_after-graduation .block > .inner.overflow_imgtxt .txt .dtl .sublist dt:after, .child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h:after {
  background: #2669B7;
  left: 0.5em;
  top: 0.5em;
  translate: -50% -50%;
  width: 0.25em;
}

/* ------------------------------ */
/* header::nav */
/* ------------------------------ */
.header__nav {
  background: transparent;
  display: flex;
  gap: 7px;
  justify-content: flex-end;
  margin: 0;
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 999999;
}
@media (min-width: 768px) {
  .header__nav {
    gap: 10px;
    right: 25px;
    top: 25px;
  }
}
.header__nav > * {
  border-radius: 5px;
  box-shadow: 0px 3px 6px #0000001F;
  position: relative;
}
.header__nav a > * {
  border-radius: 5px;
  box-shadow: 0px 3px 6px #0000001F;
  position: relative;
}
.header__nav a:hover {
  text-decoration: none;
}
.header__nav .btnbox {
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  place-items: center;
  width: clamp(60px, 18.75vw, 70px);
}
@media (min-width: 768px) {
  .header__nav .btnbox {
    border-radius: 10px;
    width: 90px;
  }
}
.header__nav .applicant {
  background: #ffffff;
  color: #2669B7;
  gap: 5px;
}
@media (min-width: 768px) {
  .header__nav .applicant {
    display: none;
  }
}
.header__nav .applicant .icon-pencil {
  font-size: 15px;
}
.header__nav .applicant p {
  font-size: 11px;
  margin: 0;
  text-align: center;
}
@media (min-width: 425px) {
  .header__nav .applicant p {
    font-size: 12px;
  }
}
.header__nav .navbox {
  display: none;
}
@media (min-width: 768px) {
  .header__nav .navbox {
    display: block;
    width: clamp(355px, 46vw, 390px);
  }
}
.header__nav .navbox .contact_links {
  --link-color: #808080;
  --link-color-hover: #c3c3c3;
  --link-color-visited: #808080;
  --link-decoration: none;
  --link-decoration-hover: none;
  align-items: center;
  background: #F7F7F7;
  display: flex;
  font-size: 12px;
  gap: 1.33em;
  justify-content: center;
  line-height: 1;
  list-style: none;
  margin: 0;
  padding: 1em;
}
.header__nav .navbox .contact_links li {
  align-items: center;
  display: flex;
  gap: 1.33em;
}
.header__nav .navbox .contact_links li:not(:first-child):before {
  background: #E8E8E8;
  content: "";
  display: inline-block;
  height: 1em;
  width: 1px;
}
.header__nav .navbox .cat_links {
  --link-color: #393939;
  --link-color-hover: #2669B7;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  align-items: center;
  background: #ffffff;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  gap: 1.33em;
  justify-content: center;
  line-height: 1;
  list-style: none;
  margin: 0;
  padding: 0.85em 1em 1.14em;
}
.header__nav .navbox .cat_links .circle-chevron-right {
  align-items: center;
  display: flex;
  gap: 0.57em;
}

/* ------------------------------ */
/* hamburger */
/* ------------------------------ */
.header__hamburger {
  background: #2669B7;
}
.header__hamburger-button {
  height: 16px;
  position: relative;
  width: 22px;
}
.header__hamburger-button .bar {
  background-color: #ffffff;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  transition: all 0.3s;
  width: 100%;
}
.header__hamburger-button .bar:nth-child(1) {
  top: 0;
}
.header__hamburger-button .bar:nth-child(2) {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.header__hamburger-button .bar:nth-child(3) {
  bottom: 0;
}

.open_drawer .header__hamburger {
  background: #F7F7F7;
}
.open_drawer .header__hamburger-button .bar {
  background-color: #aaaaaa;
}
.open_drawer .header__hamburger-button .bar:nth-child(1), .open_drawer .header__hamburger-button .bar:nth-child(3) {
  -webkit-transform: translateY(-50%);
  top: 50%;
  transform: translateY(-50%);
}
.open_drawer .header__hamburger-button .bar:nth-child(2) {
  opacity: 0;
  width: 0;
}
.open_drawer .header__hamburger-button .bar:nth-child(1) {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.open_drawer .header__hamburger-button .bar:nth-child(3) {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

/* ------------------------------ */
/* page menu */
/* ------------------------------ */
.page-menu,
.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-menu > li {
  --link-color: #2669B7;
  --link-color-hover: #2669B7;
  --link-color-visited: #2669B7;
  --link-decoration: none;
  --link-decoration-hover:underline;
  font-size: 16px;
  font-weight: bold;
}
.page-menu > li:not(:first-child) {
  border-top: 1px solid #EAEAEA;
  margin-top: 30px;
  padding-top: 30px;
}
.page-menu > li > .sub-menu {
  -moz-column-count: 2;
  -webkit-column-count: 2;
  column-count: 2;
  margin: 10px 0 0;
}
@media (min-width: 768px) {
  .page-menu > li > .sub-menu {
    -moz-column-count: auto;
    -webkit-column-count: auto;
    column-count: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 1em 40px;
  }
}
.page-menu > li > .sub-menu li {
  --link-color: #393939;
  --link-color-hover: #2669B7;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  font-size: 13px;
  font-weight: 500;
  padding-top: 10px;
}
@media (min-width: 768px) {
  .page-menu > li > .sub-menu li {
    display: flex;
    font-size: 14px;
  }
  .page-menu > li > .sub-menu li a {
    white-space: nowrap;
  }
}
.page-menu > li > .sub-menu > li {
  padding-left: 28px;
  position: relative;
}
.page-menu > li > .sub-menu > li:before {
  background: #F7F7F7;
  border-radius: 50%;
  color: #2669B7;
  content: "\e901";
  display: inline-grid;
  height: 20px;
  left: 0;
  place-items: center;
  position: absolute;
  top: 10px;
  width: 20px;
}
.page-menu > li > .sub-menu > li .sub-menu {
  display: inline-flex;
  flex-direction: column;
  margin-left: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .page-menu > li > .sub-menu > li .sub-menu {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1em 1.5em;
    width: auto;
  }
  .page-menu > li > .sub-menu > li .sub-menu li {
    padding-top: 0;
  }
}
.page-menu > li > .sub-menu > li .sub-menu > li {
  padding-left: 16px;
  position: relative;
}
.page-menu > li > .sub-menu > li .sub-menu > li:before {
  background: #C3C3C3;
  content: "";
  display: inline-grid;
  height: 1px;
  left: 0;
  place-items: center;
  position: absolute;
  top: 19px;
  width: 9px;
}
@media (min-width: 768px) {
  .page-menu > li > .sub-menu > li .sub-menu > li {
    align-items: center;
    display: flex;
    gap: 7px;
  }
  .page-menu > li > .sub-menu > li .sub-menu > li:before {
    position: static;
  }
}

/* ------------------------------ */
/* vice menu */
/* ------------------------------ */
.vice-menu {
  line-height: 1;
  margin: 0;
  padding: 0;
}
.vice-menu > * {
  display: inline-block;
  vertical-align: middle;
}
.vice-menu hr {
  background: #C3C3C3;
  border: none;
  height: 1em;
  margin: 1px 15px 0;
  padding: 0;
  width: 1px;
}
.vice-menu hr:nth-last-of-type(1) {
  display: none;
}
.vice-menu a {
  --link-color: #2669B7;
  --link-color-hover: #C3C3C3;
  --link-color-visited: #2669B7;
  --link-decoration: none;
  --link-decoration-hover: none;
}
.vice-menu a:nth-of-type(2) + hr, .vice-menu a:nth-of-type(4) + hr, .vice-menu a:nth-of-type(6) + hr {
  background: transparent;
  display: block;
  height: 10px;
  margin: 0;
}
@media (min-width: 460px) {
  .vice-menu a:nth-of-type(2) + hr, .vice-menu a:nth-of-type(4) + hr {
    background: #C3C3C3;
    display: inline-block;
    height: 1em;
    margin: 1px 15px 0;
  }
  .vice-menu a:nth-of-type(3) + hr {
    background: transparent;
    display: block;
    height: 10px;
    margin: 0;
  }
}
@media (min-width: 576px) {
  .vice-menu a:nth-of-type(6) + hr {
    background: #C3C3C3;
    display: inline-block;
    height: 1em;
    margin: 1px 15px 0;
  }
}

/* ------------------------------ */
/* SNS links */
/* ------------------------------ */
.sns_links {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  font-weight: bold;
  gap: 15px;
  justify-content: center;
}
.sns_links .sns_link__item img {
  vertical-align: bottom;
  width: 35px;
}
.sns_links .sns_link__item.line {
  align-items: center;
  display: inline-flex;
  gap: 10px;
}
.sns_links .sns_link__item.line .links {
  --link-color: #06C755;
  --link-color-hover: #06C755;
  --link-color-visited: #06C755;
  --link-decoration: none;
  --link-decoration-hover: underline;
  display: inline-flex;
  gap: 7px;
}
.sns_links .sns_link__item.line .links .sep {
  color: #DBDBDB;
}

/* ------------------------------ */
/* footer */
/* ------------------------------ */
#site__footer {
  background: #2669B7;
  padding: 60px 0;
}
#site__footer .inner {
  background: transparent;
}
@media (min-width: 768px) {
  #site__footer .inner {
    -moz-column-gap: 2em;
    -webkit-column-gap: 2em;
    column-gap: 2em;
    display: grid;
    grid-template-columns: 1fr 250px;
    grid-template-columns: 1fr 45%;
  }
}
@media (min-width: 895px) {
  #site__footer .inner {
    grid-template-columns: 1fr 55%;
  }
}
#site__footer address {
  color: #ffffff;
  font-style: normal;
}
@media (min-width: 895px) {
  #site__footer address {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
  }
}
#site__footer address p {
  line-height: 1;
  margin: 0;
}
#site__footer address .houjin,
#site__footer address .addr,
#site__footer address .telfax {
  font-size: 13px;
}
#site__footer address .houjin {
  font-weight: bold;
}
#site__footer address .name {
  font-size: 22px;
  font-weight: bold;
  margin-top: 14px;
}
#site__footer address .addr {
  align-items: center;
  display: flex;
  font-weight: 500;
  gap: 10px;
  margin-top: 25px;
}
@media (min-width: 895px) {
  #site__footer address .addr {
    align-self: end;
    margin-top: 0;
  }
}
#site__footer address .addr:before {
  content: "\f041";
  font-size: 15px;
}
#site__footer address .telfax {
  align-items: center;
  display: flex;
  gap: 20px;
  margin-top: 5px;
}
#site__footer address .telfax .val {
  align-items: center;
  display: flex;
  gap: 10px;
}
#site__footer address .telfax .kind {
  font-size: 11px;
}
@media (min-width: 768px) {
  #site__footer address .houjin,
#site__footer address .addr,
#site__footer address .telfax {
    font-size: 14px;
  }
  #site__footer address .name {
    font-size: 25px;
  }
  #site__footer address .addr {
    margin-top: 40px;
  }
  #site__footer address .addr:before {
    font-size: 16px;
  }
  #site__footer address .telfax {
    margin-top: 10px;
  }
  #site__footer address .telfax .kind {
    font-size: 12px;
  }
}
#site__footer .relcopy {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 70px;
  row-gap: 30px;
}
@media (min-width: 768px) {
  #site__footer .relcopy {
    justify-self: end;
    margin-top: 0;
    max-width: 505px;
    width: 100%;
  }
}
#site__footer .relcopy .rels {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 729px) {
  #site__footer .relcopy .rels {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
}
@media (min-width: 768px) {
  #site__footer .relcopy .rels {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}
#site__footer .relcopy .rels a {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  grid-template-columns: 1fr auto;
  padding: 1em 0.85em;
}
#site__footer .relcopy .rels a:after {
  content: "\e900";
  font-size: 11px;
}
#site__footer .relcopy .rels a:hover span {
  text-decoration: underline;
}
#site__footer .relcopy .copyright {
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media (min-width: 768px) {
  #site__footer .relcopy .copyright {
    text-align: right;
  }
}
#site__footer .relcopy .copyright span {
  white-space: nowrap;
}

/* ------------------------------ */
/* drawer */
/* ------------------------------ */
#drawer {
  -webkit-backdrop-filter: blur(5px);
  -webkit-transform: translateY(-100%);
  backdrop-filter: blur(5px);
  background: rgba(0, 0, 0, 0.3);
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  transform: translateY(-100%);
  width: 100%;
  z-index: 99999;
}
#drawer .inner {
  background: #ffffff;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr;
  height: 100vh;
  margin-left: auto;
  margin-right: 0;
  max-width: 990px;
  opacity: 0;
  transition: all 0.2s ease-out;
}
#drawer .head {
  margin-bottom: 20px;
  padding-left: clamp(10px, 3vw, 25px);
  padding-top: 20px;
}
@media (min-width: 768px) {
  #drawer .head {
    display: none;
  }
}
#drawer .head .title {
  width: clamp(160px, 50vw, 200px);
}
#drawer .head .title img {
  -webkit-filter: invert(33%) sepia(0%) saturate(1342%) hue-rotate(196deg) brightness(106%) contrast(83%);
  filter: invert(33%) sepia(0%) saturate(1342%) hue-rotate(196deg) brightness(106%) contrast(83%);
  width: 100%;
}
#drawer .panel {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 1fr auto;
  overflow-y: scroll;
}

.open_drawer #drawer {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.open_drawer #drawer .inner {
  opacity: 1;
}
.open_drawer .header__nav .applicant,
.open_drawer .header__nav .navbox {
  display: none;
}

/* ------------------------------ */
/* menu / sitemap */
/* ------------------------------ */
#drawer .page_menu_box {
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
}
#drawer .vice_menu_box {
  padding-left: 20px;
  padding-right: 20px;
}

.page_menu_block {
  padding-bottom: 60px;
  padding-top: 50px;
}
@media (min-width: 768px) {
  .page_menu_block {
    padding-bottom: 60px;
    padding-top: 80px;
  }
}

.vice_menu_block,
.vice_menu_box {
  background: #F7F7F7;
}

.vice_menu_box {
  display: grid;
  grid-template-columns: 1fr;
  padding-bottom: 50px;
  padding-top: 50px;
  row-gap: 30px;
}
@media (min-width: 576px) {
  .vice_menu_box .vice-menu {
    margin: 0 auto;
  }
}
@media (min-width: 810px) {
  .vice_menu_box {
    grid-template-columns: 1fr auto;
    row-gap: 0;
  }
  .vice_menu_box .vice-menu {
    margin: 0;
  }
}

/* ------------------------------ */
/* SNS float */
/* ------------------------------ */
#sns_float {
  aspect-ratio: 1;
  bottom: 0;
  display: grid;
  place-content: end;
  position: fixed;
  right: 0;
  width: 180px;
  width: 90px;
  z-index: 5;
}
#sns_float .trigger {
  aspect-ratio: 1;
  background: rgba(0, 0, 0, 0.42);
  border-left: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  border-top-left-radius: 100%;
  color: #ffffff;
  display: grid;
  padding: 0 10px 10px 0;
  place-content: end;
  text-align: center;
  transition: all 0.2s ease-out;
  width: 90px;
  z-index: 2;
}
#sns_float a {
  aspect-ratio: 1;
  bottom: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  width: 50px;
}
#sns_float a img {
  width: 100%;
}
@-webkit-keyframes slide_youtube {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 126px;
    opacity: 1;
    right: 10px;
  }
}
@keyframes slide_youtube {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 126px;
    opacity: 1;
    right: 10px;
  }
}
@-webkit-keyframes slide_instagram {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 105px;
    opacity: 1;
    right: 63px;
  }
}
@keyframes slide_instagram {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 105px;
    opacity: 1;
    right: 63px;
  }
}
@-webkit-keyframes slide_line_j {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 64px;
    opacity: 1;
    right: 104px;
  }
}
@keyframes slide_line_j {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 64px;
    opacity: 1;
    right: 104px;
  }
}
@-webkit-keyframes slide_line_h {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 10px;
    opacity: 1;
    right: 130px;
  }
}
@keyframes slide_line_h {
  0% {
    bottom: 0;
    opacity: 0;
    right: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    bottom: 10px;
    opacity: 1;
    right: 130px;
  }
}
#sns_float.active {
  width: 180px;
}
#sns_float.active .trigger {
  width: 110px;
}
#sns_float.active a.youtube {
  -webkit-animation: slide_youtube 0.3s ease-out forwards;
  animation: slide_youtube 0.3s ease-out forwards;
}
#sns_float.active a.instagram {
  -webkit-animation: slide_instagram 0.3s ease-out forwards;
  animation: slide_instagram 0.3s ease-out forwards;
}
#sns_float.active a.line_j {
  -webkit-animation: slide_line_j 0.3s ease-out forwards;
  animation: slide_line_j 0.3s ease-out forwards;
}
#sns_float.active a.line_h {
  -webkit-animation: slide_line_h 0.3s ease-out forwards;
  animation: slide_line_h 0.3s ease-out forwards;
}

/* ------------------------------ */
/* 固定ページ */
/* ------------------------------ */
.singular.post-type-page .page__header {
  border-bottom: 1px solid #000000;
}
.singular.post-type-page .page_title {
  font-size: 1.8em;
  font-weight: bold;
}

/* ------------------------------ */
/* 個別ページ：個々の投稿（含むカスタム投稿タイプ） */
/* ------------------------------ */
.single .article__header {
  margin-bottom: 30px;
}
.single .article_title {
  color: #393939;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4667;
}
.single .article_meta {
  -moz-column-gap: 20px;
  -webkit-column-gap: 20px;
  column-gap: 20px;
  display: flex;
  flex-wrap: wrap;
  margin-top: 16px;
}
.single .article_date {
  color: #393939;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.single .article_category {
  -moz-column-gap: 0.5em;
  -webkit-column-gap: 0.5em;
  color: #393939;
  column-gap: 0.5em;
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
  list-style: none;
  margin: 0;
  padding: 0;
  row-gap: 0.5em;
}
.single .article__contents {
  color: #393939;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.single .article__contents h2,
.single .article__contents h3 {
  font-size: 1.25em;
}

.wp_entry_align, .entry-content {
  display: flow-root;
  /* .wp-caption{ */
  /*     @include flex(flex fd-col ai-center); */
  /* } */
}
.wp_entry_align .aligncenter, .entry-content .aligncenter {
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
}
.wp_entry_align .alignright, .entry-content .alignright {
  float: right;
  margin-bottom: 1.625em;
  margin-left: 1.625em;
}
.wp_entry_align .alignleft, .entry-content .alignleft {
  float: left;
  margin-bottom: 1.625em;
  margin-right: 1.625em;
}
.wp_entry_align .aligncenter, .entry-content .aligncenter,
.wp_entry_align .alignright,
.entry-content .alignright,
.wp_entry_align .alignleft,
.entry-content .alignleft {
  margin-bottom: 0.5em;
  margin-top: 0.5em;
}
.wp_entry_align .aligncenter + :where(:not(.alignleft):not(.alignright):not(.alignfull)), .entry-content .aligncenter + :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wp_entry_align .alignright + :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.entry-content .alignright + :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wp_entry_align .alignleft + :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.entry-content .alignleft + :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  display: flow-root;
}
.wp_entry_align img, .entry-content img {
  height: auto;
  margin-bottom: 1.625em;
  max-width: 100%;
  vertical-align: top;
  width: auto;
}
.wp_entry_align img.alignnone, .entry-content img.alignnone {
  margin: 0.5em 0.25em;
}
.wp_entry_align img.alignleft, .entry-content img.alignleft, .wp_entry_align img.alignright, .entry-content img.alignright, .wp_entry_align img.aligncenter, .entry-content img.aligncenter {
  margin-bottom: 1.625em;
}
.wp_entry_align img.size-thumbnail, .entry-content img.size-thumbnail {
  max-width: var(--IMAGE_SIZE_THUMBNAIL, 150px);
}
.wp_entry_align img.size-medium, .entry-content img.size-medium {
  max-width: var(--IMAGE_SIZE_MEDIUM, 300px);
}
.wp_entry_align img.size-large, .entry-content img.size-large {
  max-width: var(--IMAGE_SIZE_LARGE, 1024px);
}

.entry-content p {
  line-height: 1.8;
}
.entry-content p + p {
  margin-top: 1.5em;
}

.entry__adjacent-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem;
}
.entry__adjacent-links a {
  align-items: center;
  display: inline-flex;
}
.entry__adjacent-links abefore, .entry__adjacent-links aafter {
  display: block;
  font-size: 2em;
  line-height: 1;
  position: relative;
  top: -2px;
}
.entry__adjacent-links .prev {
  margin-right: auto;
}
.entry__adjacent-links .prev:before {
  content: "\0ab";
  margin-right: 0.2em;
}
.entry__adjacent-links .next {
  margin-left: auto;
}
.entry__adjacent-links .next:after {
  content: "\0bb";
  margin-left: 0.2em;
}

/* ------------------------------ */
/* エラーページ：404 */
/* ------------------------------ */
.error404 #site__body {
  align-items: center;
  display: flex;
  justify-content: center;
}
.error404 #site__body .box {
  margin: auto 20px;
  max-width: 390px;
  width: 30em;
}
.error404 #site__body .block > .inner {
  min-width: auto;
  padding: 0;
}
.error404 .page__header {
  border-bottom: 2px solid #333333;
  padding: 0 1em 0.8em;
}
.error404 .page_title {
  font-size: 1.4em;
}
.error404 .page__body {
  padding: 1em 1em 0 1em;
}

/* ------------------------------ */
/* :hoverでボーダー表示 */
/* ------------------------------ */
.hover_border, .single-information .golist, .single-topics .golist, .child-page_school-life.page_club .link_button, .child-page_guidance-junior.page_curriculum .high_course a, .page__header > .inner .topic_path a, .page_siblings a, .page_children_cards a, .front-page .big_menu .dtl .links a, .front-page .notice .circle-chevron-right, .front-page .jumbotron .applicant_links .links a {
  border-color: transparent;
  border-style: solid;
}
.hover_border:hover, .single-information .golist:hover, .single-topics .golist:hover, .child-page_school-life.page_club .link_button:hover, .child-page_guidance-junior.page_curriculum .high_course a:hover, .page__header > .inner .topic_path a:hover, .page_siblings a:hover, .page_children_cards a:hover, .front-page .big_menu .dtl .links a:hover, .front-page .notice .circle-chevron-right:hover, .front-page .jumbotron .applicant_links .links a:hover {
  border-color: var(--hover_border, #ffffff);
  transition: all 0.3s ease-out;
}

.hover_border_pre, .topics__items a .img {
  border-color: transparent;
  border-style: solid;
}

.hover_border_efe, .topics__items a:hover .img {
  border-color: #ffffff;
  transition: all 0.3s ease-out;
}

/* ------------------------------ */
/* topics：archive：select */
/* ------------------------------ */
.topics__select {
  --link-color: #2669B7;
  --link-color-hover: #2669B7;
  --link-color-visited: #2669B7;
  --link-decoration: none;
  --link-decoration-hover: none;
  display: grid;
  font-size: 12px;
  font-weight: bold;
  grid-template-columns: repeat(5, 20%);
}
@media (min-width: 768px) {
  .topics__select {
    font-size: 14px;
    font-weight: 600;
  }
}
.topics__select .filter {
  background: #ffffff;
  color: #2669B7;
  display: grid;
  padding: 2.16em 0;
  place-content: center;
  position: relative;
  text-align: center;
  transition: all 0.3s ease-out;
}
@media (min-width: 576px) {
  .topics__select .filter {
    padding: 2em 0;
  }
  .topics__select .filter br {
    display: none;
  }
}
.topics__select .filter:disabled {
  color: rgba(38, 105, 183, 0.4);
}
.topics__select .filter:after {
  -webkit-transform: translateY(-50%);
  background: #E5E5E5;
  content: "";
  display: block;
  height: 3em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
}
.topics__select .filter:first-child {
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px;
}
.topics__select .filter:first-child:after {
  display: none;
}
@media (min-width: 768px) {
  .topics__select .filter:first-child {
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
  }
}
.topics__select .filter:last-child {
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px;
}
@media (min-width: 768px) {
  .topics__select .filter:last-child {
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
  }
}
.topics__select .filter.current, .topics__select .filter:hover {
  background: #F0F0F0;
}

/* ------------------------------ */
/* topics：archive：item */
/* ------------------------------ */
.topics__items {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .topics__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
.topics__items a {
  display: block;
  position: relative;
}
.topics__items a .img {
  aspect-ratio: 1.446;
  border-width: 1px;
}
@media (min-width: 768px) {
  .topics__items a .img {
    aspect-ratio: 2.06;
  }
}
.topics__items a .img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.topics__items a .cat {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  left: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 10px;
}
.topics__items a .cat li {
  background: #2669B7;
  border-radius: 4px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  padding: 0.6em 0.66em;
}
.topics__items a .date {
  font-size: 12px;
  line-height: 1;
  margin: 1.5em 0 0;
}
.topics__items a .title {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  margin: 0.7em 0 0;
}
.topics__items a:hover .img img {
  opacity: 1;
}

/* ------------------------------ */
/* frontpage：jumbotron: video */
/* ------------------------------ */
.front-page .jumbotron {
  background: #F7F7F7;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .jumbotron {
    min-height: 100vh;
  }
}
.front-page .jumbotron > .inner {
  padding-top: calc(100vw - min(34px, 6vw));
}
@media (min-width: 768px) {
  .front-page .jumbotron > .inner {
    margin-top: -100vh;
    min-height: 100vh;
    padding-bottom: 280px;
    padding-top: 180px;
  }
}

.front-page .jumbotron .video {
  aspect-ratio: 1;
  background-size: cover;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .front-page .jumbotron .video {
    aspect-ratio: auto;
    height: 100vh;
    position: sticky;
  }
}
.front-page .jumbotron .video video {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
  z-index: -1;
}

/* ------------------------------ */
/* frontpage：jumbotron: cat_links */
/* ------------------------------ */
.front-page .jumbotron .links {
  display: grid;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .jumbotron .links {
    grid-template-columns: auto !important;
  }
  .front-page .jumbotron .links a {
    width: min(270px, 30vw);
  }
  .front-page .jumbotron .links br {
    display: none;
  }
}
.front-page .jumbotron .cat_links .links {
  --circle-chevron-right_hover_bg: #2669B7;
  --circle-chevron-right_hover_color: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
}
.front-page .jumbotron .cat_links .links .circle-chevron-right {
  border: 2px solid #ffffff;
  border-radius: 5px;
  box-sizing: border-box;
  display: block;
  height: clamp(110px, 28.6vw, 120px);
  padding: clamp(10px, 3vw, 20px) 0 0 clamp(8px, 2.5vw, 18px);
  position: relative;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right:before {
  bottom: 10px;
  position: absolute;
  right: 10px;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right .j {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.9px;
  line-height: 1;
  margin: 0;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right .e {
  font-size: 11px;
  letter-spacing: 0.6px;
  line-height: 1.36;
  margin: 0.7em 0 0;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right:link, .front-page .jumbotron .cat_links .links .circle-chevron-right:visited {
  background: #ffffff;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right:link .j, .front-page .jumbotron .cat_links .links .circle-chevron-right:visited .j {
  color: #2669B7;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right:link .e, .front-page .jumbotron .cat_links .links .circle-chevron-right:visited .e {
  color: #C3C3C3;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right:hover .j, .front-page .jumbotron .cat_links .links .circle-chevron-right:active .j {
  color: #2669B7;
}
.front-page .jumbotron .cat_links .links .circle-chevron-right:hover .e, .front-page .jumbotron .cat_links .links .circle-chevron-right:active .e {
  color: #C3C3C3;
}
@media (min-width: 768px) {
  .front-page .jumbotron .cat_links .links {
    --circle-chevron-right_bg: #ffffff;
    --circle-chevron-right_hover_bg: #2669B7;
    --circle-chevron-right_hover_color: #ffffff;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right {
    align-content: center;
    border-radius: 10px;
    border-width: 3px;
    display: grid;
    height: min(110px, 11vw);
    padding: 0 0 0 32px;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right .j {
    font-size: 18px;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right .e {
    font-size: 12px;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right:link, .front-page .jumbotron .cat_links .links .circle-chevron-right:visited {
    background: transparent;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right:link .j,
.front-page .jumbotron .cat_links .links .circle-chevron-right:link .e, .front-page .jumbotron .cat_links .links .circle-chevron-right:visited .j,
.front-page .jumbotron .cat_links .links .circle-chevron-right:visited .e {
    color: #ffffff;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right:hover, .front-page .jumbotron .cat_links .links .circle-chevron-right:active {
    background: #ffffff;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right:hover .j, .front-page .jumbotron .cat_links .links .circle-chevron-right:active .j {
    color: #2669B7;
  }
  .front-page .jumbotron .cat_links .links .circle-chevron-right:hover .e, .front-page .jumbotron .cat_links .links .circle-chevron-right:active .e {
    color: #C3C3C3;
  }
}
.front-page .jumbotron .applicant_links .links {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 20px;
  margin-top: 20px;
}
@media (min-width: 768px) {
  .front-page .jumbotron .applicant_links .links {
    gap: 5px;
    margin-bottom: 0;
    margin-top: 10px;
  }
}
.front-page .jumbotron .applicant_links .links a {
  background: #E68A09;
  border-radius: 5px;
  border-width: 2px;
  display: grid;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.35px;
  line-height: 1.3;
  padding: 1.23em 0;
  place-content: center;
  text-align: center;
}
@media (min-width: 768px) {
  .front-page .jumbotron .applicant_links .links a {
    position: relative;
  }
  .front-page .jumbotron .applicant_links .links a:after {
    -webkit-transform-origin: bottom right;
    border-bottom-right-radius: 5px;
    border-color: transparent #ffffff #ffffff transparent;
    border-style: solid;
    border-width: 10px;
    bottom: -2px;
    content: "";
    position: absolute;
    right: -2px;
    transform-origin: bottom right;
  }
  .front-page .jumbotron .applicant_links .links a:hover:after {
    opacity: 0;
    transition: all 0.3s ease-out;
  }
}

/* ------------------------------ */
/* frontpage：jumbotron: notice */
/* ------------------------------ */
.front-page .notice {
  --circle-chevron-right_hover_bg: #2669B7;
  --circle-chevron-right_hover_color: #ffffff;
  background: #ffffff;
  overflow: hidden;
  padding: 20px 0;
  width: 100%;
}
@media (min-width: 768px) {
  .front-page .notice {
    background: transparent;
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
  }
}
.front-page .notice .notice_swiper {
  box-sizing: content-box;
  overflow: visible;
}
@media (min-width: 768px) {
  .front-page .notice .notice_swiper {
    padding-bottom: 20px;
  }
}
.front-page .notice .notice_swiper .swiper-slide {
  margin-right: 10px;
  max-width: 380px;
  width: 74.4vw;
}
@media (min-width: 576px) {
  .front-page .notice .notice_swiper .swiper-slide {
    width: calc((100% - 10px) / 2);
  }
}
@media (min-width: 768px) {
  .front-page .notice .notice_swiper .swiper-slide {
    margin-right: 20px;
    width: calc((100% - 20px) / 2);
  }
}
@media (min-width: 992px) {
  .front-page .notice .notice_swiper .swiper-slide {
    width: calc((100% - 40px) / 3);
  }
}
.front-page .notice .notice_swiper .swiper-pagination {
  bottom: 0px;
  display: none;
}
.front-page .notice .notice_swiper .swiper-pagination .swiper-pagination-bullet {
  background: #ffffff;
  border-radius: unset;
  height: 3px;
  opacity: 0.4;
  width: 25px;
}
.front-page .notice .notice_swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #ffffff;
  opacity: 1;
}
@media (min-width: 768px) {
  .front-page .notice .notice_swiper.pagination .swiper-pagination {
    display: block;
  }
}
.front-page .notice .circle-chevron-right {
  aspect-ratio: 2.375;
  border-radius: 5px;
  border-width: 1px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .notice .circle-chevron-right {
    border-radius: 10px;
  }
}
.front-page .notice .circle-chevron-right img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}
.front-page .notice .circle-chevron-right:before {
  bottom: 10px;
  position: absolute;
  right: 10px;
}
.front-page .notice .circle-chevron-right:hover img {
  opacity: 1;
}

/* ------------------------------ */
/* frontpage：SP/Tab Links */
/* ------------------------------ */
.front-page .sptab_links {
  margin-bottom: 30px;
  margin-top: 10px;
}
.front-page .sptab_links .sptab_link_items {
  -moz-column-gap: 1px;
  -webkit-column-gap: 1px;
  background: #D8D8D8;
  border-radius: 5px;
  box-shadow: 0px 3px 6px #0000001F;
  column-gap: 1px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.front-page .sptab_links a {
  -moz-column-gap: 1em;
  -webkit-column-gap: 1em;
  align-items: center;
  background: #F7F7F7;
  column-gap: 1em;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1em 0;
}
.front-page .sptab_links a [class^=icon-] {
  color: #B7B7B7;
  font-size: 20px;
}

/* ------------------------------ */
/* frontpage：contents(bigmenu) */
/* ------------------------------ */
.front-page .big_menu {
  --03_height: 466;
  --03_width: 430;
  --a_aspect_ratio: calc(var(--a_width) / var(--a_l_height));
  --a_diff: calc(var(--a_s_height) / var(--a_l_height));
  --a_diffPer: calc(var(--a_diff) * 100 * 1%);
  --a_l_height: 530;
  --a_s_height: 385;
  --a_width: 430;
  --ab_overlap: calc(100vw / var(--a_aspect_ratio) * (1 - var(--a_diff)));
  --b_l_height: var(--a_l_height);
  --b_s_height: var(--a_s_height);
  --b_width: var(--a_width);
  --bg_01a: url("../img/front/portrait/bg_01a.jpg");
  --bg_01b: url("../img/front/portrait/bg_01b.jpg");
  --bg_02a: url("../img/front/portrait/bg_02a.jpg");
  --bg_02b: url("../img/front/portrait/bg_02b.jpg");
  --bg_03a: url("../img/front/portrait/bg_03a.jpg");
  --bg_03b: url("../img/front/portrait/bg_03b.jpg");
  --linkBtnSize: 80px;
  --titleFontSize: calc(14.2857142857vw + -5.7142857143px);
  --titleLineHeight: calc(var(--titleFontSize) * 0.97);
  --titlePos: clamp(20px, 3.4vw, 0.8em);
  position: relative;
}
.front-page .big_menu > :not(.num) {
  background-color: #2669B7;
  overflow: hidden;
  position: relative;
}
.front-page .big_menu > :not(.num) > .inner {
  display: grid;
  height: 100%;
}
.front-page .big_menu > :not(.num):before {
  background-size: cover;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.front-page .big_menu p {
  margin: 0;
}
.front-page .big_menu .num {
  -webkit-transform: translate(-50%, -50%);
  aspect-ratio: 1;
  background: transparent;
  border: 1px solid #ffffff;
  border-radius: 50%;
  color: #ffffff;
  font-weight: bold;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 82px;
  z-index: 2;
}
.front-page .big_menu .num .cur {
  font-size: 20px;
  left: 23%;
  position: absolute;
  top: 16%;
}
.front-page .big_menu .num .base {
  bottom: 24%;
  font-size: 14px;
  position: absolute;
  right: 26%;
}
@media (min-width: 992px) {
  .front-page .big_menu .num {
    width: 114px;
  }
  .front-page .big_menu .num .cur {
    font-size: 28px;
  }
  .front-page .big_menu .num .base {
    font-size: 20px;
  }
}
.front-page .big_menu .num:after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  background: #ffffff;
  content: "";
  display: block;
  height: 50px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 1px;
}
.front-page .big_menu .num:before {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  background: #ffffff;
  display: block;
  height: 60px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 1px;
}
@media (min-width: 768px) {
  .front-page .big_menu {
    --titleFontSize: calc(8.59375vw + 24px);
  }
}
.front-page .big_menu .title {
  color: rgba(255, 255, 224, 0.78);
  font-size: var(--titleFontSize);
  font-weight: bold;
  letter-spacing: 0px;
  line-height: 0.97;
  position: absolute;
  text-transform: uppercase;
}
.front-page .big_menu .title .light {
  font-weight: 300;
}
@media (min-width: 768px) {
  .front-page .big_menu {
    --linkBtnSize: clamp(80px, 8vw, 120px);
  }
}
.front-page .big_menu .dtl {
  align-content: end;
  align-self: end;
  color: #ffffff;
  z-index: 1;
}
.front-page .big_menu .dtl .h {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 2px;
  line-height: 1.45;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
@media (min-width: 375px) {
  .front-page .big_menu .dtl .h {
    font-size: 20px;
  }
}
@media (min-width: 768px) {
  .front-page .big_menu .dtl .h {
    font-size: 22px;
  }
}
@media (min-width: 992px) {
  .front-page .big_menu .dtl .h {
    font-size: 26px;
  }
}
@media (min-width: 1200px) {
  .front-page .big_menu .dtl .h {
    font-size: 28px;
  }
}
.front-page .big_menu .dtl .v {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.3px;
  line-height: 1.77;
  margin-top: 0.9em;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
@media (min-width: 768px) {
  .front-page .big_menu .dtl .v {
    font-size: 14px;
  }
}
@media (min-width: 992px) {
  .front-page .big_menu .dtl .v {
    font-size: 16px;
  }
}
@media (min-width: 1200px) {
  .front-page .big_menu .dtl .v {
    font-size: 18px;
  }
}
.front-page .big_menu .dtl .links {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  -moz-column-gap: clamp(4px, 1.25vw, 20px);
  -webkit-column-gap: clamp(4px, 1.25vw, 20px);
  column-gap: clamp(4px, 1.25vw, 20px);
  display: flex;
  font-size: 12px;
}
@media (min-width: 768px) {
  .front-page .big_menu .dtl .links {
    font-size: 13px;
  }
}
@media (min-width: 1200px) {
  .front-page .big_menu .dtl .links {
    font-size: 14px;
  }
}
.front-page .big_menu .dtl .links a {
  aspect-ratio: 1;
  background: #2669B7;
  border-radius: 5px;
  border-width: 1px;
  display: grid;
  margin-top: clamp(10px, 3.5vw, 40px);
  place-content: center;
  place-items: center;
  position: relative;
  text-align: center;
  width: var(--linkBtnSize);
}
.front-page .big_menu .dtl .links a:after {
  -webkit-transform-origin: bottom right;
  border-bottom-right-radius: 5px;
  border-color: transparent #ffffff #ffffff transparent;
  border-style: solid;
  border-width: 10px;
  bottom: -1px;
  content: "";
  position: absolute;
  right: -1px;
  transform-origin: bottom right;
}
@media (min-width: 768px) {
  .front-page .big_menu .dtl .links a {
    border-radius: 7px;
  }
  .front-page .big_menu .dtl .links a:after {
    border-bottom-right-radius: 7px;
  }
}
@media (min-width: 768px) and (min-aspect-ratio: 1.29817) {
  .front-page .big_menu {
    --a_l_height: 596;
    --a_s_height: 390;
    --a_width: 1280;
    --b_l_height: var(--a_l_height);
    --b_s_height: var(--a_s_height);
    --b_width: var(--a_width);
    --bg_01a: url("../img/front/landscape/bg_01a.jpg");
    --bg_01b: url("../img/front/landscape/bg_01b.jpg");
    --bg_02a: url("../img/front/landscape/bg_02a.jpg");
    --bg_02b: url("../img/front/landscape/bg_02b.jpg");
  }
}
@media (min-width: 768px) {
  .front-page .big_menu {
    --03_height: 940;
    --03_width: 640;
    --bg_03a: url("../img/front/landscape/bg_03a.jpg");
    --bg_03b: url("../img/front/landscape/bg_03b.jpg");
  }
}
.front-page .big_menu .a {
  aspect-ratio: var(--a_aspect_ratio);
  z-index: 2;
}
.front-page .big_menu .a > .inner {
  padding-bottom: var(--ab_overlap);
}
.front-page .big_menu .b {
  aspect-ratio: calc(var(--b_width) / var(--b_l_height));
  margin-top: calc(var(--ab_overlap) * -1);
}
.front-page .big_menu.big_menu_01 .a {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% var(--a_diffPer));
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% var(--a_diffPer));
}
.front-page .big_menu.big_menu_01 .a:before {
  background-image: var(--bg_01a);
}
.front-page .big_menu.big_menu_01 .a .title {
  left: -1%;
}
.front-page .big_menu.big_menu_01 .a .dtl {
  text-align: right;
}
.front-page .big_menu.big_menu_01 .a .links {
  justify-content: flex-end;
}
.front-page .big_menu.big_menu_01 .b:before {
  background-image: var(--bg_01b);
}
.front-page .big_menu.big_menu_01 .b .title {
  right: -1%;
  text-align: right;
}
.front-page .big_menu.big_menu_02 .a {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% var(--a_diffPer), 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% var(--a_diffPer), 0% 100%);
}
.front-page .big_menu.big_menu_02 .a:before {
  background-image: var(--bg_02a);
}
.front-page .big_menu.big_menu_02 .a .title {
  right: -1%;
  text-align: right;
}
.front-page .big_menu.big_menu_02 .b:before {
  background-image: var(--bg_02b);
}
.front-page .big_menu.big_menu_02 .b .title {
  left: -1%;
}
.front-page .big_menu.big_menu_02 .b .dtl {
  text-align: right;
}
.front-page .big_menu.big_menu_02 .b .links {
  justify-content: flex-end;
}
.front-page .big_menu.big_menu_03 .a,
.front-page .big_menu.big_menu_03 .b {
  aspect-ratio: calc(var(--03_width) / var(--03_height));
  background: none;
  z-index: auto;
}
@media (min-width: 768px) {
  .front-page .big_menu.big_menu_03 .a,
.front-page .big_menu.big_menu_03 .b {
    aspect-ratio: unset;
  }
}
.front-page .big_menu.big_menu_03 .a > .inner,
.front-page .big_menu.big_menu_03 .b > .inner {
  grid-template: "title" 1fr "dtl" auto/1fr;
  text-align: center;
}
.front-page .big_menu.big_menu_03 .a {
  padding-bottom: 0;
}
.front-page .big_menu.big_menu_03 .a:before {
  background-image: var(--bg_03a);
}
.front-page .big_menu.big_menu_03 .b {
  margin-top: 0;
  padding-top: 0;
}
.front-page .big_menu.big_menu_03 .b:before {
  background-image: var(--bg_03b);
}
.front-page .big_menu.big_menu_03 .title {
  align-content: end;
  align-self: end;
  margin-bottom: clamp(20px, 3.4vw, 0.8em);
  position: relative;
}
.front-page .big_menu.big_menu_03 .links {
  justify-content: center;
}
.front-page .big_menu.big_menu_01 .a .title {
  top: var(--titlePos);
}
.front-page .big_menu.big_menu_01 .b > .inner {
  padding-bottom: calc(var(--titleLineHeight) + (var(--titleLineHeight) * 0.65) + clamp(20px, 3.4vw, 0.8em));
}
.front-page .big_menu.big_menu_01 .b .title {
  bottom: var(--titlePos);
}
.front-page .big_menu.big_menu_02 .a .title {
  top: var(--titlePos);
}
.front-page .big_menu.big_menu_02 .b > .inner {
  padding-bottom: calc(var(--titleLineHeight) + (var(--titleLineHeight) * 0.65) + clamp(20px, 3.4vw, 0.8em));
}
.front-page .big_menu.big_menu_02 .b .title {
  bottom: var(--titlePos);
  left: -1%;
}
.front-page .big_menu.big_menu_03 .a > .inner {
  padding-bottom: calc(clamp(10px, 5vw, 30px) + 40px);
}
.front-page .big_menu.big_menu_03 .b > .inner {
  padding-bottom: clamp(10px, 5vw, 30px);
}
@media (min-width: 768px) and (min-aspect-ratio: 1.29817) {
  .front-page .big_menu.big_menu_01 .a .title, .front-page .big_menu.big_menu_02 .a .title {
    bottom: calc(var(--ab_overlap) + clamp(24px, 7.7vw, 40px));
    top: unset;
  }
  .front-page .big_menu.big_menu_01 .a .dtl, .front-page .big_menu.big_menu_02 .a .dtl {
    margin-bottom: calc(var(--linkBtnSize) / 2 * -1);
  }
  .front-page .big_menu.big_menu_01 .b, .front-page .big_menu.big_menu_02 .b {
    padding-bottom: 0;
  }
  .front-page .big_menu.big_menu_01 .b > .inner, .front-page .big_menu.big_menu_02 .b > .inner {
    padding-bottom: clamp(40px, 5.4vw, 70px);
  }
  .front-page .big_menu.big_menu_01 .b .title, .front-page .big_menu.big_menu_02 .b .title {
    bottom: min(3.2vw, 60px);
    left: 0;
  }
}
@media (min-width: 768px) {
  .front-page .big_menu.big_menu_01, .front-page .big_menu.big_menu_02, .front-page .big_menu.big_menu_03 {
    min-height: 100vh;
  }
  .front-page .big_menu.big_menu_03 {
    --titleFontSize: calc(6.0546875vw + 7.5px);
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .front-page .big_menu.big_menu_03 .a,
.front-page .big_menu.big_menu_03 .b {
    min-height: 100vh;
  }
  .front-page .big_menu.big_menu_03 .a > .inner,
.front-page .big_menu.big_menu_03 .b > .inner {
    padding-bottom: clamp(48px, 6.25vw, 80px);
  }
  .front-page .big_menu.big_menu_03 .h {
    font-size: 21px;
  }
}
@media (min-width: 768px) and (min-width: 832px) {
  .front-page .big_menu.big_menu_03 .h {
    font-size: 22px;
  }
}

@-webkit-keyframes intersected_ef_lb {
  0% {
    -webkit-transform: translate(-100%, 100%);
    opacity: 0;
    transform: translate(-100%, 100%);
  }
  100% {
    -webkit-transform: translate(0, 0);
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes intersected_ef_lb {
  0% {
    -webkit-transform: translate(-100%, 100%);
    opacity: 0;
    transform: translate(-100%, 100%);
  }
  100% {
    -webkit-transform: translate(0, 0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@-webkit-keyframes intersected_ef_rb {
  0% {
    -webkit-transform: translate(100%, 100%);
    opacity: 0;
    transform: translate(100%, 100%);
  }
  100% {
    -webkit-transform: translate(0, 0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes intersected_ef_rb {
  0% {
    -webkit-transform: translate(100%, 100%);
    opacity: 0;
    transform: translate(100%, 100%);
  }
  100% {
    -webkit-transform: translate(0, 0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@-webkit-keyframes intersected_ef_l {
  0% {
    -webkit-transform: translateX(-100%);
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes intersected_ef_l {
  0% {
    -webkit-transform: translateX(-100%);
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes intersected_ef_r {
  0% {
    -webkit-transform: translateX(100%);
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0);
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes intersected_ef_r {
  0% {
    -webkit-transform: translateX(100%);
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0);
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes intersected_ef_t {
  0% {
    -webkit-transform: translateY(-100%);
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes intersected_ef_t {
  0% {
    -webkit-transform: translateY(-100%);
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes intersected_ef_b {
  0% {
    -webkit-transform: translateY(100%);
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes intersected_ef_b {
  0% {
    -webkit-transform: translateY(100%);
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}
.front-page .big_menu .observe.block:before {
  transition: all 0.3s ease-out;
}
.front-page .big_menu .observe.block.ef_l:before {
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.front-page .big_menu .observe.block.ef_l.intersected:before {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.front-page .big_menu .observe.block.ef_r:before {
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
}
.front-page .big_menu .observe.block.ef_r.intersected:before {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.front-page .big_menu .observe.block.ef_t:before {
  -webkit-transform: translateY(-40%);
  transform: translateY(-40%);
}
.front-page .big_menu .observe.block.ef_t.intersected:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.front-page .big_menu .observe.block.ef_b:before {
  -webkit-transform: translateY(40%);
  transform: translateY(40%);
}
.front-page .big_menu .observe.block.ef_b.intersected:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.front-page .big_menu .observe:not(.block) {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.front-page .big_menu .observe:not(.block).dtl {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.front-page .big_menu .observe:not(.block).intersected.ef_lb {
  -webkit-animation: intersected_ef_lb 0.3s ease-out forwards;
  animation: intersected_ef_lb 0.3s ease-out forwards;
}
.front-page .big_menu .observe:not(.block).intersected.ef_rb {
  -webkit-animation: intersected_ef_rb 0.3s ease-out forwards;
  animation: intersected_ef_rb 0.3s ease-out forwards;
}
.front-page .big_menu .observe:not(.block).intersected.ef_l {
  -webkit-animation: intersected_ef_l 0.3s ease-out forwards;
  animation: intersected_ef_l 0.3s ease-out forwards;
}
.front-page .big_menu .observe:not(.block).intersected.ef_r {
  -webkit-animation: intersected_ef_r 0.3s ease-out forwards;
  animation: intersected_ef_r 0.3s ease-out forwards;
}
.front-page .big_menu .observe:not(.block).intersected.ef_t {
  -webkit-animation: intersected_ef_t 0.3s ease-out forwards;
  animation: intersected_ef_t 0.3s ease-out forwards;
}
.front-page .big_menu .observe:not(.block).intersected.ef_b {
  -webkit-animation: intersected_ef_b 0.3s ease-out forwards;
  animation: intersected_ef_b 0.3s ease-out forwards;
}

/* ------------------------------ */
/* frontpage：jumbotron: topics */
/* ------------------------------ */
.front-page .topics {
  background: url(../img/front/bg_topics.jpg) no-repeat;
  background-size: cover;
  padding: 70px 0 80px;
}
@media (min-width: 768px) {
  .front-page .topics {
    min-height: 100vh;
  }
}
.front-page .topics .head {
  align-items: end;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 35%;
  justify-content: space-between;
}
@media (min-width: 576px) {
  .front-page .topics .head {
    grid-template-columns: 1fr 30%;
  }
}
@media (min-width: 768px) {
  .front-page .topics .head {
    grid-template-columns: 1fr 25%;
  }
}
.front-page .topics .head .title .m {
  color: #FFFFE0;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 2.85px;
  line-height: 1;
}
@media (min-width: 768px) {
  .front-page .topics .head .title .m {
    font-size: 38px;
  }
}
.front-page .topics .head .title .m .thin {
  font-weight: 100;
}
.front-page .topics .head .title .s {
  color: #FFFFE0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.7px;
  line-height: 1;
  margin-top: 1.14em;
}
.front-page .topics .head .more {
  --link-color: #ffffff;
  --link-color-hover: #2669B7;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  align-items: start;
  border: 3px solid #ffffff;
  border-radius: 5px;
  display: grid;
  font-size: 14px;
  font-weight: bold;
  grid-template-rows: 30px 2em;
  justify-content: center;
  line-height: 1;
  padding: 0 1em;
  transition: all 0.3s ease-out;
}
.front-page .topics .head .more:before {
  content: "\e908";
  font-size: 12px;
  font-weight: bold;
  place-self: center;
}
.front-page .topics .head .more:hover {
  background: #ffffff;
}
@media (min-width: 768px) {
  .front-page .topics .head .more {
    align-items: center;
    display: flex;
    font-size: 16px;
    gap: 10px;
    justify-content: center;
    padding: 1.25em 0;
  }
  .front-page .topics .head .more:before {
    font-size: 1em;
  }
}
.front-page .topics .topics__select {
  margin: 40px 0;
}
@media (min-width: 576px) {
  .front-page .topics .topics__select {
    margin: 30px 0;
  }
}
.front-page .topics input[name=topics_tab] {
  display: none;
}
.front-page .topics input[name=topics_tab] + .topics__items {
  display: none;
}
.front-page .topics input[name=topics_tab]:checked + .topics__items {
  display: grid;
}

/* ------------------------------ */
/* part：斜めカット */
/* ------------------------------ */
:root {
  --slant_bg__aspect-ratio: 6.5;
  --slant_bg__clip_lt: polygon(0% 0%, 100% 95%, 100% 100%, 0 100%);
  --slant_bg__clip_rt: polygon(100% 0%, 100% 100%, 0 100%, 0 95%);
  --slant_bg__max-height: 200px;
}

.child-page_guidance-high.page_overseas-experience .sec_cover, .voice, .grad_slant {
  position: relative;
  z-index: 0;
}
.child-page_guidance-high.page_overseas-experience .sec_cover > .bg, .voice > .bg, .grad_slant > .bg {
  aspect-ratio: var(--slant_bg__aspect-ratio);
  left: 0;
  max-height: var(--slant_bg__max-height);
  position: absolute;
  width: 100%;
}
.child-page_guidance-high.page_overseas-experience .sec_cover > .inner, .voice > .inner, .grad_slant > .inner {
  position: relative;
  z-index: 1;
}

.voice > .bg:before, .grad_slant > .bg:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.child-page_guidance-high.page_overseas-experience .sec_cover > .bg:after, .voice > .bg:after, .grad_slant > .bg:after {
  content: "";
  height: 101%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* ------------------------------ */
/* page：斜めグラデーション背景 */
/* ------------------------------ */
.grad_slant {
  background: transparent linear-gradient(126deg, #D6EBFF 0%, #FFFFD6 100%) 0% 0% no-repeat padding-box;
  display: block;
  overflow: hidden;
  position: relative;
}
.grad_slant > .bg.top {
  top: 0;
}
.grad_slant > .bg.top:before {
  -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 95%);
  background: #ffffff;
  clip-path: polygon(0% 0%, 100% 0, 100% 95%);
}
.grad_slant > .bg.top:after {
  display: none;
}
.grad_slant > .bg.bottom {
  bottom: 0;
}
.grad_slant > .bg.bottom:before {
  display: none;
}
.grad_slant > .bg.bottom:after {
  -webkit-clip-path: polygon(0% 5%, 100% 100%, 0% 100%);
  background: #ffffff;
  clip-path: polygon(0% 5%, 100% 100%, 0% 100%);
}

/* ------------------------------ */
/* page：子ページ一覧 */
/* ------------------------------ */
.page_children_block {
  --slant_bg__aspect-ratio: 10.66;
}

.page__body:has(.page_children_block) {
  padding-bottom: 0;
}

.page_children_cards {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(2, 1fr);
  grid-template-columns: repeat(3, 1fr);
}
.page_children_cards a {
  border-radius: 10px;
  border-width: 2px;
  display: block;
  overflow: hidden;
  position: relative;
}
.page_children_cards a:hover {
  border-color: #2669B7;
}
.page_children_cards a .img {
  overflow: hidden;
  width: 100%;
}
.page_children_cards a .img img {
  -o-object-fit: contain;
  aspect-ratio: 1.521;
  object-fit: contain;
  width: 100%;
}
.page_children_cards a .title {
  align-content: end;
  background: transparent linear-gradient(180deg, #00000000 0%, #00000080 100%) 0% 0% no-repeat padding-box;
  bottom: 0;
  display: grid;
  height: 50%;
  justify-content: start;
  left: 0;
  padding: 0 0 20px 20px;
  position: absolute;
  width: 100%;
}
.page_children_cards a .title .ja {
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.3333;
}

/* ------------------------------ */
/* page：兄弟ページ一覧 */
/* ------------------------------ */
.page_siblings_block {
  --slant_bg__aspect-ratio: 25.6;
}
.page_siblings_block .bg {
  position: relative;
}

.page_siblings {
  -moz-column-gap: 4%;
  -webkit-column-gap: 4%;
  column-gap: 4%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-bottom: 40px !important;
  padding-top: 40px !important;
  row-gap: 20px;
}
@media (min-width: 768px) {
  .page_siblings {
    -moz-column-gap: 20px;
    -webkit-column-gap: 20px;
    column-gap: 20px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.page_siblings a {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  --trimark_border: 2px;
  --trimark_color: #ffffff;
  --trimark_radius: 10px;
  --trimark_size: 20px;
  background: #2669B7;
  border-radius: 10px;
  border-width: 2px;
  display: grid;
  font-size: 14px;
  font-weight: 600;
  height: 4.6em;
  letter-spacing: 0.05em;
  line-height: 1.4286;
  place-items: center;
}

#site__body:has(.page_siblings_block) + .page_menu_block {
  padding-top: 30px;
}

/* ------------------------------ */
/* page：＊＊の声 */
/* ------------------------------ */
.voice {
  background: linear-gradient(180deg, transparent 0%, transparent 0.5%, #2669B7 0.5%, #2669B7 100%);
}
.voice > .bg {
  background: #ffffff;
  top: 0;
}
.voice.person_right > .bg:before {
  -webkit-clip-path: var(--slant_bg__clip_rt);
  background: #FFFFC4;
  clip-path: var(--slant_bg__clip_rt);
}
.voice.person_right > .bg:after {
  -webkit-clip-path: var(--slant_bg__clip_lt);
  background: #2669B7;
  clip-path: var(--slant_bg__clip_lt);
}
.voice.person_left > .bg:before {
  -webkit-clip-path: var(--slant_bg__clip_lt);
  background: #FFFFC4;
  clip-path: var(--slant_bg__clip_lt);
}
.voice.person_left > .bg:after {
  -webkit-clip-path: var(--slant_bg__clip_rt);
  background: #2669B7;
  clip-path: var(--slant_bg__clip_rt);
}
.voice > .inner {
  display: grid;
  grid-template: "label" auto "catch" auto "img" auto "txt" 1fr/1fr;
  min-height: 80px;
}
@media (min-width: 992px) {
  .voice > .inner {
    -moz-column-gap: 5%;
    -webkit-column-gap: 5%;
    column-gap: 5%;
  }
  .voice.person_left > .inner {
    grid-template: "img label" auto "img catch" auto "img txt" 1fr/clamp(380px, 45%, 450px) 1fr;
  }
  .voice.person_right > .inner {
    grid-template: "label img" auto "catch img" auto "txt img" 1fr/1fr clamp(380px, 45%, 450px);
  }
}
.voice .label {
  margin-top: min(calc(var(--slant_bg__max-height) / 2), calc(100vw / (var(--slant_bg__aspect-ratio) * 1.4)));
}
.voice .label p {
  background: #ffffff;
  border-radius: 5px;
  color: #2669B7;
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  height: 2em;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.5em 0.857em;
}
.voice p.catch {
  color: #ffffff;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 0.9em;
}
.voice p.catch span {
  white-space: normal;
}
@media (min-width: 768px) {
  .voice p.catch span {
    white-space: nowrap;
  }
}
.voice p.msg {
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-top: 1.875em;
  padding-bottom: 2em;
}
.voice .img {
  align-content: end;
  display: grid;
  grid-area: img;
  justify-items: center;
  justify-self: center;
  margin-top: 10px;
  max-width: 400px;
  position: relative;
}
@media (min-width: 992px) {
  .voice .img {
    justify-self: auto;
    margin-top: 0;
    max-width: none;
  }
}
.voice .img img {
  width: 100%;
}
.voice .img .prof {
  bottom: 50px;
  display: grid;
  font-weight: 500;
  grid-template-columns: auto;
  position: absolute;
  text-align: right;
}
.voice .img .prof p {
  background: #ffffff;
  color: #2669B7;
  display: inline-block;
  letter-spacing: 0.1em;
}
.voice .img .prof p:before {
  content: "";
  display: block;
  height: 1px;
  width: 1px;
}
.voice .img .prof .course {
  font-size: 12px;
  line-height: 1.5;
}
.voice .img .prof .name {
  font-size: 20px;
  line-height: 1.4;
  margin-top: 6px;
}
.voice .img .prof .name span {
  font-size: 16px;
}
.voice .img .prof .note {
  font-size: 13px;
  line-height: 1.46;
  margin-top: 10px;
}

/* ------------------------------ */
/* page：斜めカット画像 */
/* ------------------------------ */
.cut-lt {
  -webkit-clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
}

.cut-lb {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 13% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 13% 100%);
}

.cut-rt {
  -webkit-clip-path: polygon(0 0, 87% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 0, 87% 0, 100% 100%, 0 100%);
}

.cut-rb {
  -webkit-clip-path: polygon(0 0, 100% 0, 87% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 87% 100%, 0 100%);
}

/* ------------------------------ */
/* page */
/* ------------------------------ */
.page__header {
  position: relative;
}
.page__header .cover_image {
  bottom: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.page__header .cover_image img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.page__header .cover_image:before {
  background: #222D39 0% 0% no-repeat padding-box;
  content: "";
  height: 100%;
  left: 0;
  mix-blend-mode: hard-light;
  opacity: 0.4;
  position: absolute;
  top: 0;
  width: 100%;
}
.page__header .cover_image:after {
  background: transparent linear-gradient(180deg, #000000 0%, #00000000 100%) 0% 0% no-repeat padding-box;
  content: "";
  height: 140px;
  left: 0;
  opacity: 0.4;
  position: absolute;
  top: 0;
  width: 100%;
}
.page__header:not(.narrow) > .inner {
  aspect-ratio: 2.1333;
}
.page__header.narrow > .inner {
  aspect-ratio: 3.5854;
}
.page__header > .inner {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 280px;
}
@media (min-width: 768px) {
  .page__header > .inner {
    grid-template-rows: 1fr minmax(80px, 25%);
  }
}
.page__header > .inner .page_title {
  align-self: end;
  padding-bottom: 20px;
  text-align: center;
}
.page__header > .inner .page_title .en {
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.4375;
  text-transform: uppercase;
}
.page__header > .inner .page_title .ja {
  color: #FFFFFF;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.45;
}
.page__header > .inner .page_title .en + .ja,
.page__header > .inner .page_title .ja + .en {
  margin-top: 10px;
}
@media (min-width: 576px) {
  .page__header > .inner .page_title {
    padding-bottom: 25px;
  }
  .page__header > .inner .page_title .en {
    font-size: 14px;
  }
  .page__header > .inner .page_title .ja {
    font-size: 32px;
  }
}
@media (min-width: 768px) {
  .page__header > .inner .page_title {
    padding-bottom: 30px;
  }
  .page__header > .inner .page_title .en {
    font-size: 15px;
  }
  .page__header > .inner .page_title .ja {
    font-size: 36px;
  }
}
@media (min-width: 992px) {
  .page__header > .inner .page_title .en {
    font-size: 16px;
  }
  .page__header > .inner .page_title .ja {
    font-size: 40px;
  }
}
.page__header > .inner .topic_path {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  align-self: start;
  border-top: 1px solid #D3D3D3;
  font-size: 12px;
  padding-bottom: 10px;
  padding-top: 20px;
}
@media (min-width: 768px) {
  .page__header > .inner .topic_path {
    font-size: 14px;
  }
}
.page__header > .inner .topic_path ol {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  row-gap: 10px;
}
.page__header > .inner .topic_path ol li {
  align-items: center;
  color: #ffffff;
  display: flex;
}
.page__header > .inner .topic_path ol li:not(:last-child):after {
  content: "\e901";
  display: inline-block;
  font-size: 13px;
  margin: 0 10px;
}
.page__header > .inner .topic_path a {
  background: #2669B7;
  border-radius: 3px;
  border-width: 1px;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  padding: 0.5em;
}
.page__header > .inner .topic_path a:hover {
  background: transparent;
}

.page__body {
  overflow: hidden;
  padding-bottom: 70px;
  padding-top: 100px;
}
.page__body > .inner,
.page__body .block > .inner {
  padding-top: 0.1px;
}

.hedding_with_underline, .single-information .article_title, .single-topics .article_title, .post-type_page .page__body h2 {
  border-bottom: 1px solid #EAEAEA;
  padding-bottom: 0.833em;
  position: relative;
}
.hedding_with_underline:after, .single-information .article_title:after, .single-topics .article_title:after, .post-type_page .page__body h2:after {
  background: #2669B7;
  bottom: -1px;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100px;
}

.post-type_page .page__body {
  counter-reset: h2counter;
}
.post-type_page .page__body h2 {
  color: #2669B7;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4667;
  margin-top: 80px;
}
.post-type_page .page__body h2:before {
  content: "Contents " counter(h2counter, decimal-leading-zero);
  counter-increment: h2counter;
  display: block;
  font-size: 15px;
  font-weight: semi-bold;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 0.6667em;
}
.post-type_page .page__body h2.white {
  border-bottom: 1px solid rgba(234, 234, 234, 0.3);
  color: #ffffff;
}
.post-type_page .page__body h2.white:after {
  background: #ffffff;
}
.post-type_page .page__body h2 + * {
  margin-top: 40px;
}
.post-type_page .page__body h3 {
  background: #2669B7;
  color: #ffffff;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: 1.454;
  padding: 0.54em 0.68em;
}
.post-type_page .page__body h3 + * {
  margin-top: 30px;
}
.post-type_page .page__body .head_msg {
  color: #2669B7;
  font-size: 20px;
  font-weight: bold;
  padding: clamp(60px, 18vw, 100px) 0;
}
.post-type_page .page__body .head_msg span {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .post-type_page .page__body .head_msg {
    font-size: 22px;
  }
}
@media (min-width: 992px) {
  .post-type_page .page__body .head_msg {
    font-size: 24px;
  }
}
.post-type_page .page__body .head_msg .quote {
  color: #2669B7;
  margin: 0 auto;
  width: 87.5%;
}
@media (min-width: 576px) {
  .post-type_page .page__body .head_msg .quote {
    width: 82%;
  }
}
@media (min-width: 768px) {
  .post-type_page .page__body .head_msg .quote {
    width: 76%;
  }
}
@media (min-width: 992px) {
  .post-type_page .page__body .head_msg .quote {
    width: min(1000px, 70%);
  }
}
.post-type_page .page__body .head_msg .quote span {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .post-type_page .page__body .head_msg .quote span {
    white-space: normal;
  }
}
.post-type_page .page__body .head_msg dl {
  display: grid;
  grid-template-columns: 3.5em auto;
  margin-top: 30px;
}
.post-type_page .page__body .head_msg dl dt,
.post-type_page .page__body .head_msg dl dd {
  display: inline-block;
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 10px;
}
.post-type_page .page__body:has(.head_msg) {
  margin-top: 0;
  padding-top: 0;
}

/* ------------------------------ */
/* 画像とテキスト */
/* ------------------------------ */
.imgtxt, .block > .inner.overflow_imgtxt {
  display: grid;
  gap: 20px;
  grid-template: "txt" auto "img" auto/1fr;
}
.imgtxt .img, .block > .inner.overflow_imgtxt .img {
  grid-area: img;
}
.imgtxt .img img, .block > .inner.overflow_imgtxt .img img {
  width: 100%;
}
.imgtxt .txt, .block > .inner.overflow_imgtxt .txt {
  align-self: center;
  grid-area: txt;
}
.imgtxt .txt .heading, .block > .inner.overflow_imgtxt .txt .heading {
  border-left: 4px solid #2669B7;
  color: #2669B7;
  margin-top: 60px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .imgtxt .txt .heading, .block > .inner.overflow_imgtxt .txt .heading {
    margin-top: 30px;
  }
}
.imgtxt .txt .heading .en, .block > .inner.overflow_imgtxt .txt .heading .en {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6429;
}
.imgtxt .txt .heading .ja, .block > .inner.overflow_imgtxt .txt .heading .ja {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4667;
  margin-top: 5px;
}
.imgtxt .txt .heading.academic-ability .ja, .block > .inner.overflow_imgtxt .txt .heading.academic-ability .ja {
  letter-spacing: 0.6em;
}
.imgtxt .txt .label, .block > .inner.overflow_imgtxt .txt .label {
  color: #2669B7;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8182;
}
.imgtxt .txt .heading + .label, .block > .inner.overflow_imgtxt .txt .heading + .label {
  margin-top: 2.27em;
}
.imgtxt .txt .dtl, .block > .inner.overflow_imgtxt .txt .dtl {
  margin-top: 2.5em;
}
@media (min-width: 768px) {
  .imgtxt, .block > .inner.overflow_imgtxt {
    gap: 7.8%;
  }
  .imgtxt.img_l, .block > .img_l.inner.overflow_imgtxt {
    grid-template: "img txt" auto/52% 1fr;
  }
  .imgtxt.img_l .img, .block > .img_l.inner.overflow_imgtxt .img {
    justify-self: start;
  }
  .imgtxt.img_r, .block > .img_r.inner.overflow_imgtxt {
    grid-template: "txt img" auto/1fr 52%;
  }
  .imgtxt.img_r .img, .block > .img_r.inner.overflow_imgtxt .img {
    justify-self: end;
  }
}
@media (min-width: 992px) {
  .imgtxt.img_l, .block > .img_l.inner.overflow_imgtxt {
    grid-template-columns: 55% 1fr;
  }
  .imgtxt.img_r, .block > .img_r.inner.overflow_imgtxt {
    grid-template-columns: 1fr 55%;
  }
}

.imgtxts {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* ------------------------------ */
/* はみ出し画像とテキスト */
/* ------------------------------ */
.block > .inner.overflow_imgtxt {
  max-width: 1280px;
  padding-left: 0;
  padding-right: 0;
}
.block > .inner.overflow_imgtxt .txt {
  padding-left: clamp(10px, 5vw, 30px);
  padding-right: clamp(10px, 5vw, 30px);
}
@media (min-width: 768px) {
  .block > .inner.overflow_imgtxt.img_l .txt {
    padding-left: 0;
  }
  .block > .inner.overflow_imgtxt.img_r .txt {
    padding-right: 0;
  }
}
@media (min-width: 1160px) {
  .block > .inner.overflow_imgtxt.img_l .txt {
    padding-right: calc((100vw - 1100px) / 2);
  }
  .block > .inner.overflow_imgtxt.img_r .txt {
    padding-left: calc((100vw - 1100px) / 2);
  }
}
@media (min-width: 1280px) {
  .block > .inner.overflow_imgtxt.img_l .txt {
    padding-right: calc((1280px - 1100px) / 2);
  }
  .block > .inner.overflow_imgtxt.img_r .txt {
    padding-left: calc((1280px - 1100px) / 2);
  }
}

/* ------------------------------ */
/* はみ出して上にずれる画像とテキスト */
/* ------------------------------ */
@media (min-width: 768px) {
  .block > .inner.overflow_imgtxt.img_up_shift {
    padding-bottom: 100px;
  }
  .block > .inner.overflow_imgtxt.img_up_shift:nth-of-type(1) {
    margin-top: 30px;
  }
  .block > .inner.overflow_imgtxt.img_up_shift:nth-last-of-type(1) {
    padding-bottom: 70px;
  }
  .block > .inner.overflow_imgtxt.img_up_shift .img {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  .block > .inner.overflow_imgtxt.img_up_shift + .block > .inner.overflow_imgtxt.img_up_shift {
    margin-top: 0;
  }
}

/* ------------------------------ */
/* テキスト // sentence */
/* ------------------------------ */
p.sent {
  color: #393939;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
}

.catch_sent .catch {
  color: #2669B7;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8182;
}
.catch_sent .sent {
  margin-top: 1.875em;
}

/* ------------------------------ */
/* クォーテーション付きテキスト */
/* ------------------------------ */
.quote {
  padding: 1.5em 0 0 0.83em;
  position: relative;
}
.quote:before {
  color: #2669B7;
  content: "\e909";
  font-size: 0.83em;
  left: 0;
  position: absolute;
  top: 0;
}

/* ------------------------------ */
/* テキスト付き画像カード（タイル） */
/* ------------------------------ */
.dtl_cards {
  display: grid;
  gap: clamp(20px, 4vw, 40px);
  grid-template-columns: 1fr;
}
@media (min-width: 576px) {
  .dtl_cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
.dtl_cards .card .img {
  border-radius: 10px;
}
.dtl_cards .card .img img {
  width: 100%;
}
.dtl_cards .card .label {
  color: #2669B7;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.44;
  margin-top: 1.11em;
}
.dtl_cards .card .dtl {
  color: #393939;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.785;
  margin-top: 1.1em;
}

/* ------------------------------ */
/* 隅に三角形マーク */
/* ------------------------------ */
:root {
  --trimark_color: #ffffff;
  --trimark_size: 15px;
}

.trimark, .trimark_rb, .single-information .golist, .single-topics .golist, .child-page_school-life.page_club .inpage .link_button, .child-page_guidance-junior.page_curriculum .high_course a, .page_siblings a, .trimark_lt, .child-page_school-life.page_club .block.club .cards .item, .child-page_guidance-junior.page_english_math_course .dtl_cards, .box_detail li {
  position: relative;
}
.trimark:after, .trimark_rb:after, .single-information .golist:after, .single-topics .golist:after, .child-page_school-life.page_club .inpage .link_button:after, .child-page_guidance-junior.page_curriculum .high_course a:after, .page_siblings a:after, .trimark_lt:after, .child-page_school-life.page_club .block.club .cards .item:after, .child-page_guidance-junior.page_english_math_course .dtl_cards:after, .box_detail li:after {
  border-style: solid;
  border-width: calc(var(--trimark_size) / 2);
  content: "";
  display: block;
  position: absolute;
}

.trimark_lt:after, .child-page_school-life.page_club .block.club .cards .item:after, .child-page_guidance-junior.page_english_math_course .dtl_cards:after, .box_detail li:after {
  border-color: var(--trimark_color) transparent transparent var(--trimark_color);
  border-top-left-radius: var(--trimark_radius);
  left: calc(0px - var(--trimark_border));
  top: calc(0px - var(--trimark_border));
}

.trimark_rb:after, .single-information .golist:after, .single-topics .golist:after, .child-page_school-life.page_club .inpage .link_button:after, .child-page_guidance-junior.page_curriculum .high_course a:after, .page_siblings a:after {
  border-bottom-right-radius: var(--trimark_radius);
  border-color: transparent var(--trimark_color) var(--trimark_color) transparent;
  bottom: calc(0px - var(--trimark_border));
  right: calc(0px - var(--trimark_border));
}

/* ------------------------------ */
/* 画像に重なる「影」をつける */
/* ------------------------------ */
.shiftimg {
  display: grid;
  grid-template-columns: 20px auto 20px;
  grid-template-rows: 20px auto 20px;
  width: 100%;
}
@media (min-width: 768px) {
  .shiftimg {
    grid-template-columns: min(30px, 2.8vw) auto min(30px, 2.8vw);
    grid-template-rows: min(30px, 2.8vw) auto min(30px, 2.8vw);
  }
}
.shiftimg img {
  grid-area: 1/1/span 2/span 2;
  width: 100%;
  z-index: 1;
}
.shiftimg:after {
  background-color: #2669B7;
  content: "";
  grid-area: 2/2/span 2/span 2;
}

/* ------------------------------ */
/* 左右に背景色をはみ出させる */
/* ------------------------------ */
.overflow_x,
.overflow_l,
.overflow_r {
  position: relative;
}
.overflow_x:before,
.overflow_l:before,
.overflow_r:before {
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
}

.overflow_x:before {
  left: -100vw;
  width: 200vw;
}

.overflow_l:before {
  right: 50%;
  width: 100vw;
}

.overflow_r:before {
  left: 50%;
  width: 100vw;
}

.overflow_lbg {
  background: #F2F4F7;
}
.overflow_lbg:before {
  background: #F2F4F7;
}

.overflow_w_lbg {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 40%, #F2F4F7 40%, #F2F4F7 100%);
}
.overflow_w_lbg:before {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 40%, #F2F4F7 40%, #F2F4F7 100%);
}

.overflow_la {
  background: #E2F3FB;
}
.overflow_la:before {
  background: #E2F3FB;
}

.overflow_ly {
  background: #FFFFE0;
}
.overflow_ly:before {
  background: #FFFFE0;
}

/* ------------------------------ */
/* page：学校概要：教育理念 */
/* ------------------------------ */
.box_detail {
  -moz-column-gap: 2%;
  -webkit-column-gap: 2%;
  column-gap: 2%;
  display: grid;
  grid-template-columns: 1fr;
  list-style: none;
  padding: 0;
  row-gap: 20px;
}
@media (min-width: 768px) {
  .box_detail {
    grid-template-columns: repeat(3, 1fr);
  }
}
.box_detail li {
  --trimark_border: 1px;
  --trimark_color: #2669B7;
  --trimark_radius: 10px;
  --trimark_size: 30px;
  border: 1px solid #2669B7;
  border-radius: 10px;
  overflow: hidden;
  padding: 34px 10%;
}
.box_detail li p {
  font-size: 15px;
  letter-spacing: 0.025em;
  line-height: 1.7333;
}
.box_detail li p.heading {
  color: #2669B7;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.4706;
  margin-bottom: 0.647em;
}

.child-page_summary.page_school-greeting .block > .inner.greeting.overflow_imgtxt {
  padding-bottom: 80px;
}
.child-page_summary.page_school-greeting .block > .inner.greeting.overflow_imgtxt .txt h2 {
  margin-top: 0;
}
@media (min-width: 768px) {
  .child-page_summary.page_school-greeting .block > .inner.greeting.overflow_imgtxt {
    gap: 4.6%;
  }
}
.child-page_summary.page_school-greeting .block .img_inner {
  position: relative;
}
.child-page_summary.page_school-greeting .block .img_inner:before {
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.5) 100%);
  bottom: 0;
  content: "";
  display: block;
  height: 130px;
  left: 0;
  position: absolute;
  width: 100%;
}
.child-page_summary.page_school-greeting .block .img_inner .president {
  bottom: 35px;
  padding-right: clamp(10px, 5vw, 30px);
  position: absolute;
  right: 0;
  text-align: right;
}
@media (min-width: 1160px) {
  .child-page_summary.page_school-greeting .block .img_inner .president {
    padding-right: calc((100vw - 1100px) / 2);
  }
}
@media (min-width: 1280px) {
  .child-page_summary.page_school-greeting .block .img_inner .president {
    padding-right: calc((1280px - 1100px) / 2);
  }
}
.child-page_summary.page_school-greeting .block .img_inner .president .title {
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1;
}
.child-page_summary.page_school-greeting .block .img_inner .president .name {
  color: #ffffff;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 0.72em;
}
.child-page_summary.page_school-greeting .philosophy {
  padding-bottom: 100px;
}
.child-page_summary.page_school-greeting .philosophy section + section {
  margin-top: 60px;
}
.child-page_summary.page_school-greeting .song {
  background: url("../img/page/summary/school-greeting/song_bg.jpg") no-repeat;
  background-size: cover;
  padding-bottom: 160px;
  padding-top: 40px;
  position: relative;
}
.child-page_summary.page_school-greeting .song:before {
  background: rgba(38, 105, 183, 0.7);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.child-page_summary.page_school-greeting .song > .inner {
  position: relative;
  z-index: 1;
}
.child-page_summary.page_school-greeting .song .made {
  color: #ffffff;
  list-style: none;
  padding: 0;
  text-align: right;
}
.child-page_summary.page_school-greeting .song .made li {
  display: inline-block;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-left: 2em;
}
.child-page_summary.page_school-greeting .song .lyrics {
  display: grid;
  gap: clamp(10px, 3vw, 40px);
  grid-template-columns: 1fr;
  list-style: none;
  margin-top: 40px;
  padding: 0;
}
@media (min-width: 768px) {
  .child-page_summary.page_school-greeting .song .lyrics {
    grid-template-columns: repeat(2, 1fr);
  }
}
.child-page_summary.page_school-greeting .song .lyrics > div {
  background: #FFFFFF;
  border-radius: 10px;
  padding: 34px 4%;
}
@media (min-width: 576px) {
  .child-page_summary.page_school-greeting .song .lyrics > div {
    padding: 36px 6%;
  }
}
@media (min-width: 768px) {
  .child-page_summary.page_school-greeting .song .lyrics > div {
    padding: 36px 8.5%;
  }
}
.child-page_summary.page_school-greeting .song .lyrics .part {
  color: #2669B7;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.075em;
}
.child-page_summary.page_school-greeting .song .lyrics .lyric {
  font-size: 14px;
  line-height: 2.2857;
  margin-top: 1.6667em;
}
@media (min-width: 576px) {
  .child-page_summary.page_school-greeting .song .lyrics .lyric {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}
@media (min-width: 768px) {
  .child-page_summary.page_school-greeting .song .lyrics .lyric {
    font-size: 15px;
  }
}
@media (min-width: 832px) {
  .child-page_summary.page_school-greeting .song .lyrics .lyric {
    font-size: 16px;
  }
}
@media (min-width: 895px) {
  .child-page_summary.page_school-greeting .song .lyrics .lyric {
    font-size: 17px;
  }
}
@media (min-width: 992px) {
  .child-page_summary.page_school-greeting .song .lyrics .lyric {
    font-size: 18px;
  }
}
.child-page_summary.page_school-greeting .history {
  display: grid;
  grid-template-columns: minmax(90px, 23%) 1fr;
  row-gap: 5px;
}
.child-page_summary.page_school-greeting .history dt,
.child-page_summary.page_school-greeting .history dd {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.8125;
  padding-bottom: 1.28em;
  padding-top: 1.28em;
}
.child-page_summary.page_school-greeting .history dt {
  background: #2669B7;
  color: #ffffff;
  font-weight: 500;
  text-align: center;
}
.child-page_summary.page_school-greeting .history dd {
  background: #F7F7F7;
  color: #393939;
  padding-left: 10px;
}

/* ------------------------------ */
/* page：中学：中高一貫教育 */
/* ------------------------------ */
.child-page_guidance-junior.page_consistent-education .page__body {
  margin-top: 0;
}

/* ------------------------------ */
/* page：中学：6年間のまなび */
/* ------------------------------ */
.child-page_guidance-junior.page_curriculum .page__body {
  margin-top: 0;
}
.child-page_guidance-junior.page_curriculum .manabi {
  background: #EAF2FA;
  padding: 100px 0;
}
.child-page_guidance-junior.page_curriculum .manabi > .inner {
  background: #FFFFFF;
  border: 1px solid #D3D3D3;
  border-radius: 8px;
  padding-bottom: clamp(10px, 2.6vw, 30px);
  padding-top: clamp(10px, 2.6vw, 30px);
}
.child-page_guidance-junior.page_curriculum .manabi .chart {
  -moz-column-gap: 2%;
  -webkit-column-gap: 2%;
  align-items: center;
  background-image: repeating-linear-gradient(0deg, #f7f7f7, #f7f7f7 70px, transparent 70px, transparent 80px);
  border-radius: 8px;
  column-gap: 2%;
  display: grid;
  grid-template: "span_j1j2 year_j1 course_j1j2j3 course_j1j2j3" 70px "span_j1j2 year_j2 course_j1j2j3 course_j1j2j3" 70px "span_j3h1 year_j3 course_j1j2j3 course_j1j2j3" 70px "span_j3h1 year_h1 course_h1     course_h1" 70px "span_h2h3 year_h2 course_h2h3_hum course_h2h3_sci" 70px "span_h2h3 year_h3 course_h2h3_hum course_h2h3_sci" 70px/auto 1fr 25% 25%;
  padding: 0 4%;
  row-gap: 10px;
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_curriculum .manabi .chart {
    grid-template-columns: auto 1fr 30% 30%;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_curriculum .manabi .chart {
    grid-template-columns: auto 1fr 34% 34%;
  }
}
.child-page_guidance-junior.page_curriculum .manabi .chart .span {
  background: #2669B7;
  border-radius: 5px;
  color: #ffffff;
  display: grid;
  height: 70px;
  place-content: center;
  place-items: center;
  width: 40px;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .span.j1j2 {
  grid-area: span_j1j2;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .span.j3h1 {
  grid-area: span_j3h1;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .span.h2h3 {
  grid-area: span_h2h3;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .span span {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3em;
  line-height: 1;
  margin-bottom: -0.3em;
  writing-mode: vertical-rl;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .year {
  color: #393939;
  font-size: 13px;
  font-weight: 600;
  justify-self: center;
  letter-spacing: 0.075em;
  line-height: 1;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .year.j1 {
  grid-area: year_j1;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .year.j2 {
  grid-area: year_j2;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .year.j3 {
  grid-area: year_j3;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .year.h1 {
  grid-area: year_h1;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .year.h2 {
  grid-area: year_h2;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .year.h3 {
  grid-area: year_h3;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course {
  -moz-column-gap: 5%;
  -webkit-column-gap: 5%;
  align-items: center;
  background: #ffffff;
  border: 2px solid #2669B7;
  border-radius: 7px;
  column-gap: 5%;
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 0 2vw;
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_curriculum .manabi .chart .course {
    padding: 0 min(30px, 3vw);
  }
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course .name {
  align-items: center;
  display: flex;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  position: relative;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course .name:before {
  aspect-ratio: 1;
  border-radius: 50%;
  content: "";
  display: block;
  margin-right: 0.3em;
  opacity: 0.2;
  width: 1.5em;
}
@media (min-width: 375px) {
  .child-page_guidance-junior.page_curriculum .manabi .chart .course .name:before {
    margin-right: 0.625em;
  }
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course .name:after {
  aspect-ratio: 1;
  border-radius: 50%;
  content: "";
  display: block;
  left: calc((1.5em - 0.4em) / 2);
  position: absolute;
  top: calc((1.5em - 0.4em) / 2);
  width: 0.4em;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course .links {
  --link-color: #393939;
  --link-color-hover: #2669B7;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  display: inline-flex;
  flex-direction: column;
  row-gap: 30px;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course .links a {
  align-items: center;
  display: flex;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course .links a:after {
  aspect-ratio: 1;
  background: #F7F7F7;
  border-radius: 50%;
  color: #A8A8A8;
  content: "\f175";
  display: inline-grid;
  font-size: 0.625em;
  margin-left: 1em;
  place-content: center;
  width: 2.6em;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.j1j2j3 {
  grid-area: course_j1j2j3;
  grid-template: "name name" auto ". links" 1fr/minmax(6px, 1fr) auto;
  height: 200px;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.j1j2j3 .name {
  color: #2669B7;
  grid-area: name;
  margin-bottom: 12px;
  margin-top: 18px;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.j1j2j3 .name:before, .child-page_guidance-junior.page_curriculum .manabi .chart .course.j1j2j3 .name:after {
  background: #2669B7;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.j1j2j3 .links {
  grid-area: links;
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_curriculum .manabi .chart .course.j1j2j3 {
    grid-template: "name links" auto/1fr auto;
  }
  .child-page_guidance-junior.page_curriculum .manabi .chart .course.j1j2j3 .name {
    margin-bottom: 0;
    margin-top: 0;
  }
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h1 {
  grid-area: course_h1;
  height: 64px;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h1 .name {
  color: #2669B7;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h1 .name:before, .child-page_guidance-junior.page_curriculum .manabi .chart .course.h1 .name:after {
  background: #2669B7;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_hum, .child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_sci {
  height: 124px;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_hum {
  grid-area: course_h2h3_hum;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_hum .name {
  color: #E68A09;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_hum .name:before, .child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_hum .name:after {
  background: #E68A09;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_sci {
  grid-area: course_h2h3_sci;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_sci .name {
  color: #5435BE;
}
.child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_sci .name:before, .child-page_guidance-junior.page_curriculum .manabi .chart .course.h2h3_sci .name:after {
  background: #5435BE;
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_curriculum .manabi .chart .year,
.child-page_guidance-junior.page_curriculum .manabi .chart .course .name,
.child-page_guidance-junior.page_curriculum .manabi .chart .course .links {
    font-size: 14px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_curriculum .manabi .chart .year,
.child-page_guidance-junior.page_curriculum .manabi .chart .course .name,
.child-page_guidance-junior.page_curriculum .manabi .chart .course .links {
    font-size: 16px;
  }
}
.child-page_guidance-junior.page_curriculum .voice {
  margin-top: 40px;
}
.child-page_guidance-junior.page_curriculum .high_course {
  -moz-column-gap: 4%;
  -webkit-column-gap: 4%;
  column-gap: 4%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 20px;
}
.child-page_guidance-junior.page_curriculum .high_course a {
  --hover_border: var(--trimark_color);
  --link-color: #393939;
  --link-color-hover: #393939;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  --trimark_border: 1px;
  --trimark_color: #2669B7;
  --trimark_radius: 10px;
  --trimark_size: 20px;
  background: #F7F7F7;
  border-radius: 10px;
  border-width: 1px;
  display: grid;
  font-size: 16px;
  font-weight: 600;
  height: 5.25em;
  place-items: center;
}

/* ------------------------------ */
/* page：中学：英数コース */
/* ------------------------------ */
.child-page_guidance-junior.page_english_math_course .page__body {
  margin-top: 0;
}
.child-page_guidance-junior.page_english_math_course .con_01 {
  padding-bottom: 90px;
}
.child-page_guidance-junior.page_english_math_course .dtl_cards {
  --trimark_border: 0;
  --trimark_color: #2669B7;
  --trimark_radius: 5px;
  --trimark_size: 30px;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px;
  margin-top: 40px;
  padding: 50px 0 50px min(100px, 7.68vw);
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_english_math_course .dtl_cards {
    --trimark_radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
  }
}

/* ------------------------------ */
/* page：中学：卒業生メッセージ */
/* ------------------------------ */
.child-page_guidance-junior.page_graduates-message .page__body {
  padding-top: 0;
}
.child-page_guidance-junior.page_graduates-message .message {
  counter-reset: chapter_counter;
  margin: 0 auto;
  position: relative;
}
.child-page_guidance-junior.page_graduates-message .message .message_label {
  border: none;
  color: #2669B7;
  font-size: 70px;
  font-weight: 700;
  left: 0;
  letter-spacing: 0em;
  line-height: 1;
  margin: 0;
  opacity: 0.5;
  padding: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}
@media (min-width: 425px) {
  .child-page_guidance-junior.page_graduates-message .message .message_label {
    font-size: 80px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_graduates-message .message .message_label {
    font-size: 90px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_graduates-message .message .message_label {
    font-size: 100px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-junior.page_graduates-message .message .message_label {
    font-size: 110px;
  }
}
.child-page_guidance-junior.page_graduates-message .message .main {
  position: relative;
  width: 100%;
}
.child-page_guidance-junior.page_graduates-message .message .main .bg {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 65%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 65%);
  width: 100%;
}
.child-page_guidance-junior.page_graduates-message .message .main > .inner {
  margin-top: -18%;
  position: relative;
  z-index: 1;
}
.child-page_guidance-junior.page_graduates-message .message .main .catch {
  color: #2669B7;
  display: flex;
  flex-direction: column;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 2.3333;
}
@media (min-width: 460px) {
  .child-page_guidance-junior.page_graduates-message .message .main .catch {
    font-size: 17px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_graduates-message .message .main .catch {
    font-size: 19px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_graduates-message .message .main .catch {
    font-size: 22px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-junior.page_graduates-message .message .main .catch {
    font-size: 25px;
  }
}
@media (min-width: 1200px) {
  .child-page_guidance-junior.page_graduates-message .message .main .catch {
    font-size: 27px;
  }
}
.child-page_guidance-junior.page_graduates-message .message .main .catch span {
  background: #ffffff;
  display: inline-block;
  padding: 0 0.7407em;
  white-space: nowrap;
}
.child-page_guidance-junior.page_graduates-message .message .main .prof {
  text-align: right;
}
.child-page_guidance-junior.page_graduates-message .message .main .prof .course {
  background: #2669B7;
  color: #ffffff;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 1em;
  padding: 0.75em 0.8em;
}
@media (min-width: 425px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .course {
    font-size: 15px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .course {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .course {
    font-size: 19px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .course {
    font-size: 20px;
  }
}
.child-page_guidance-junior.page_graduates-message .message .main .prof .name {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 1em;
}
@media (min-width: 425px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .name {
    font-size: 15px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .name {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .name {
    font-size: 19px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-junior.page_graduates-message .message .main .prof .name {
    font-size: 20px;
  }
}
.child-page_guidance-junior.page_graduates-message .message .main .prof .name span {
  font-size: 0.8em;
}
.child-page_guidance-junior.page_graduates-message .message .main .prof .desc {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6154;
  margin-top: 0.7692em;
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_graduates-message .message .main > .inner {
    bottom: 0;
    left: 0;
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 0;
  }
  .child-page_guidance-junior.page_graduates-message .message .main .catch {
    bottom: 20px;
    position: absolute;
  }
  .child-page_guidance-junior.page_graduates-message .message .main .prof {
    position: absolute;
    right: clamp(10px, 5vw, 30px);
    top: 20px;
  }
  .child-page_guidance-junior.page_graduates-message .message .main .prof .name,
.child-page_guidance-junior.page_graduates-message .message .main .prof .desc {
    color: #ffffff;
    text-shadow: 0px 0px 5px #00000033;
  }
}
.child-page_guidance-junior.page_graduates-message .message .main + .inner {
  margin-top: 60px;
}
.child-page_guidance-junior.page_graduates-message .message .chapter + .chapter {
  margin-top: 100px;
}
@media (min-width: 400px) {
  .child-page_guidance-junior.page_graduates-message .message.message01 .catch br {
    display: none;
  }
  .child-page_guidance-junior.page_graduates-message .message.message01 .catch div span:not(:first-child) {
    padding-left: 0;
  }
  .child-page_guidance-junior.page_graduates-message .message.message01 .catch div span:not(:last-child) {
    padding-right: 0;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-junior.page_graduates-message .message.message02 .catch br {
    display: none;
  }
  .child-page_guidance-junior.page_graduates-message .message.message02 .catch div span:not(:first-child) {
    padding-left: 0;
  }
  .child-page_guidance-junior.page_graduates-message .message.message02 .catch div span:not(:last-child) {
    padding-right: 0;
  }
}
.child-page_guidance-junior.page_graduates-message .message .chapter {
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.9375;
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_graduates-message .message .chapter {
    font-size: 15px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_graduates-message .message .chapter {
    font-size: 16px;
  }
}
.child-page_guidance-junior.page_graduates-message .message .chapter p {
  margin: 1em 0 0;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .lead {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8182;
  margin: 0;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .lead:before {
  content: "Contents " counter(chapter_counter, decimal-leading-zero);
  counter-increment: chapter_counter;
  display: block;
  font-size: 15px;
  font-weight: semi-bold;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 0.6667em;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .lead + p {
  margin-top: 40px;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .img {
  margin-top: 60px;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .img img {
  width: 100%;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y {
  border: 1px solid #D3D3D3;
  margin-top: 60px;
  padding: 4.3636% 0 2px;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h {
  font-size: 16px;
  font-weight: semi-bold;
  letter-spacing: 0.075em;
  line-height: 1;
  margin: 0 0 0 4.3636%;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .img {
  margin: 3.6364% 0 0;
  overflow-x: scroll;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .img img {
  height: 224px;
  margin: 0 4.3636%;
  margin-bottom: 30px;
  width: auto;
}
.child-page_guidance-junior.page_graduates-message .message .chapter .lead,
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h {
  color: #2669B7;
}
@media (min-width: 425px) {
  .child-page_guidance-junior.page_graduates-message .message .chapter .lead,
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h {
    font-size: 17px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_graduates-message .message .chapter .lead,
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h {
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-junior.page_graduates-message .message .chapter .lead,
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h {
    font-size: 21px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-junior.page_graduates-message .message .chapter .lead,
.child-page_guidance-junior.page_graduates-message .message .chapter .chart6y .h {
    font-size: 22px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-junior.page_graduates-message .message .chapter .col2 {
    display: grid;
    gap: 2.9091%;
    grid-template-columns: 1fr 40%;
  }
  .child-page_guidance-junior.page_graduates-message .message .chapter .col2 .img {
    margin: 1em 0 0;
  }
}
.child-page_guidance-junior.page_graduates-message .message + .message {
  margin-top: 100px;
}

/* ------------------------------ */
/* parts：高校：コースナビ */
/* ------------------------------ */
.high_course_nav {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  -moz-column-gap: 4%;
  -webkit-column-gap: 4%;
  column-gap: 4%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-top: 70px;
  row-gap: 20px;
}
@media (min-width: 576px) {
  .high_course_nav {
    -moz-column-gap: 3%;
    -webkit-column-gap: 3%;
    column-gap: 3%;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .high_course_nav {
    -moz-column-gap: 1.2%;
    -webkit-column-gap: 1.2%;
    column-gap: 1.2%;
    grid-template-columns: repeat(6, 1fr);
  }
}
.high_course_nav a {
  align-content: end;
  aspect-ratio: 0.82;
  border-radius: 10px;
  display: grid;
  overflow: hidden;
  padding: 10%;
  position: relative;
}
.high_course_nav a .ja {
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.44;
  z-index: 1;
}
.high_course_nav a .ja .y2 {
  display: block;
  font-size: 0.8em;
}
.high_course_nav a .en {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 1em;
  z-index: 1;
}
.high_course_nav a .img {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.high_course_nav a .img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.high_course_nav a:after {
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.7;
  position: absolute;
  transition: all 0 0.05s ease-out;
  width: 100%;
}
.high_course_nav a.course01:after {
  background: #2669B7;
}
.high_course_nav a.course02:after {
  background: #33BBCC;
}
.high_course_nav a.course03:after {
  background: #D36900;
}
.high_course_nav a.course04:after {
  background: #5435BE;
}
.high_course_nav a.course05:after {
  background: #B73BB2;
}
.high_course_nav a.course06:after {
  background: #D36900;
}
.high_course_nav a:hover .img img {
  opacity: 1;
}
.high_course_nav a:hover:after {
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.5) 100%) !important;
  height: 50%;
  transition: all 0.05s linear;
}

/* ------------------------------ */
/* page：高校：コースガイダンス */
/* ------------------------------ */
.child-page_guidance-high.page_course-guidance .page__body {
  margin-top: 70px;
}
.child-page_guidance-high.page_course-guidance .catch_sent + .high_course_nav {
  padding-top: 50px;
}

/* ------------------------------ */
/* page：高校：特進Ⅰ・Ⅱコース */
/* ------------------------------ */
.child-page_guidance-high.page_special-advance .page__body {
  margin-top: 60px;
}
.child-page_guidance-high.page_special-advance .head {
  position: relative;
}
.child-page_guidance-high.page_special-advance .head .head_msg {
  z-index: 2;
}
.child-page_guidance-high.page_special-advance .head .big_title {
  bottom: 60px;
  color: rgba(253, 253, 253, 0.8);
  font-size: 42px;
  font-weight: bold;
  left: -1%;
  position: absolute;
  z-index: 1;
}
@media (min-width: 375px) {
  .child-page_guidance-high.page_special-advance .head .big_title {
    font-size: 48px;
  }
}
@media (min-width: 425px) {
  .child-page_guidance-high.page_special-advance .head .big_title {
    font-size: 54px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-high.page_special-advance .head .big_title {
    font-size: 76px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .head .big_title {
    font-size: 98px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-high.page_special-advance .head .big_title {
    font-size: 118px;
  }
}
.child-page_guidance-high.page_special-advance .head .remark {
  color: #7C7C7C;
  font-size: 14px;
  margin-top: 30px;
}
.child-page_guidance-high.page_special-advance .grades {
  padding-top: 30px;
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .grades {
    padding-top: 40px;
  }
}
.child-page_guidance-high.page_special-advance .grades .grade {
  display: grid;
  padding-bottom: 30px;
  padding-top: 30px;
  place-items: center;
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .grades .grade {
    gap: clamp(30px, 3.8vw, 40px);
    grid-template-columns: auto 1fr;
    padding-bottom: 40px;
    padding-top: 40px;
  }
}
.child-page_guidance-high.page_special-advance .grades .grade:not(:last-child) {
  border-bottom: 1px solid #D3D3D3;
}
.child-page_guidance-high.page_special-advance .grades .grade .circle {
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  gap: 12px;
  place-content: center;
  place-items: center;
  width: 170px;
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .grades .grade .circle {
    width: clamp(120px, 15.6vw, 170px);
  }
}
.child-page_guidance-high.page_special-advance .grades .grade .circle p {
  color: #ffffff;
  line-height: 1;
}
.child-page_guidance-high.page_special-advance .grades .grade .circle .ja {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.child-page_guidance-high.page_special-advance .grades .grade .circle .en {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.child-page_guidance-high.page_special-advance .grades .grade .catch {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 1.5em;
  padding-left: 1.2em;
  position: relative;
}
.child-page_guidance-high.page_special-advance .grades .grade .catch:before, .child-page_guidance-high.page_special-advance .grades .grade .catch:after {
  aspect-ratio: 1;
  border-radius: 50%;
  content: "";
  display: inline-block;
  position: absolute;
}
.child-page_guidance-high.page_special-advance .grades .grade .catch:before {
  left: 0;
  top: 10px;
  width: 20px;
}
.child-page_guidance-high.page_special-advance .grades .grade .catch:after {
  left: 6px;
  top: 16px;
  width: 8px;
}
.child-page_guidance-high.page_special-advance .grades .grade .txt {
  color: #393939;
  font-size: 16px;
  letter-spacing: 0.075em;
  line-height: 1.75;
  margin-top: 1.5em;
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .grades .grade .catch {
    margin-top: 0;
  }
  .child-page_guidance-high.page_special-advance .grades .grade .txt {
    margin-top: 1.25em;
  }
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_1st .circle,
.child-page_guidance-high.page_special-advance .grades .grade.grade_1st .catch:after {
  background: #33BBCC;
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_1st .catch {
  color: #33BBCC;
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_1st .catch:before {
  background: rgba(51, 187, 204, 0.2);
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .grades .grade.grade_2nd {
    padding-left: min(115px, 6vw);
  }
}
@media (min-width: 992px) {
  .child-page_guidance-high.page_special-advance .grades .grade.grade_2nd {
    padding-left: min(115px, 8.984vw);
  }
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_2nd .circle,
.child-page_guidance-high.page_special-advance .grades .grade.grade_2nd .catch:after {
  background: #30A2DE;
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_2nd .catch {
  color: #30A2DE;
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_2nd .catch:before {
  background: rgba(48, 162, 222, 0.2);
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .grades .grade.grade_3rd {
    padding-left: min(230px, 12vw);
  }
}
@media (min-width: 992px) {
  .child-page_guidance-high.page_special-advance .grades .grade.grade_3rd {
    padding-left: min(230px, 17.968vw);
  }
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_3rd .circle,
.child-page_guidance-high.page_special-advance .grades .grade.grade_3rd .catch:after {
  background: #2669B7;
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_3rd .catch {
  color: #2669B7;
}
.child-page_guidance-high.page_special-advance .grades .grade.grade_3rd .catch:before {
  background: rgba(38, 105, 183, 0.2);
}
@media (min-width: 992px) {
  .child-page_guidance-high.page_special-advance .charts {
    display: grid;
    gap: 5%;
    grid-template-columns: 1fr auto;
  }
}
.child-page_guidance-high.page_special-advance .charts .timetable,
.child-page_guidance-high.page_special-advance .charts .results {
  margin-top: clamp(60px, 7.8vw, 90px);
}
.child-page_guidance-high.page_special-advance .charts .results {
  margin-bottom: clamp(60px, 7.8vw, 90px);
}
.child-page_guidance-high.page_special-advance .charts .title {
  border-bottom: 1px solid #D3D3D3;
  color: #2669B7;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 30px;
  padding-bottom: 9px;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner {
  -moz-column-gap: 5px;
  -webkit-column-gap: 5px;
  column-gap: 5px;
  display: grid;
  grid-template-columns: auto repeat(6, minmax(7em, 1fr));
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner p {
  color: #393939;
  font-size: 13px;
  line-height: 1.3;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner div {
  display: grid;
  place-content: center;
  place-items: center;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner .w {
  background: transparent;
  color: #2669B7;
  font-size: 14px;
  font-weight: 600;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner .h {
  background: #2669B7;
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  width: 5.8em;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner .ct {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner .cb {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner .cls {
  background: #F7F7F7;
  padding: 0.615em 10px;
}
.child-page_guidance-high.page_special-advance .charts .timetable .chart .inner .cls:not(.cb) {
  border-bottom: 1px solid #E5E5E5;
}
.child-page_guidance-high.page_special-advance .charts .timetable .hum {
  color: #E63C09 !important;
}
.child-page_guidance-high.page_special-advance .charts .timetable .sci {
  color: #2669B7 !important;
}
.child-page_guidance-high.page_special-advance .charts .timetable .remark {
  font-size: 12px;
  line-height: 1.4;
  margin-top: 10px;
}
.child-page_guidance-high.page_special-advance .charts .results ul {
  -moz-column-count: 2;
  -moz-column-gap: 1em;
  -webkit-column-count: 2;
  -webkit-column-gap: 1em;
  column-count: 2;
  column-gap: 1em;
  padding: 0;
}
@media (min-width: 576px) {
  .child-page_guidance-high.page_special-advance .charts .results ul {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_special-advance .charts .results ul {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-high.page_special-advance .charts .results ul {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
  }
}
.child-page_guidance-high.page_special-advance .charts .results li {
  font-size: 13px;
  line-height: 1.46;
  margin-bottom: 9px;
  margin-left: 1.6em;
}
.child-page_guidance-high.page_special-advance .charts .results li::marker {
  color: #2669B7;
}

/* ------------------------------ */
/* page：高校：海外体験プログラム */
/* ------------------------------ */
.child-page_guidance-high.page_overseas-experience .sec_cover img {
  width: 100%;
}
.child-page_guidance-high.page_overseas-experience .sec_cover .big_label {
  display: inline-block;
  position: absolute;
}
.child-page_guidance-high.page_overseas-experience .sec_cover .big_label p {
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  color: #2669B7;
  display: inline-block;
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 0.9701;
  text-transform: uppercase;
}
@media (min-width: 375px) {
  .child-page_guidance-high.page_overseas-experience .sec_cover .big_label p {
    font-size: 40px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-high.page_overseas-experience .sec_cover .big_label p {
    font-size: 70px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_overseas-experience .sec_cover .big_label p {
    font-size: 110px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-high.page_overseas-experience .sec_cover .big_label p {
    font-size: 134px;
  }
}
.child-page_guidance-high.page_overseas-experience .sec_cover > .bg {
  bottom: 0;
}
.child-page_guidance-high.page_overseas-experience .sec_cover.slant_rb .big_label {
  bottom: 0;
  left: 0;
}
.child-page_guidance-high.page_overseas-experience .sec_cover.slant_rb > .bg:after {
  -webkit-clip-path: var(--slant_bg__clip_lt);
  background: #ffffff;
  clip-path: var(--slant_bg__clip_lt);
}
.child-page_guidance-high.page_overseas-experience .sec_cover.slant_lb .big_label {
  bottom: 0;
  right: 0;
}
.child-page_guidance-high.page_overseas-experience .sec_cover.slant_lb > .bg:after {
  -webkit-clip-path: var(--slant_bg__clip_rt);
  background: #ffffff;
  clip-path: var(--slant_bg__clip_rt);
}
.child-page_guidance-high.page_overseas-experience .imgtxt, .child-page_guidance-high.page_overseas-experience .block > .inner.overflow_imgtxt {
  margin-top: 40px;
}
.child-page_guidance-high.page_overseas-experience .trip_label .label {
  border-left: 2px solid #2669B7;
  color: #2669B7;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4667;
  padding-left: 0.6667em;
}
@media (min-width: 375px) {
  .child-page_guidance-high.page_overseas-experience .trip_label .label {
    font-size: 25px;
  }
}
@media (min-width: 576px) {
  .child-page_guidance-high.page_overseas-experience .trip_label .label {
    font-size: 26px;
  }
}
@media (min-width: 768px) {
  .child-page_guidance-high.page_overseas-experience .trip_label .label {
    font-size: 28px;
  }
}
@media (min-width: 992px) {
  .child-page_guidance-high.page_overseas-experience .trip_label .label {
    font-size: 30px;
  }
}
.child-page_guidance-high.page_overseas-experience .trip_label .label:before {
  content: "school trip";
  display: block;
  font-size: 0.4667em;
  font-weight: semi-bold;
  letter-spacing: 0.05em;
  line-height: 1.6429;
  margin-bottom: 0.3571em;
}
.child-page_guidance-high.page_overseas-experience .trip_label .desc {
  color: #2669B7;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2.8571;
  margin-top: 1.0714em;
}
.child-page_guidance-high.page_overseas-experience .voice {
  margin-top: 50px;
}

/* ------------------------------ */
/* page：高校：進路指導 */
/* ------------------------------ */
.child-page_guidance-high.page_after-graduation .con_01 {
  padding-bottom: 90px;
}
.child-page_guidance-high.page_after-graduation .imgtxt .txt .dtl .sublist dd + dt, .child-page_guidance-high.page_after-graduation .block > .inner.overflow_imgtxt .txt .dtl .sublist dd + dt {
  margin-top: 1em;
}
.child-page_guidance-high.page_after-graduation .imgtxt.chart, .child-page_guidance-high.page_after-graduation .block > .chart.inner.overflow_imgtxt {
  gap: 30px;
}
.child-page_guidance-high.page_after-graduation .imgtxt.chart .img, .child-page_guidance-high.page_after-graduation .block > .chart.inner.overflow_imgtxt .img {
  height: 246px;
  overflow-x: scroll;
}
.child-page_guidance-high.page_after-graduation .imgtxt.chart .img img, .child-page_guidance-high.page_after-graduation .block > .chart.inner.overflow_imgtxt .img img {
  height: 100%;
  width: auto;
}
.child-page_guidance-high.page_after-graduation .imgtxt.chart .txt .dtl, .child-page_guidance-high.page_after-graduation .block > .chart.inner.overflow_imgtxt .txt .dtl {
  margin-top: 20px;
}

/* ------------------------------ */
/* page：学校生活：施設・設備 */
/* ------------------------------ */
.child-page_school-life.page_facility .pano a {
  aspect-ratio: 1.6556;
  display: block;
  position: relative;
}
.child-page_school-life.page_facility .pano a iframe {
  height: 100%;
  width: 100%;
}
.child-page_school-life.page_facility .pano a:after {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.child-page_school-life.page_facility .pano .big_label {
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  color: #2669B7;
  display: inline-block;
  font-size: 70px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1;
  position: relative;
  text-transform: uppercase;
  top: -0.1em;
  z-index: -1;
}
@media (min-width: 576px) {
  .child-page_school-life.page_facility .pano .big_label {
    font-size: 80px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_facility .pano .big_label {
    font-size: 90px;
  }
}
@media (min-width: 992px) {
  .child-page_school-life.page_facility .pano .big_label {
    font-size: 100px;
  }
}
.child-page_school-life.page_facility .row {
  margin-top: clamp(20px, 4vw, 40px);
}
.child-page_school-life.page_facility .row.col3 {
  margin-top: clamp(30px, 6vw, 60px);
}
.child-page_school-life.page_facility .row .item .img img {
  width: 100%;
}
.child-page_school-life.page_facility .row .item .label {
  color: #2669B7;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.4444;
  margin-top: 1.1111em;
}
@media (min-width: 576px) {
  .child-page_school-life.page_facility .row .item .label {
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_facility .row .item .label {
    font-size: 18px;
  }
}
.child-page_school-life.page_facility .row .item .dtl {
  font-size: 14px;
  letter-spacing: 0.025em;
  line-height: 1.8571;
  margin-top: 0.8571em;
}
.child-page_school-life.page_facility .row.col2 {
  -moz-column-gap: clamp(18px, 3.2vw, 32px);
  -webkit-column-gap: clamp(18px, 3.2vw, 32px);
  column-gap: clamp(18px, 3.2vw, 32px);
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(20px, 4vw, 40px);
}
.child-page_school-life.page_facility .row .rowitem .imgs {
  -moz-column-gap: clamp(18px, 3.2vw, 32px);
  -webkit-column-gap: clamp(18px, 3.2vw, 32px);
  column-gap: clamp(18px, 3.2vw, 32px);
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(20px, 4vw, 40px);
}
.child-page_school-life.page_facility .row.col3 {
  -moz-column-gap: clamp(18px, 3.2vw, 32px);
  -webkit-column-gap: clamp(18px, 3.2vw, 32px);
  column-gap: clamp(18px, 3.2vw, 32px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: clamp(20px, 4vw, 40px);
}
@media (min-width: 576px) {
  .child-page_school-life.page_facility .row.col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .child-page_school-life.page_facility .row .rowitem .imgs {
    grid-template-columns: repeat(2, 1fr);
  }
  .child-page_school-life.page_facility .row.col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.child-page_school-life.page_facility .movie_block .youtube {
  aspect-ratio: 16/9;
  width: 100%;
}
.child-page_school-life.page_facility .movie_block .youtube iframe {
  height: 100%;
  width: 100%;
}
.child-page_school-life.page_facility .movie_block .sent {
  margin-bottom: 1em;
}

/* ------------------------------ */
/* page：学校生活：制服紹介 */
/* ------------------------------ */
.child-page_school-life.page_uniform .page__body {
  padding-bottom: 0;
}
.child-page_school-life.page_uniform .page_siblings_block.grad_slant > .bg.top:before {
  background: #F2F4F7;
}
.child-page_school-life.page_uniform .overflow_imgtxt {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .child-page_school-life.page_uniform .overflow_imgtxt {
    -moz-column-gap: 4%;
    -webkit-column-gap: 4%;
    column-gap: 4%;
  }
  .child-page_school-life.page_uniform .overflow_imgtxt .txt {
    height: 100%;
  }
}
.child-page_school-life.page_uniform .img_tl_rb {
  aspect-ratio: 1.1892;
  position: relative;
}
@media (min-width: 768px) {
  .child-page_school-life.page_uniform .img_tl_rb {
    aspect-ratio: unset;
  }
}
.child-page_school-life.page_uniform .img_tl_rb img {
  position: absolute;
}
.child-page_school-life.page_uniform .img_tl_rb .tl {
  left: 0;
  top: 0;
  width: 59.0909%;
}
.child-page_school-life.page_uniform .img_tl_rb .br {
  bottom: 0;
  right: 0;
  width: 65.9091%;
}
.child-page_school-life.page_uniform .pb90 {
  padding-bottom: 90px;
}
.child-page_school-life.page_uniform .col2 {
  -moz-column-gap: clamp(18px, 3.2vw, 32px);
  -webkit-column-gap: clamp(18px, 3.2vw, 32px);
  column-gap: clamp(18px, 3.2vw, 32px);
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(20px, 4vw, 40px);
}
.child-page_school-life.page_uniform .col2 .img img {
  width: 100%;
}
.child-page_school-life.page_uniform .opts {
  -moz-column-gap: clamp(18px, 3.2vw, 32px);
  -webkit-column-gap: clamp(18px, 3.2vw, 32px);
  column-gap: clamp(18px, 3.2vw, 32px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  row-gap: clamp(20px, 4vw, 40px);
}
.child-page_school-life.page_uniform .opts .item {
  text-align: center;
}
.child-page_school-life.page_uniform .opts .item .img img {
  width: 100%;
}
.child-page_school-life.page_uniform .opts .item .en {
  color: #2669B7;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 0.8333em;
}
@media (min-width: 576px) {
  .child-page_school-life.page_uniform .opts .item .en {
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_uniform .opts .item .en {
    font-size: 20px;
  }
}
@media (min-width: 992px) {
  .child-page_school-life.page_uniform .opts .item .en {
    font-size: 24px;
  }
}
.child-page_school-life.page_uniform .opts .item .ja {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 0.5em;
}
@media (min-width: 576px) {
  .child-page_school-life.page_uniform .opts .item .ja {
    font-size: 15px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_uniform .opts .item .ja {
    font-size: 16px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_uniform .col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .child-page_school-life.page_uniform .opts {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ------------------------------ */
/* page：学校生活：部活動 */
/* ------------------------------ */
.child-page_school-life.page_club .page__body .head_msg {
  padding: clamp(60px, 18vw, 80px) 0 0;
}
.child-page_school-life.page_club .link_button {
  --hover_border: #2669B7;
  --link-color: #393939;
  --link-color-hover: #393939;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  align-items: center;
  background: #F7F7F7;
  border-radius: 5px;
  border-width: 1px;
  display: grid;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.25;
  padding-left: 30px;
  width: 100%;
}
.child-page_school-life.page_club .guide {
  margin-top: 50px;
}
.child-page_school-life.page_club .guide .link_button {
  gap: 1em;
  grid-template-columns: auto 1fr;
  height: 5.625em;
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .guide .link_button {
    max-width: 540px;
    width: 90%;
  }
}
.child-page_school-life.page_club .guide .link_button .icon-pdf {
  aspect-ratio: 1;
  background: #FFFFFF;
  border-radius: 50%;
  color: #2669B7;
  display: grid;
  font-size: 18px;
  place-content: center;
  width: 37px;
}
.child-page_school-life.page_club .inpage {
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
  margin-top: 50px;
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .inpage {
    grid-template-columns: repeat(2, 1fr);
  }
}
.child-page_school-life.page_club .inpage .link_button {
  --trimark_border: 1px;
  --trimark_color: #2669B7;
  --trimark_radius: 5px;
  --trimark_size: 20px;
  height: 5.25em;
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .inpage .link_button:nth-child(odd) {
    justify-self: end;
  }
  .child-page_school-life.page_club .inpage .link_button:nth-child(even) {
    justify-self: start;
  }
}
.child-page_school-life.page_club .club_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 0;
}
@media (min-width: 550px) {
  .child-page_school-life.page_club .club_list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .club_list {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.child-page_school-life.page_club .club_list li {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  list-style-type: none;
  padding: 0.5em;
}
.child-page_school-life.page_club .pickup {
  background: #FFFFC4;
  margin: 50px auto 0;
  padding: 50px 0;
  position: relative;
}
.child-page_school-life.page_club .pickup .h {
  color: #2669B7;
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0.025em;
  line-height: 1;
  position: absolute;
  top: -0.5em;
  translate: -50% 0;
}
@media (min-width: 425px) {
  .child-page_school-life.page_club .pickup .h {
    font-size: 22px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .pickup .h {
    font-size: 24px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .pickup .h {
    font-size: 26px;
  }
}
@media (min-width: 992px) {
  .child-page_school-life.page_club .pickup .h {
    font-size: 30px;
  }
}
.child-page_school-life.page_club .pickup .swiper-wrapper {
  transition-timing-function: linear;
}
.child-page_school-life.page_club .pickup .item {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
  position: relative;
  width: 167px;
}
.child-page_school-life.page_club .pickup .item:before {
  background: #ffffff;
  border-radius: 50%;
  color: #2669B7;
  content: "\e904";
  display: inline-grid;
  font-size: 18px;
  font-weight: bold;
  height: 30px;
  place-items: center;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 30px;
}
.child-page_school-life.page_club .pickup .item img {
  width: 100%;
}
.child-page_school-life.page_club .pickup .item .name {
  align-items: end;
  background: transparent linear-gradient(180deg, rgba(38, 105, 183, 0) 0%, rgba(38, 105, 183, 0.6) 100%) 0% 0% no-repeat padding-box;
  bottom: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100px;
  left: 0;
  padding: 0 0 25px 20px;
  position: absolute;
  width: 100%;
}
.child-page_school-life.page_club .pickup .item .name .ja {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media (min-width: 425px) {
  .child-page_school-life.page_club .pickup .item .name .ja {
    font-size: 15px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .pickup .item .name .ja {
    font-size: 16px;
  }
}
.child-page_school-life.page_club .pickup .item .name .en {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 10px;
  padding: 0 0 0 13px;
  position: relative;
}
.child-page_school-life.page_club .pickup .item .name .en:before {
  background: #ffffff;
  content: "";
  display: inline-block;
  height: 1px;
  left: 0;
  position: absolute;
  top: 6px;
  width: 7px;
}
.child-page_school-life.page_club .block.club {
  --club-element-gap: clamp(20px, 2.3vw, 30px);
  margin: 0 auto;
  padding-bottom: 70px;
  position: relative;
}
.child-page_school-life.page_club .block.club:before, .child-page_school-life.page_club .block.club:after {
  aspect-ratio: 4.8485;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.child-page_school-life.page_club .block.club:before {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 30%);
  background: #FFFFC4;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 30%);
}
.child-page_school-life.page_club .block.club:after {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 30%, 0% 100%);
  background: #2669B7;
  clip-path: polygon(0% 0%, 100% 0%, 100% 30%, 0% 100%);
}
.child-page_school-life.page_club .block.club .big_label {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #c8c8c8;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1;
  text-transform: uppercase;
}
@media (min-width: 425px) {
  .child-page_school-life.page_club .block.club .big_label {
    font-size: 70px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .big_label {
    font-size: 80px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .block.club .big_label {
    font-size: 90px;
  }
}
@media (min-width: 992px) {
  .child-page_school-life.page_club .block.club .big_label {
    font-size: 100px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .block.club .big_label {
    color: #FFFFFF;
    opacity: 0.5;
  }
}
.child-page_school-life.page_club .block.club .head {
  display: grid;
  grid-template: "name" auto "msg" auto "img" auto/1fr;
  margin-top: 20px;
  position: relative;
  row-gap: var(--club-element-gap);
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .block.club .head {
    -moz-column-gap: var(--club-element-gap);
    -webkit-column-gap: var(--club-element-gap);
    column-gap: var(--club-element-gap);
    grid-template: "name  img" auto ".     img" clamp(20px, 13.3928571429vw + -82.8571428571px, 110px) "msg   img" 1fr/1fr 50%;
    margin-top: -20px;
    row-gap: 0;
  }
}
.child-page_school-life.page_club .block.club .head .name {
  border-left: 4px solid #ffffff;
  color: #ffffff;
  grid-area: name;
  mix-blend-mode: difference;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .block.club .head .name {
    margin-top: 30px;
  }
}
.child-page_school-life.page_club .block.club .head .name .en {
  font-size: 13px;
  font-weight: semi-bold;
  letter-spacing: 0.05em;
  line-height: 1.6429;
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .head .name .en {
    font-size: 14px;
  }
}
.child-page_school-life.page_club .block.club .head .name .ja {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4667;
  margin-top: 0.2em;
}
@media (min-width: 425px) {
  .child-page_school-life.page_club .block.club .head .name .ja {
    font-size: 24px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .head .name .ja {
    font-size: 26px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_club .block.club .head .name .ja {
    font-size: 30px;
  }
}
.child-page_school-life.page_club .block.club .head .msg {
  grid-area: msg;
}
.child-page_school-life.page_club .block.club .head .img {
  grid-area: img;
}
.child-page_school-life.page_club .block.club .head .img img {
  -o-object-fit: cover;
  aspect-ratio: 1.7105;
  object-fit: cover;
  width: 100%;
}
.child-page_school-life.page_club .block.club .cards {
  margin-top: var(--club-element-gap);
  overflow-x: scroll;
}
.child-page_school-life.page_club .block.club .cards .cards_wrapper {
  -moz-column-gap: var(--club-element-gap);
  -webkit-column-gap: var(--club-element-gap);
  column-gap: var(--club-element-gap);
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.child-page_school-life.page_club .block.club .cards .item {
  --trimark_border: 2px;
  --trimark_color: #2669B7;
  --trimark_radius: 10px;
  --trimark_size: 25px;
  border: 2px solid #2669B7;
  border-radius: 10px;
  padding: var(--club-element-gap);
  width: 300px;
}
.child-page_school-life.page_club .block.club .cards .item .h {
  color: #2669B7;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.4;
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .cards .item .h {
    font-size: 15px;
  }
}
.child-page_school-life.page_club .block.club .cards .item .d {
  font-size: 13px;
  letter-spacing: 0.025em;
  line-height: 1.7143;
  margin-top: 0.7857em;
  word-break: auto-phrase;
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .cards .item .d {
    font-size: 14px;
  }
}
.child-page_school-life.page_club .block.club .cards .item .d.grid {
  display: grid;
  grid-template-columns: auto 1fr;
}
.child-page_school-life.page_club .block.club .cards .item .d.grid .gh:after {
  content: "：";
}
.child-page_school-life.page_club .block.club .results {
  background: #F7F7F7;
  margin-top: var(--club-element-gap);
  padding: var(--club-element-gap);
}
.child-page_school-life.page_club .block.club .results .h {
  color: #2669B7;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7059;
}
@media (min-width: 425px) {
  .child-page_school-life.page_club .block.club .results .h {
    font-size: 16px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .results .h {
    font-size: 17px;
  }
}
.child-page_school-life.page_club .block.club .results .d {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-top: 15px;
}
@media (min-width: 425px) {
  .child-page_school-life.page_club .block.club .results .d {
    font-size: 15px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .results .d {
    font-size: 16px;
  }
}
.child-page_school-life.page_club .block.club .gotop {
  padding-top: 30px;
  text-align: center;
}
.child-page_school-life.page_club .block.club .gotop a {
  --link-color: #393939;
  --link-color-hover: #2669B7;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  align-items: center;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media (min-width: 425px) {
  .child-page_school-life.page_club .block.club .gotop a {
    font-size: 15px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_club .block.club .gotop a {
    font-size: 16px;
  }
}
.child-page_school-life.page_club .block.club .gotop a:after {
  aspect-ratio: 1;
  background: #F7F7F7;
  border-radius: 50%;
  color: #A8A8A8;
  content: "\f176";
  display: inline-grid;
  font-size: 0.625em;
  margin-left: 1em;
  place-content: center;
  width: 2.6em;
}

/* ------------------------------ */
/* page：学校生活：年間行事 */
/* ------------------------------ */
.child-page_school-life.page_events .pb90 {
  padding-bottom: 90px;
}
.child-page_school-life.page_events .events {
  -moz-column-gap: clamp(18px, 3.2vw, 32px);
  -webkit-column-gap: clamp(18px, 3.2vw, 32px);
  column-gap: clamp(18px, 3.2vw, 32px);
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(20px, 4vw, 40px);
}
@media (min-width: 576px) {
  .child-page_school-life.page_events .events {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_events .events {
    grid-template-columns: repeat(3, 1fr);
  }
}
.child-page_school-life.page_events .events .item .month {
  aspect-ratio: 1;
  background: #FFFFC4;
  border-radius: 50%;
  color: #2669B7;
  display: grid;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: -1.25em;
  place-content: center;
  position: relative;
  width: 2.5em;
  z-index: 2;
}
@media (min-width: 375px) {
  .child-page_school-life.page_events .events .item .month {
    font-size: 18px;
  }
}
@media (min-width: 425px) {
  .child-page_school-life.page_events .events .item .month {
    font-size: 21px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_events .events .item .month {
    font-size: 24px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_events .events .item .month {
    font-size: 27px;
  }
}
@media (min-width: 992px) {
  .child-page_school-life.page_events .events .item .month {
    font-size: 32px;
  }
}
.child-page_school-life.page_events .events .item .month span {
  font-family: "Noto Sans JP", Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
  font-size: 0.5em;
  font-weight: normal;
}
.child-page_school-life.page_events .events .item .shiftimg {
  grid-template-columns: min(16px, 1.6vw) auto min(16px, 1.6vw) !important;
  grid-template-rows: min(16px, 1.6vw) auto min(16px, 1.6vw) !important;
}
.child-page_school-life.page_events .events .item .shiftimg .month_img {
  aspect-ratio: 1.5922;
  background: linear-gradient(to right bottom, #D6EBFF, #FFFFD6);
  grid-area: 1/1/span 2/span 2;
  position: relative;
  z-index: 1;
}
.child-page_school-life.page_events .events .item .shiftimg .month_img:before {
  border-bottom: 1px solid #2669B7;
  color: #2669B7;
  font-size: 16px;
  font-weight: 600;
  left: 50%;
  letter-spacing: 0.05em;
  line-height: 0.7188;
  padding-bottom: 0.375em;
  position: absolute;
  top: 50%;
  translate: -50% -50%;
  z-index: -1;
}
@media (min-width: 375px) {
  .child-page_school-life.page_events .events .item .shiftimg .month_img:before {
    font-size: 18px;
  }
}
@media (min-width: 425px) {
  .child-page_school-life.page_events .events .item .shiftimg .month_img:before {
    font-size: 21px;
  }
}
@media (min-width: 576px) {
  .child-page_school-life.page_events .events .item .shiftimg .month_img:before {
    font-size: 24px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_events .events .item .shiftimg .month_img:before {
    font-size: 27px;
  }
}
@media (min-width: 992px) {
  .child-page_school-life.page_events .events .item .shiftimg .month_img:before {
    font-size: 32px;
  }
}
.child-page_school-life.page_events .events .item .shiftimg .month_img img {
  grid-area: unset;
}
.child-page_school-life.page_events .events .item.apr .shiftimg .month_img:before {
  content: "April";
}
.child-page_school-life.page_events .events .item.may .shiftimg .month_img:before {
  content: "May";
}
.child-page_school-life.page_events .events .item.jun .shiftimg .month_img:before {
  content: "June";
}
.child-page_school-life.page_events .events .item.jul .shiftimg .month_img:before {
  content: "July";
}
.child-page_school-life.page_events .events .item.aug .shiftimg .month_img:before {
  content: "August";
}
.child-page_school-life.page_events .events .item.sep .shiftimg .month_img:before {
  content: "September";
}
.child-page_school-life.page_events .events .item.oct .shiftimg .month_img:before {
  content: "October";
}
.child-page_school-life.page_events .events .item.nov .shiftimg .month_img:before {
  content: "November";
}
.child-page_school-life.page_events .events .item.dec .shiftimg .month_img:before {
  content: "December";
}
.child-page_school-life.page_events .events .item.jan .shiftimg .month_img:before {
  content: "January";
}
.child-page_school-life.page_events .events .item.feb .shiftimg .month_img:before {
  content: "February";
}
.child-page_school-life.page_events .events .item.mar .shiftimg .month_img:before {
  content: "March";
}
.child-page_school-life.page_events .events .item .img img {
  width: 100%;
}
.child-page_school-life.page_events .events .item .list {
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.5556;
  margin-top: 1.1111em;
}
@media (min-width: 576px) {
  .child-page_school-life.page_events .events .item .list {
    font-size: 15px;
  }
}
@media (min-width: 768px) {
  .child-page_school-life.page_events .events .item .list {
    font-size: 16px;
  }
}
@media (min-width: 992px) {
  .child-page_school-life.page_events .events .item .list {
    font-size: 18px;
  }
}
.child-page_school-life.page_events .events .item .list span {
  color: #888888;
  display: inline-block;
  font-size: 0.7778em;
}

/* ------------------------------ */
/* page：アクセスマップ */
/* ------------------------------ */
.page_access .page__body {
  padding-bottom: 0;
}
.page_access .address {
  padding-bottom: 90px;
}
.page_access .address h2 {
  margin-top: 0;
}
.page_access .address table,
.page_access .address tr,
.page_access .address th,
.page_access .address td {
  display: block;
}
.page_access .address table {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.8125;
  width: 100%;
}
.page_access .address thead,
.page_access .address tbody {
  display: flex;
  flex-direction: column;
  row-gap: 0.5em;
}
.page_access .address tr {
  display: flex;
  flex-direction: column;
}
.page_access .address th {
  background: #2669B7;
  border-radius: 5px 5px 0px 0px;
  color: #ffffff;
  font-weight: 500;
  padding: 0.8em 1em;
}
.page_access .address td {
  background: #F7F7F7;
  border-radius: 0px 0px 5px 5px;
  padding: 1em;
}
@media (min-width: 768px) {
  .page_access .address table {
    row-gap: 5px;
  }
  .page_access .address table tr {
    flex-direction: row;
  }
  .page_access .address table th {
    border-radius: 5px 0px 0px 5px;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    width: 22.7273%;
  }
  .page_access .address table td {
    background: #F7F7F7;
    border-radius: 0px 5px 5px 0px;
    flex-grow: 1;
  }
}
.page_access .address .google_map {
  aspect-ratio: 1.6176;
  margin-top: 40px;
}
.page_access .address .google_map iframe {
  height: 100%;
  width: 100%;
}
.page_access .access_map {
  padding-bottom: 90px;
}
.page_access .access_map .route_images {
  -moz-column-gap: 3.0612%;
  -webkit-column-gap: 3.0612%;
  background: #FFFFFF;
  column-gap: 3.0612%;
  display: grid;
  grid-template: "route station" auto "route map" auto/1fr 31.6327%;
  padding: 5.4545%;
}
.page_access .access_map .route_images img {
  width: 100%;
}
.page_access .access_map .route_images .route {
  grid-area: route;
}
.page_access .access_map .route_images .station {
  grid-area: station;
}
.page_access .access_map .route_images .map {
  grid-area: map;
}

/* ------------------------------ */
/* topics：アーカイブ
/* ------------------------------ */
.navigation.pagination {
  --link-color: #ffffff;
  --link-color-hover: #2669B7;
  --link-color-visited: #ffffff;
  --link-decoration: none;
  --link-decoration-hover: none;
}
.navigation.pagination .nav-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.navigation.pagination .page-numbers {
  aspect-ratio: 1;
  border-radius: 50%;
  color: #ffffff;
  display: grid;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  place-content: center;
  width: 32px;
}
.navigation.pagination .page-numbers:not(.dots) {
  border: 1px solid #E6E6E6;
}
.navigation.pagination .page-numbers.dots {
  aspect-ratio: unset;
  width: auto;
}
.navigation.pagination .page-numbers.current, .navigation.pagination .page-numbers:hover {
  background: #F0F0F0;
  color: #2669B7;
}

.post-type-archive-topics .page__body__footer {
  background: url(../img/front/bg_topics.jpg) no-repeat;
  background-size: cover;
}
.post-type-archive-topics .page__body {
  padding-bottom: 0;
}
.post-type-archive-topics .page__footer {
  padding-bottom: 70px;
}
.post-type-archive-topics .navigation.pagination {
  padding-top: 50px;
}
.post-type-archive-topics .topics__items {
  margin-top: 40px;
}
@media (min-width: 576px) {
  .post-type-archive-topics .topics__items {
    margin-top: 30px;
  }
}

/* ------------------------------ */
/* topics：個別
/* ------------------------------ */
.single-topics .article__header {
  margin-bottom: 2.5em;
}
.single-topics .article_title {
  color: #2669B7;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4231;
}
.single-topics .article_meta {
  -moz-column-gap: 0.8em;
  -webkit-column-gap: 0.8em;
  column-gap: 0.8em;
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1;
  margin-top: 2.5em;
}
.single-topics .article_category {
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 500;
  gap: 0.5em;
  letter-spacing: 0em;
  line-height: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}
.single-topics .article_category li {
  background: #2669B7;
  color: #FFFFFF;
  padding: 0.5em;
}
.single-topics .golist {
  --hover_border: var(--trimark_color);
  --link-color: #393939;
  --link-color-hover: #393939;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  --trimark_border: 1px;
  --trimark_color: #2669B7;
  --trimark_radius: 5px;
  --trimark_size: 20px;
  align-items: center;
  background: #F7F7F7;
  border-radius: 5px;
  border-width: 1px;
  display: grid;
  font-size: 16px;
  font-weight: 600;
  height: 5.25em;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0 auto;
  max-width: 360px;
  padding: 0 1.875em;
  width: 90%;
}

/* ------------------------------ */
/* information：アーカイブ
/* ------------------------------ */
.post-type-archive-information .page__body__footer {
  background: url(../img/front/bg_topics.jpg) no-repeat;
  background-size: cover;
}
.post-type-archive-information .page__body {
  padding-bottom: 0;
}
.post-type-archive-information .page__footer {
  padding-bottom: 70px;
}
.post-type-archive-information .navigation.pagination {
  padding-top: 50px;
}
.post-type-archive-information .topics__items {
  margin-top: 40px;
}
@media (min-width: 576px) {
  .post-type-archive-information .topics__items {
    margin-top: 30px;
  }
}

/* ------------------------------ */
/* information：個別
/* ------------------------------ */
.single-information .article__header {
  margin-bottom: 2.5em;
}
.single-information .article_title {
  color: #2669B7;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4231;
}
.single-information .article_meta {
  -moz-column-gap: 0.8em;
  -webkit-column-gap: 0.8em;
  column-gap: 0.8em;
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1;
  margin-top: 2.5em;
}
.single-information .article_category {
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 500;
  gap: 0.5em;
  letter-spacing: 0em;
  line-height: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}
.single-information .article_category li {
  background: #2669B7;
  color: #FFFFFF;
  padding: 0.5em;
}
.single-information .golist {
  --hover_border: var(--trimark_color);
  --link-color: #393939;
  --link-color-hover: #393939;
  --link-color-visited: #393939;
  --link-decoration: none;
  --link-decoration-hover: none;
  --trimark_border: 1px;
  --trimark_color: #2669B7;
  --trimark_radius: 5px;
  --trimark_size: 20px;
  align-items: center;
  background: #F7F7F7;
  border-radius: 5px;
  border-width: 1px;
  display: grid;
  font-size: 16px;
  font-weight: 600;
  height: 5.25em;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0 auto;
  max-width: 360px;
  padding: 0 1.875em;
  width: 90%;
}

.instory-gallery-image {
  aspect-ratio: 1.5;
  display: inline-block;
  margin: 15px 0;
  width: 100%;
}
.instory-gallery-image img {
  -o-object-fit: contain;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

@media (min-width: 429px) {
  .instory-gallery-image {
    margin-right: 1%;
    width: 47%;
  }
}
@media (min-width: 961px) {
  .instory-gallery-image {
    width: 31%;
  }
}