@charset "UTF-8";
:root {
  --aitoku-el-color:#BF608B;
  --aitoku-light-brown:#736650;
  --aitoku-school-color:#BF608B;
  --body-bg-color:#ffffff;
  --body-color:#2E2E33;
  --body-font-family:"Noto Serif JP", Times New Roman, YuMincho, Hiragino Mincho ProN, Yu Mincho Medium, MS PMincho, 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;
}

p {
  letter-spacing: 1px;
  line-height: 1.96;
}

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

/* ------------------------------ */
/* Bootstrap display utilities */
/* ------------------------------ */
/*!
 * Bootstrap  v5.2.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.mx-3 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mx-4 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.mx-5 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-0 {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.my-1 {
  margin-bottom: 0.25rem !important;
  margin-top: 0.25rem !important;
}

.my-2 {
  margin-bottom: 0.5rem !important;
  margin-top: 0.5rem !important;
}

.my-3 {
  margin-bottom: 1rem !important;
  margin-top: 1rem !important;
}

.my-4 {
  margin-bottom: 1.5rem !important;
  margin-top: 1.5rem !important;
}

.my-5 {
  margin-bottom: 3rem !important;
  margin-top: 3rem !important;
}

.my-auto {
  margin-bottom: auto !important;
  margin-top: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.px-3 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.px-4 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.px-5 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.py-0 {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

.py-1 {
  padding-bottom: 0.25rem !important;
  padding-top: 0.25rem !important;
}

.py-2 {
  padding-bottom: 0.5rem !important;
  padding-top: 0.5rem !important;
}

.py-3 {
  padding-bottom: 1rem !important;
  padding-top: 1rem !important;
}

.py-4 {
  padding-bottom: 1.5rem !important;
  padding-top: 1.5rem !important;
}

.py-5 {
  padding-bottom: 3rem !important;
  padding-top: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-grid {
    display: grid !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !important;
  }

  .d-sm-none {
    display: none !important;
  }

  .m-sm-0 {
    margin: 0 !important;
  }

  .m-sm-1 {
    margin: 0.25rem !important;
  }

  .m-sm-2 {
    margin: 0.5rem !important;
  }

  .m-sm-3 {
    margin: 1rem !important;
  }

  .m-sm-4 {
    margin: 1.5rem !important;
  }

  .m-sm-5 {
    margin: 3rem !important;
  }

  .m-sm-auto {
    margin: auto !important;
  }

  .mx-sm-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mx-sm-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }

  .mx-sm-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }

  .mx-sm-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }

  .mx-sm-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }

  .mx-sm-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }

  .mx-sm-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .my-sm-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .my-sm-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }

  .my-sm-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }

  .my-sm-3 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }

  .my-sm-4 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }

  .my-sm-5 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }

  .my-sm-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }

  .mt-sm-0 {
    margin-top: 0 !important;
  }

  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }

  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }

  .mt-sm-3 {
    margin-top: 1rem !important;
  }

  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }

  .mt-sm-5 {
    margin-top: 3rem !important;
  }

  .mt-sm-auto {
    margin-top: auto !important;
  }

  .me-sm-0 {
    margin-right: 0 !important;
  }

  .me-sm-1 {
    margin-right: 0.25rem !important;
  }

  .me-sm-2 {
    margin-right: 0.5rem !important;
  }

  .me-sm-3 {
    margin-right: 1rem !important;
  }

  .me-sm-4 {
    margin-right: 1.5rem !important;
  }

  .me-sm-5 {
    margin-right: 3rem !important;
  }

  .me-sm-auto {
    margin-right: auto !important;
  }

  .mb-sm-0 {
    margin-bottom: 0 !important;
  }

  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }

  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }

  .mb-sm-auto {
    margin-bottom: auto !important;
  }

  .ms-sm-0 {
    margin-left: 0 !important;
  }

  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }

  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }

  .ms-sm-3 {
    margin-left: 1rem !important;
  }

  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }

  .ms-sm-5 {
    margin-left: 3rem !important;
  }

  .ms-sm-auto {
    margin-left: auto !important;
  }

  .p-sm-0 {
    padding: 0 !important;
  }

  .p-sm-1 {
    padding: 0.25rem !important;
  }

  .p-sm-2 {
    padding: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .p-sm-4 {
    padding: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .px-sm-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .px-sm-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }

  .px-sm-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .px-sm-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .px-sm-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .px-sm-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  .py-sm-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .py-sm-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }

  .py-sm-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }

  .py-sm-3 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }

  .py-sm-4 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }

  .py-sm-5 {
    padding-bottom: 3rem !important;
    padding-top: 3rem !important;
  }

  .pt-sm-0 {
    padding-top: 0 !important;
  }

  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }

  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }

  .pt-sm-3 {
    padding-top: 1rem !important;
  }

  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }

  .pt-sm-5 {
    padding-top: 3rem !important;
  }

  .pe-sm-0 {
    padding-right: 0 !important;
  }

  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pe-sm-3 {
    padding-right: 1rem !important;
  }

  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pe-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-0 {
    padding-bottom: 0 !important;
  }

  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }

  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }

  .ps-sm-0 {
    padding-left: 0 !important;
  }

  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }

  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }

  .ps-sm-3 {
    padding-left: 1rem !important;
  }

  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }

  .ps-sm-5 {
    padding-left: 3rem !important;
  }

  .text-sm-start {
    text-align: left !important;
  }

  .text-sm-end {
    text-align: right !important;
  }

  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-grid {
    display: grid !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !important;
  }

  .d-md-none {
    display: none !important;
  }

  .m-md-0 {
    margin: 0 !important;
  }

  .m-md-1 {
    margin: 0.25rem !important;
  }

  .m-md-2 {
    margin: 0.5rem !important;
  }

  .m-md-3 {
    margin: 1rem !important;
  }

  .m-md-4 {
    margin: 1.5rem !important;
  }

  .m-md-5 {
    margin: 3rem !important;
  }

  .m-md-auto {
    margin: auto !important;
  }

  .mx-md-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mx-md-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }

  .mx-md-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }

  .mx-md-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }

  .mx-md-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }

  .mx-md-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }

  .mx-md-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .my-md-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .my-md-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }

  .my-md-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }

  .my-md-3 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }

  .my-md-4 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }

  .my-md-5 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }

  .my-md-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }

  .mt-md-0 {
    margin-top: 0 !important;
  }

  .mt-md-1 {
    margin-top: 0.25rem !important;
  }

  .mt-md-2 {
    margin-top: 0.5rem !important;
  }

  .mt-md-3 {
    margin-top: 1rem !important;
  }

  .mt-md-4 {
    margin-top: 1.5rem !important;
  }

  .mt-md-5 {
    margin-top: 3rem !important;
  }

  .mt-md-auto {
    margin-top: auto !important;
  }

  .me-md-0 {
    margin-right: 0 !important;
  }

  .me-md-1 {
    margin-right: 0.25rem !important;
  }

  .me-md-2 {
    margin-right: 0.5rem !important;
  }

  .me-md-3 {
    margin-right: 1rem !important;
  }

  .me-md-4 {
    margin-right: 1.5rem !important;
  }

  .me-md-5 {
    margin-right: 3rem !important;
  }

  .me-md-auto {
    margin-right: auto !important;
  }

  .mb-md-0 {
    margin-bottom: 0 !important;
  }

  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-md-3 {
    margin-bottom: 1rem !important;
  }

  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-md-5 {
    margin-bottom: 3rem !important;
  }

  .mb-md-auto {
    margin-bottom: auto !important;
  }

  .ms-md-0 {
    margin-left: 0 !important;
  }

  .ms-md-1 {
    margin-left: 0.25rem !important;
  }

  .ms-md-2 {
    margin-left: 0.5rem !important;
  }

  .ms-md-3 {
    margin-left: 1rem !important;
  }

  .ms-md-4 {
    margin-left: 1.5rem !important;
  }

  .ms-md-5 {
    margin-left: 3rem !important;
  }

  .ms-md-auto {
    margin-left: auto !important;
  }

  .p-md-0 {
    padding: 0 !important;
  }

  .p-md-1 {
    padding: 0.25rem !important;
  }

  .p-md-2 {
    padding: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .p-md-4 {
    padding: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .px-md-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .px-md-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }

  .px-md-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .px-md-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .px-md-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .px-md-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  .py-md-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .py-md-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }

  .py-md-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }

  .py-md-3 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }

  .py-md-4 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }

  .py-md-5 {
    padding-bottom: 3rem !important;
    padding-top: 3rem !important;
  }

  .pt-md-0 {
    padding-top: 0 !important;
  }

  .pt-md-1 {
    padding-top: 0.25rem !important;
  }

  .pt-md-2 {
    padding-top: 0.5rem !important;
  }

  .pt-md-3 {
    padding-top: 1rem !important;
  }

  .pt-md-4 {
    padding-top: 1.5rem !important;
  }

  .pt-md-5 {
    padding-top: 3rem !important;
  }

  .pe-md-0 {
    padding-right: 0 !important;
  }

  .pe-md-1 {
    padding-right: 0.25rem !important;
  }

  .pe-md-2 {
    padding-right: 0.5rem !important;
  }

  .pe-md-3 {
    padding-right: 1rem !important;
  }

  .pe-md-4 {
    padding-right: 1.5rem !important;
  }

  .pe-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-0 {
    padding-bottom: 0 !important;
  }

  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-md-3 {
    padding-bottom: 1rem !important;
  }

  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-md-5 {
    padding-bottom: 3rem !important;
  }

  .ps-md-0 {
    padding-left: 0 !important;
  }

  .ps-md-1 {
    padding-left: 0.25rem !important;
  }

  .ps-md-2 {
    padding-left: 0.5rem !important;
  }

  .ps-md-3 {
    padding-left: 1rem !important;
  }

  .ps-md-4 {
    padding-left: 1.5rem !important;
  }

  .ps-md-5 {
    padding-left: 3rem !important;
  }

  .text-md-start {
    text-align: left !important;
  }

  .text-md-end {
    text-align: right !important;
  }

  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-grid {
    display: grid !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !important;
  }

  .d-lg-none {
    display: none !important;
  }

  .m-lg-0 {
    margin: 0 !important;
  }

  .m-lg-1 {
    margin: 0.25rem !important;
  }

  .m-lg-2 {
    margin: 0.5rem !important;
  }

  .m-lg-3 {
    margin: 1rem !important;
  }

  .m-lg-4 {
    margin: 1.5rem !important;
  }

  .m-lg-5 {
    margin: 3rem !important;
  }

  .m-lg-auto {
    margin: auto !important;
  }

  .mx-lg-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mx-lg-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }

  .mx-lg-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }

  .mx-lg-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }

  .mx-lg-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }

  .mx-lg-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }

  .mx-lg-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .my-lg-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .my-lg-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }

  .my-lg-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }

  .my-lg-3 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }

  .my-lg-4 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }

  .my-lg-5 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }

  .my-lg-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }

  .mt-lg-0 {
    margin-top: 0 !important;
  }

  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }

  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }

  .mt-lg-3 {
    margin-top: 1rem !important;
  }

  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }

  .mt-lg-5 {
    margin-top: 3rem !important;
  }

  .mt-lg-auto {
    margin-top: auto !important;
  }

  .me-lg-0 {
    margin-right: 0 !important;
  }

  .me-lg-1 {
    margin-right: 0.25rem !important;
  }

  .me-lg-2 {
    margin-right: 0.5rem !important;
  }

  .me-lg-3 {
    margin-right: 1rem !important;
  }

  .me-lg-4 {
    margin-right: 1.5rem !important;
  }

  .me-lg-5 {
    margin-right: 3rem !important;
  }

  .me-lg-auto {
    margin-right: auto !important;
  }

  .mb-lg-0 {
    margin-bottom: 0 !important;
  }

  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }

  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }

  .mb-lg-auto {
    margin-bottom: auto !important;
  }

  .ms-lg-0 {
    margin-left: 0 !important;
  }

  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }

  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }

  .ms-lg-3 {
    margin-left: 1rem !important;
  }

  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }

  .ms-lg-5 {
    margin-left: 3rem !important;
  }

  .ms-lg-auto {
    margin-left: auto !important;
  }

  .p-lg-0 {
    padding: 0 !important;
  }

  .p-lg-1 {
    padding: 0.25rem !important;
  }

  .p-lg-2 {
    padding: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .p-lg-4 {
    padding: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .px-lg-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .px-lg-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }

  .px-lg-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .px-lg-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .px-lg-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .px-lg-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  .py-lg-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .py-lg-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }

  .py-lg-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }

  .py-lg-3 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }

  .py-lg-4 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }

  .py-lg-5 {
    padding-bottom: 3rem !important;
    padding-top: 3rem !important;
  }

  .pt-lg-0 {
    padding-top: 0 !important;
  }

  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }

  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }

  .pt-lg-3 {
    padding-top: 1rem !important;
  }

  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }

  .pt-lg-5 {
    padding-top: 3rem !important;
  }

  .pe-lg-0 {
    padding-right: 0 !important;
  }

  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pe-lg-3 {
    padding-right: 1rem !important;
  }

  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pe-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-0 {
    padding-bottom: 0 !important;
  }

  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }

  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }

  .ps-lg-0 {
    padding-left: 0 !important;
  }

  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }

  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }

  .ps-lg-3 {
    padding-left: 1rem !important;
  }

  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }

  .ps-lg-5 {
    padding-left: 3rem !important;
  }

  .text-lg-start {
    text-align: left !important;
  }

  .text-lg-end {
    text-align: right !important;
  }

  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-grid {
    display: grid !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: inline-flex !important;
  }

  .d-xl-none {
    display: none !important;
  }

  .m-xl-0 {
    margin: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mx-xl-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mx-xl-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }

  .mx-xl-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }

  .mx-xl-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }

  .mx-xl-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }

  .mx-xl-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }

  .mx-xl-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .my-xl-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .my-xl-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }

  .my-xl-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }

  .my-xl-3 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }

  .my-xl-4 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }

  .my-xl-5 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }

  .my-xl-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }

  .mt-xl-0 {
    margin-top: 0 !important;
  }

  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mt-xl-3 {
    margin-top: 1rem !important;
  }

  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mt-xl-5 {
    margin-top: 3rem !important;
  }

  .mt-xl-auto {
    margin-top: auto !important;
  }

  .me-xl-0 {
    margin-right: 0 !important;
  }

  .me-xl-1 {
    margin-right: 0.25rem !important;
  }

  .me-xl-2 {
    margin-right: 0.5rem !important;
  }

  .me-xl-3 {
    margin-right: 1rem !important;
  }

  .me-xl-4 {
    margin-right: 1.5rem !important;
  }

  .me-xl-5 {
    margin-right: 3rem !important;
  }

  .me-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-0 {
    margin-bottom: 0 !important;
  }

  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }

  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }

  .mb-xl-auto {
    margin-bottom: auto !important;
  }

  .ms-xl-0 {
    margin-left: 0 !important;
  }

  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }

  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }

  .ms-xl-3 {
    margin-left: 1rem !important;
  }

  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }

  .ms-xl-5 {
    margin-left: 3rem !important;
  }

  .ms-xl-auto {
    margin-left: auto !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .px-xl-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .px-xl-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }

  .px-xl-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .px-xl-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .px-xl-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .px-xl-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  .py-xl-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .py-xl-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }

  .py-xl-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }

  .py-xl-3 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }

  .py-xl-4 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }

  .py-xl-5 {
    padding-bottom: 3rem !important;
    padding-top: 3rem !important;
  }

  .pt-xl-0 {
    padding-top: 0 !important;
  }

  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pt-xl-3 {
    padding-top: 1rem !important;
  }

  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pt-xl-5 {
    padding-top: 3rem !important;
  }

  .pe-xl-0 {
    padding-right: 0 !important;
  }

  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pe-xl-3 {
    padding-right: 1rem !important;
  }

  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pe-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-0 {
    padding-bottom: 0 !important;
  }

  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }

  .ps-xl-0 {
    padding-left: 0 !important;
  }

  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }

  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }

  .ps-xl-3 {
    padding-left: 1rem !important;
  }

  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }

  .ps-xl-5 {
    padding-left: 3rem !important;
  }

  .text-xl-start {
    text-align: left !important;
  }

  .text-xl-end {
    text-align: right !important;
  }

  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-inline {
    display: inline !important;
  }

  .d-xxl-inline-block {
    display: inline-block !important;
  }

  .d-xxl-block {
    display: block !important;
  }

  .d-xxl-grid {
    display: grid !important;
  }

  .d-xxl-table {
    display: table !important;
  }

  .d-xxl-table-row {
    display: table-row !important;
  }

  .d-xxl-table-cell {
    display: table-cell !important;
  }

  .d-xxl-flex {
    display: flex !important;
  }

  .d-xxl-inline-flex {
    display: inline-flex !important;
  }

  .d-xxl-none {
    display: none !important;
  }

  .m-xxl-0 {
    margin: 0 !important;
  }

  .m-xxl-1 {
    margin: 0.25rem !important;
  }

  .m-xxl-2 {
    margin: 0.5rem !important;
  }

  .m-xxl-3 {
    margin: 1rem !important;
  }

  .m-xxl-4 {
    margin: 1.5rem !important;
  }

  .m-xxl-5 {
    margin: 3rem !important;
  }

  .m-xxl-auto {
    margin: auto !important;
  }

  .mx-xxl-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mx-xxl-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }

  .mx-xxl-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }

  .mx-xxl-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }

  .mx-xxl-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }

  .mx-xxl-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }

  .mx-xxl-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .my-xxl-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .my-xxl-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }

  .my-xxl-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }

  .my-xxl-3 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }

  .my-xxl-4 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }

  .my-xxl-5 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }

  .my-xxl-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }

  .mt-xxl-0 {
    margin-top: 0 !important;
  }

  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }

  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }

  .mt-xxl-3 {
    margin-top: 1rem !important;
  }

  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }

  .mt-xxl-5 {
    margin-top: 3rem !important;
  }

  .mt-xxl-auto {
    margin-top: auto !important;
  }

  .me-xxl-0 {
    margin-right: 0 !important;
  }

  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }

  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }

  .me-xxl-3 {
    margin-right: 1rem !important;
  }

  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }

  .me-xxl-5 {
    margin-right: 3rem !important;
  }

  .me-xxl-auto {
    margin-right: auto !important;
  }

  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }

  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }

  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }

  .mb-xxl-auto {
    margin-bottom: auto !important;
  }

  .ms-xxl-0 {
    margin-left: 0 !important;
  }

  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }

  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }

  .ms-xxl-3 {
    margin-left: 1rem !important;
  }

  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }

  .ms-xxl-5 {
    margin-left: 3rem !important;
  }

  .ms-xxl-auto {
    margin-left: auto !important;
  }

  .p-xxl-0 {
    padding: 0 !important;
  }

  .p-xxl-1 {
    padding: 0.25rem !important;
  }

  .p-xxl-2 {
    padding: 0.5rem !important;
  }

  .p-xxl-3 {
    padding: 1rem !important;
  }

  .p-xxl-4 {
    padding: 1.5rem !important;
  }

  .p-xxl-5 {
    padding: 3rem !important;
  }

  .px-xxl-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .px-xxl-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }

  .px-xxl-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .px-xxl-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .px-xxl-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .px-xxl-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  .py-xxl-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .py-xxl-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }

  .py-xxl-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }

  .py-xxl-3 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }

  .py-xxl-4 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }

  .py-xxl-5 {
    padding-bottom: 3rem !important;
    padding-top: 3rem !important;
  }

  .pt-xxl-0 {
    padding-top: 0 !important;
  }

  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }

  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }

  .pt-xxl-3 {
    padding-top: 1rem !important;
  }

  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }

  .pt-xxl-5 {
    padding-top: 3rem !important;
  }

  .pe-xxl-0 {
    padding-right: 0 !important;
  }

  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }

  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }

  .pe-xxl-3 {
    padding-right: 1rem !important;
  }

  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }

  .pe-xxl-5 {
    padding-right: 3rem !important;
  }

  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }

  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }

  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }

  .ps-xxl-0 {
    padding-left: 0 !important;
  }

  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }

  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }

  .ps-xxl-3 {
    padding-left: 1rem !important;
  }

  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }

  .ps-xxl-5 {
    padding-left: 3rem !important;
  }

  .text-xxl-start {
    text-align: left !important;
  }

  .text-xxl-end {
    text-align: right !important;
  }

  .text-xxl-center {
    text-align: center !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-grid {
    display: grid !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !important;
  }

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

.block > .inner.page_main-image_and_text {
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 768px) {
  .block > .inner:not(.nolimit) {
    padding-left: 30px;
    padding-right: 110px;
  }
  .block > .inner.narrow {
    max-width: 1060px;
  }
  .block > .inner.page_main-image_and_text {
    max-width: 1250px;
    padding-left: 0;
  }
}
@media (min-width: 1030px) {
  .block > .inner.narrow {
    padding-right: calc(110px - ((100vw - 1060px) / 2));
  }
}
@media (min-width: 1130px) {
  .block > .inner:not(.nolimit):not(.narrow):not(.page_main-image_and_text) {
    padding-right: calc(110px - ((100vw - 1160px) / 2));
  }
}
@media (min-width: 1280px) {
  .block > .inner.page_main-image_and_text {
    padding-right: calc(110px - ((100vw - 1250px) / 2));
  }
}
@media (min-width: 1220px) {
  .block > .inner.narrow {
    padding-right: 30px;
  }
}
@media (min-width: 1320px) {
  .block > .inner:not(.nolimit):not(.narrow):not(.page_main-image_and_text) {
    padding-right: 30px;
  }
}
@media (min-width: 1410px) {
  .block > .inner:not(.nolimit):not(.narrow) {
    padding-right: 30px;
  }
}
/* ------------------------------ */
/* clearfix */
/* ------------------------------ */
.page_12-year-integrated-education .intro:after {
  clear: both;
  content: "";
  display: table;
}

/* ------------------------------ */
/* font */
/* ------------------------------ */
.noto-sans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.noto-serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.cormorant-garamond, .page__body h2:before, .front-page .three_features .three_features_items .order, .front-page .topics h2, .front-page .pickup h2, #loading .desde, #gotop .text, #site__footer .copyright, .menu_en > a:after {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.IcoMoon, .page_policy .motto .item dt:after, .single-admission_event .article_title:after, .page__body h2:after, .front-page .three_features h2:after, .inpage_nav a:after, .voice .quote:before, .quote:before, .front-page .links a .title:after, .front-page .notice .notice_btn__up::before,
.front-page .notice .notice_btn__down::before, .front-page .notice .notice_item__title::after, .front-page .swiper.carousel .swiper-button-next:after,
.front-page .swiper.carousel .swiper-button-prev:after, .link_icon:after, #drawer .page_menu .sub-menu a:before,
#drawer .footer_menu a:before, #site__footer .page_menu .menu_en > a:before,
#drawer .page_menu .menu_en > a:before, .menu_icon > a:before,
.page_group .page_title: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;
}

/* ------------------------------ */
/* icon */
/* ------------------------------ */
.chevron-circle, .front-page .notice .notice_btn__up::before,
.front-page .notice .notice_btn__down::before, .front-page .swiper.carousel .swiper-button-next:after,
.front-page .swiper.carousel .swiper-button-prev:after, #site__footer .page_menu .menu_en > a:before,
#drawer .page_menu .menu_en > a:before {
  align-items: center;
  border: 1px solid #ffffff;
  border-radius: 50%;
  display: flex;
  height: 19px;
  justify-content: center;
  width: 19px;
}

/* ------------------------------ */
/* left line */
/* ------------------------------ */
.left_line {
  padding-left: 5.7%;
  position: relative;
}
.left_line:before {
  background: #707070;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  top: 45%;
  width: 5.45%;
}

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

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

.menu_en-introduction > a:after,
.page_introduction .page_group .page_title:after {
  content: "Introduction";
}

.menu_en-education > a:after,
.page_education .page_group .page_title:after {
  content: "Education";
}

.menu_en-schoollife > a:after,
.page_schoollife .page_group .page_title:after {
  content: "School Life";
}

.menu_en-admissions > a:after,
.page_admissions .page_group .page_title:after {
  content: "Admissions";
}

.menu_icon {
  display: grid;
  place-content: center;
  place-items: center;
}

.menu_icon > a,
.page_group .page_title {
  display: grid;
  font-size: 12px;
  font-weight: 500;
  place-content: center;
  place-items: center;
}
.menu_icon > a:hover,
.page_group .page_title:hover {
  text-decoration: none;
}
.menu_icon > a:before,
.page_group .page_title:before {
  color: var(--aitoku-school-color);
  font-size: 16px;
  margin-bottom: 10px;
}

.menu_icon-pin > a:before {
  content: "";
}

.menu_icon-book > a:before {
  content: "";
}

.menu_icon-mail > a:before {
  content: "";
}

.header__hamburger .button_menu .menu_icon {
  --link-color: #000000;
  --link-color-hover: var(--aitoku-school-color);
  --link-color-visited: #000000;
  aspect-ratio: 1;
  background: #ffffff;
  border-bottom: 1px solid #D6D5D3;
  border-left: 1px solid #D6D5D3;
  border-right: 1px solid #D6D5D3;
}

.open_drawer .button_menu {
  gap: 1px;
}
.open_drawer .button_menu .menu_icon {
  background: #993C61 !important;
  border: none;
}
.open_drawer .button_menu .menu_icon a {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
}
.open_drawer .button_menu .menu_icon a:before {
  color: #ffffff !important;
}

#site__footer .page_menu .menu_en > a,
#drawer .page_menu .menu_en > a {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: grid;
  font-size: 16px;
  font-weight: 500;
  grid-area: ja;
  grid-template: "ja  chevron" auto "en  chevron" auto/1fr 20px;
  padding: 0 0 16px 0;
}
#site__footer .page_menu .menu_en > a:hover,
#drawer .page_menu .menu_en > a:hover {
  opacity: 0.8;
  text-decoration: none;
}
#site__footer .page_menu .menu_en > a:after,
#drawer .page_menu .menu_en > a:after {
  color: #ffffff;
  font-size: 12px;
  grid-area: en;
}
#site__footer .page_menu .menu_en > a:before,
#drawer .page_menu .menu_en > a:before {
  border-color: #ffffff;
  color: #ffffff;
  content: "";
  grid-area: chevron;
  transition: all 200ms ease-out;
}
#site__footer .page_menu .sub-menu,
#drawer .page_menu .sub-menu {
  margin-bottom: 35px;
  margin-top: 20px;
}

#site__footer .page_menu .sub-menu,
#site__footer .footer_menu,
#drawer .page_menu .sub-menu,
#drawer .footer_menu {
  --link-color: #ffffff;
  --link-color-hover: #ffffff;
  --link-color-visited: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: space-between;
}
#site__footer .page_menu .sub-menu a,
#site__footer .footer_menu a,
#drawer .page_menu .sub-menu a,
#drawer .footer_menu a {
  font-size: 13px;
  opacity: 0.8;
  transition: all 0.2s linear;
}
#site__footer .page_menu .sub-menu a:hover,
#site__footer .footer_menu a:hover,
#drawer .page_menu .sub-menu a:hover,
#drawer .footer_menu a:hover {
  opacity: 0.5;
  text-decoration: none;
  transition: all 0.2s linear;
}

#drawer .page_menu .sub-menu a:before,
#drawer .footer_menu a:before {
  color: #ffffff;
  content: "";
  margin-right: 10px;
}

#site__footer .page_menu,
#drawer.wide .page_menu {
  display: grid;
  gap: 4%;
}
#site__footer .page_menu .menu_en > a:before,
#drawer.wide .page_menu .menu_en > a:before {
  display: none;
}
#site__footer .page_menu .sub-menu,
#drawer.wide .page_menu .sub-menu {
  margin-left: 0;
}
#site__footer .page_menu .sub-menu a:before,
#drawer.wide .page_menu .sub-menu a:before {
  display: none;
}

#drawer.wide .page_menu {
  grid-template-columns: repeat(4, 1fr);
}

#site__footer .page_menu {
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  #site__footer .page_menu {
    grid-template-columns: repeat(4, 1fr);
  }
}

#site__footer .footer_menu {
  margin-top: 30px;
}
@media (min-width: 768px) {
  #site__footer .footer_menu {
    margin-top: 50px;
  }
}

#drawer .footer_menu {
  margin-bottom: 60px;
  margin-top: 60px;
}

.bp_md #site__footer .footer_menu {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
}
.bp_md #site__footer .footer_menu > * {
  align-items: center;
  display: inline-flex;
}
.bp_md #site__footer .footer_menu > * a {
  line-height: 1;
  white-space: nowrap;
}
.bp_md #site__footer .footer_menu > * a:before {
  display: none;
}
.bp_md #site__footer .footer_menu > *:not(:last-child):after {
  background: #ffffff;
  content: "";
  display: inline-block;
  height: 1em;
  margin: 0 clamp(10px, 2vw, 30px);
  width: 1px;
}

/* ------------------------------ */
/* #site-header */
/* ------------------------------ */
#site__header {
  --link-color: var(--body-color);
  --link-color-hover: var(--aitoku-school-color);
  --link-color-visited: var(--body-color);
  border-bottom: 1px solid #D6D5D3;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}
#site__header > .inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-right: 0;
}
#site__header a:hover {
  text-decoration: none;
}
#site__header .header__title {
  width: clamp(160px, 45%, 180px);
}
@media (min-width: 576px) {
  #site__header .header__title {
    width: clamp(180px, 28%, 220px);
  }
}
#site__header .header__nav,
#site__header .header__access {
  margin-left: auto;
}
#site__header .header__nav {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
#site__header .header__nav > li,
#site__header .header__nav a {
  display: grid;
  place-content: center;
  place-items: center;
}
#site__header .header__nav a {
  font-size: 15px;
  font-weight: 500;
  gap: 8px;
  letter-spacing: 2px;
  line-height: 1;
}
@media (min-width: 992px) {
  #site__header .header__nav a {
    font-size: 16px;
  }
}
#site__header .header__nav .menu_en > a:after {
  color: var(--aitoku-school-color);
  font-size: 11px;
}
#site__header > .inner,
#site__header .header__nav {
  gap: min(3vw, 50px);
}

/* ------------------------------ */
/* hamburger */
/* ------------------------------ */
.header__hamburger {
  align-items: center;
  background: var(--aitoku-school-color);
  display: flex;
  justify-content: center;
  width: clamp(65px, 15%, 80px);
}
.header__hamburger-button {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: 35%;
}
.header__hamburger-bars {
  aspect-ratio: 1.4;
  position: relative;
  width: 100%;
}
.header__hamburger-bars .bar {
  background-color: #ffffff;
  border-radius: 3px;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  transition: all 0.2s;
  width: 100%;
}
.header__hamburger-bars .bar:nth-child(1) {
  top: 0;
}
.header__hamburger-bars .bar:nth-child(2) {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.header__hamburger-bars .bar:nth-child(3) {
  bottom: 0;
}

.open_drawer .header__hamburger-bars .bar:nth-child(1), .open_drawer .header__hamburger-bars .bar:nth-child(3) {
  -webkit-transform: translateY(-50%);
  top: 50%;
  transform: translateY(-50%);
}
.open_drawer .header__hamburger-bars .bar:nth-child(2) {
  opacity: 0;
  width: 0;
}
.open_drawer .header__hamburger-bars .bar:nth-child(1) {
  -webkit-transform: rotate(145deg);
  transform: rotate(145deg);
}
.open_drawer .header__hamburger-bars .bar:nth-child(3) {
  -webkit-transform: rotate(-145deg);
  transform: rotate(-145deg);
}

.header__hamburger {
  aspect-ratio: 1;
  position: relative;
  z-index: 999999;
}

.open_drawer .header__hamburger {
  background: #993C61;
}

.header__hamburger .button_menu {
  left: 0;
  position: absolute;
  top: calc(100% + 1px);
  width: 100%;
}

/* ------------------------------ */
/* drawer */
/* ------------------------------ */
#drawer {
  background: url(../img/drawer/bg.png) repeat var(--aitoku-school-color);
  display: grid;
  gap: 20px;
  grid-template-rows: 1fr auto;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: all 400ms ease-out;
  visibility: hidden;
  width: 100%;
  z-index: 99999;
}
#drawer .scrollable {
  overflow-y: auto;
}
@media (max-width: 767px) {
  #drawer .scrollable > .inner.narrow {
    padding-right: 0;
  }
}
#drawer .button_menu {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, 1fr);
  height: 80px;
  width: 100%;
}
#drawer .deco {
  -moz-column-gap: 12px;
  -webkit-column-gap: 12px;
  align-items: end;
  column-gap: 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  margin-bottom: 20px;
  padding: 0 20px;
  width: 100%;
}
#drawer .deco .c {
  -moz-column-gap: 12px;
  -webkit-column-gap: 12px;
  align-items: end;
  column-gap: 12px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  width: 100%;
}
#drawer .deco .c:before, #drawer .deco .c:after {
  background: #ffffff;
  content: "";
  height: 1px;
  margin-bottom: 4px;
  width: 100%;
}
#drawer .page_menu .menu_en {
  margin-top: 25px;
}
#drawer .page_menu .menu_en > a {
  padding: 0 24px 20px 0;
}
#drawer .page_menu .sub-menu {
  margin-left: 1em;
}
#drawer .page_menu .open_sub > a:before {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.open_drawer #drawer {
  opacity: 1;
  visibility: visible;
}

/* ------------------------------ */
/* #site-footer */
/* ------------------------------ */
#site__footer:not(.fit_footer) {
  margin-top: 100px;
}
#site__footer .block > .inner {
  max-width: 1060px;
}
#site__footer .footer_nav {
  background-image: url(../img/footer/bg.jpg);
  background-position: center;
  background-size: cover;
  padding-bottom: 60px;
  padding-top: 60px;
}
@media (min-width: 768px) {
  #site__footer .footer_nav {
    padding-bottom: 100px;
    padding-top: 100px;
  }
}
#site__footer .footer_address {
  padding-top: 50px;
  text-align: center;
}
#site__footer .footer_address address {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 12px;
  gap: 14px;
  margin-top: 40px;
}
#site__footer .footer_sns {
  --link-color: #000000;
  --link-color-hover: var(--link-color);
  --link-color-visited: var(--link-color);
  --link-decoration-hover: none;
  padding-top: 40px;
  text-align: center;
}
#site__footer .footer_sns h2 {
  color: #BF608B;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
}
#site__footer .footer_sns ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 20px;
  gap: 20px;
  justify-content: center;
  line-height: 1;
  list-style: none;
  margin-top: 12px;
  padding: 0 2em;
}
#site__footer .footer_sns a {
  transition: all 0.2s linear;
}
#site__footer .footer_sns a:hover {
  opacity: 0.5;
  transition: all 0.2s linear;
}
#site__footer .footer_rels {
  display: grid;
  gap: 10px;
  justify-items: center;
  padding-top: 40px;
}
#site__footer .footer_rels a {
  border: 1px solid #E6E6E6;
  display: grid;
  height: 60px;
  place-content: center;
  place-items: center;
  width: 218px;
}
@media (min-width: 512px) {
  #site__footer .footer_rels {
    grid-template-columns: repeat(2, 1fr);
    justify-items: end;
  }
  #site__footer .footer_rels a:nth-child(even) {
    justify-self: start;
  }
}
@media (min-width: 992px) {
  #site__footer .footer_rels {
    grid-template-columns: 1fr 218px 218px 1fr;
  }
}
#site__footer .copyright {
  font-size: 13px;
  padding-bottom: 50px;
  padding-top: 50px;
  text-align: center;
}
@media (min-width: 768px) {
  #site__footer .copyright {
    font-size: 14px;
    padding-bottom: 70px;
    padding-top: 60px;
  }
}

/* ------------------------------ */
/* gotop */
/* ------------------------------ */
#gotop {
  -webkit-transform: translateY(calc(100% + 60px));
  bottom: 60px;
  display: inline-block;
  opacity: 0;
  position: fixed;
  right: 20px;
  transform: translateY(calc(100% + 60px));
  transition: all 0.3s ease-out;
  width: 14px;
  z-index: 9999;
}
#gotop.show {
  -webkit-transform: translateY(0);
  opacity: 1;
  transform: translateY(0);
}

#gotop {
  --link-color: var(--aitoku-school-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--aitoku-school-color);
  height: 135px;
}
#gotop .text {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  bottom: 0;
  display: inline-block;
  font-size: 14px;
  left: 0;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
#gotop:before {
  background: var(--aitoku-school-color);
  content: "";
  display: inline-block;
  height: 60px;
  left: calc(50% - 0.5px);
  position: absolute;
  top: 1px;
  width: 1px;
}
#gotop:after {
  -webkit-transform: rotate(49deg);
  -webkit-transform-origin: 0% 0%;
  background: var(--aitoku-school-color);
  content: "";
  display: inline-block;
  height: 1px;
  left: 50%;
  position: absolute;
  top: 0;
  transform: rotate(49deg);
  transform-origin: 0% 0%;
  width: 82%;
}

/* ------------------------------ */
/* 個別ページ：個々の投稿（含むカスタム投稿タイプ） */
/* ------------------------------ */
.single .article__header {
  margin-top: 30px;
  padding: 60px 0 30px;
}
.single .entry__adjacent-links {
  margin-bottom: 1em;
}
.single .go_archive {
  text-align: center;
}

.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: "«";
  margin-right: 0.2em;
}
.entry__adjacent-links .next {
  margin-left: auto;
}
.entry__adjacent-links .next:after {
  content: "»";
  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;
}

/* ------------------------------ */
/* ローディング */
/* ------------------------------ */
#loading {
  background: transparent linear-gradient(123deg, #EA99B9 0%, #F0AE9A 100%) 0% 0% no-repeat padding-box;
  display: grid;
  height: 100vh;
  left: 0;
  opacity: 1;
  place-content: center;
  place-items: center;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 99999999;
}
#loading img {
  mix-blend-mode: multiply;
}
#loading .desde {
  -moz-column-gap: 10px;
  -webkit-column-gap: 10px;
  align-items: center;
  column-gap: 10px;
  display: none;
  display: grid;
  font-size: 20px;
  font-weight: 300;
  grid-template-columns: 20px auto 20px;
  margin-top: 30px;
  opacity: 0;
  transition: all 400ms ease-out;
}
#loading .desde::before, #loading .desde::after {
  background: var(--body-color);
  content: "";
  height: 1px;
  width: 20px;
}
#loading.loaded {
  opacity: 0;
  transition: all 0.5s linear;
  visibility: hidden;
}

.wf-cormorantgaramond-n3-active #loading .desde {
  opacity: 1;
}

/* ------------------------------ */
/* 画像なし */
/* ------------------------------ */
.noimage {
  background: transparent linear-gradient(123deg, #EA99B9 0%, #F0AE9A 100%) 0% 0% no-repeat padding-box;
  display: grid;
  height: 100%;
  opacity: 0.65;
  place-content: center;
  place-items: center;
  width: 100%;
}
.noimage img {
  -o-object-fit: contain;
  mix-blend-mode: multiply;
  object-fit: contain;
  width: 30%;
}

/* ------------------------------ */
/* ページグループのアイコン */
/* ------------------------------ */
.front-page .tabsp_menu .menu_en-introduction > a:before,
.page_introduction .page_group .page_title:before {
  content: "";
}

.front-page .tabsp_menu .menu_en-education > a:before,
.page_education .page_group .page_title:before {
  content: "";
}

.front-page .tabsp_menu .menu_en-schoollife > a:before,
.page_schoollife .page_group .page_title:before {
  content: "";
}

.front-page .tabsp_menu .menu_en-admissions > a:before,
.page_admissions .page_group .page_title:before {
  content: "";
}

/* ------------------------------ */
/* リンクアイコン付きリンク */
/* ------------------------------ */
.link_icon {
  --link-color: var(--aitoku-el-color);
  --link-color-hover: var(--aitoku-el-color);
  --link-color-visited: var(--aitoku-el-color);
  --link-decoration: none;
  --link-decoration-hover: none;
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  .link_icon {
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  .link_icon {
    font-size: 16px;
  }
}
.link_icon:after {
  color: #736650;
  content: "";
  display: inline-block;
  font-size: 14px;
  margin-left: 3px;
  margin-top: 1px;
}
@media (min-width: 425px) {
  .link_icon:after {
    margin-left: 5px;
  }
}
@media (min-width: 768px) {
  .link_icon:after {
    margin-left: 7px;
    margin-top: 2px;
  }
}
@media (min-width: 992px) {
  .link_icon:after {
    margin-left: 10px;
    margin-top: 3px;
  }
}
.link_icon span {
  display: inline-block;
  padding-bottom: 5px;
  position: relative;
}
.link_icon span:before {
  background: var(--aitoku-el-color);
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  transition: all 300ms ease-out;
  width: 0;
}
.link_icon:hover:after {
  color: var(--aitoku-el-color);
}
.link_icon:hover span:before {
  transition-duration: 0s;
  width: 100%;
}

/* ------------------------------ */
/* {MORE} リンク */
/* ------------------------------ */
.more {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
}
.more:before, .more:after {
  display: inline-block;
}
.more:before {
  content: "{";
  margin-right: 0.5em;
}
.more:after {
  content: "}";
  margin-left: 0.5em;
}

/* ------------------------------ */
/* pagination */
/* ------------------------------ */
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 0.5em;
  justify-content: center;
}
.navigation.pagination .page-numbers {
  white-space: nowrap;
}
.navigation.pagination .prev {
  margin-right: 0.5em;
}
.navigation.pagination .next {
  margin-left: 0.5em;
}

/* ------------------------------ */
/* topics一覧 */
/* ------------------------------ */
.article_archive_item a {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  display: block;
  height: 100%;
  width: 100%;
}
.article_archive_item a .img {
  border: 1px solid transparent;
  transition: all 300ms ease-out;
}
.article_archive_item a .zoom {
  aspect-ratio: 1.5;
  border: 1px solid var(--aitoku-light-brown);
}
.article_archive_item a img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.article_archive_item a .title {
  font-size: 14px;
  margin-top: 15px;
}
@media (min-width: 768px) {
  .article_archive_item a .title {
    font-size: 16px;
  }
}
.article_archive_item a:hover .img {
  border-color: var(--aitoku-light-brown);
  margin: -3px;
  padding: 3px;
}
.article_archive_item a:hover :not(.title) {
  text-decoration: none;
}

.article_archive_item .meta,
.post-type_post.single .article__header .meta,
.post-type_notices.single .article__header .meta,
.post-type_notice_for_parents.single .article__header .meta {
  align-items: center;
  display: flex;
  font-size: 12px;
  margin-top: 20px;
}
.article_archive_item .meta .date,
.post-type_post.single .article__header .meta .date,
.post-type_notices.single .article__header .meta .date,
.post-type_notice_for_parents.single .article__header .meta .date {
  min-width: 6em;
  width: 6em;
}
.article_archive_item .meta .terms,
.post-type_post.single .article__header .meta .terms,
.post-type_notices.single .article__header .meta .terms,
.post-type_notice_for_parents.single .article__header .meta .terms {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  list-style: none;
  padding: 0 0 0 30px;
  position: relative;
}
.article_archive_item .meta .terms:before,
.post-type_post.single .article__header .meta .terms:before,
.post-type_notices.single .article__header .meta .terms:before,
.post-type_notice_for_parents.single .article__header .meta .terms:before {
  background: #D9D4CE;
  content: "";
  display: inline-block;
  height: 1px;
  left: 9px;
  position: absolute;
  top: calc(50% - 0.5px);
  width: 11px;
}
.article_archive_item .meta .terms li,
.post-type_post.single .article__header .meta .terms li,
.post-type_notices.single .article__header .meta .terms li,
.post-type_notice_for_parents.single .article__header .meta .terms li {
  padding-left: 0;
}
.article_archive_item .meta .terms li:before,
.post-type_post.single .article__header .meta .terms li:before,
.post-type_notices.single .article__header .meta .terms li:before,
.post-type_notice_for_parents.single .article__header .meta .terms li:before {
  display: none;
}

/* ------------------------------ */
/* frontpage: slider */
/* ------------------------------ */
.front-page .jumbotron > .inner {
  max-width: none !important;
  padding: 0 !important;
  position: relative;
}
.front-page .jumbotron .deco {
  bottom: -61px;
  position: absolute;
  z-index: 1;
}
.front-page .jumbotron .swiper {
  width: 100%;
}
.front-page .jumbotron .swiper .swiper-slide {
  align-items: center;
  background: #ffffff;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.front-page .jumbotron .swiper .swiper-slide img {
  -o-object-fit: cover;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.front-page .jumbotron .swiper .subimg {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.front-page .jumbotron .swiper .swiper-pagination-bullets {
  align-items: center;
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  justify-content: center;
  left: auto;
  right: 20px;
  top: 0;
  width: auto;
}
.front-page .jumbotron .swiper .swiper-pagination-bullet {
  background: #ffffff;
  border: 1px solid #ffffff;
  opacity: 1;
}
.front-page .jumbotron .swiper .swiper-pagination-bullet-active {
  background: transparent;
  opacity: 1;
}
.front-page .jumbotron .swiper .grad1,
.front-page .jumbotron .swiper .grad2 {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.front-page .jumbotron .swiper .grad1 {
  opacity: 0;
  transition: all 0.4s 0s ease;
  z-index: 1;
}
.front-page .jumbotron .swiper .grad1:before, .front-page .jumbotron .swiper .grad1:after {
  content: "";
  display: block;
  position: absolute;
}
.front-page .jumbotron .swiper .grad1:before {
  aspect-ratio: 1.8674;
  background: transparent radial-gradient(closest-side at 50% 44%, #EA99B9 0%, #EFAB9F00 85%, #F0AE9A00 100%) 0% 0% no-repeat padding-box;
  left: -29.2735%;
  opacity: 0.8;
  top: 58.61%;
  width: 86.66%;
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .grad1:before {
    aspect-ratio: 1;
    left: -16.8%;
    top: 41.37%;
    width: 61.71%;
  }
}
.front-page .jumbotron .swiper .grad1:after {
  aspect-ratio: 2.06;
  background: transparent radial-gradient(closest-side at 50% 44%, #EBAC98 0%, #F0AE9A00 100%) 0% 0% no-repeat padding-box;
  left: -21.63%;
  mix-blend-mode: overlay;
  opacity: 0.5;
  top: 63.05%;
  width: 98.97%;
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .grad1:after {
    aspect-ratio: 1;
    left: -27.89%;
    top: 10.81%;
    width: 61.71%;
  }
}
.front-page .jumbotron .swiper .grad2:before, .front-page .jumbotron .swiper .grad2:after {
  content: "";
  display: block;
  position: absolute;
}
.front-page .jumbotron .swiper .grad2:before {
  background: #FCEEEE;
  height: 100%;
  left: 0;
  mix-blend-mode: overlay;
  opacity: 0.1;
  top: 0;
  width: 100%;
}
.front-page .jumbotron .swiper .grad2:after {
  background: transparent radial-gradient(closest-side at 50% 44%, #EBAC98 0%, #F0AE9A00 100%) 0% 0% no-repeat padding-box;
  height: 80%;
  left: 4.73%;
  mix-blend-mode: screen;
  opacity: 1;
  top: -43%;
  width: 154%;
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .grad2:after {
    height: 72.1%;
    left: 33.9%;
    top: -8.08%;
    width: 76%;
  }
}
.front-page .jumbotron .swiper .catch {
  --catch1FontSize: clamp(3.4rem, 4.5454545455vw + 1.9454545455rem, 7.4rem);
  --catch2FontSize: clamp(1.4rem, 0.9259259259vw + 0.6888888889rem, 1.8rem);
  bottom: var(--catch1FontSize);
  color: #ffffff;
  left: 0;
  position: absolute;
  z-index: 1;
}
@media (min-width: 1200px) {
  .front-page .jumbotron .swiper .catch {
    --catch1FontSize: 74px;
    --catch2FontSize: 18px;
  }
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .catch {
    left: var(--catch1FontSize);
  }
}
.front-page .jumbotron .swiper .catch .catch1 {
  font-size: var(--catch1FontSize);
  letter-spacing: 0.19em;
  line-height: 1.5;
  margin-left: 0.5em;
}
@media (min-width: 768px) {
  .front-page .jumbotron .swiper .catch .catch1 {
    line-height: 1.4;
    margin-left: 0;
  }
}
.front-page .jumbotron .swiper .catch .catch2 {
  font-size: var(--catch2FontSize);
  letter-spacing: 0.16em;
  line-height: 1.88;
  margin-top: 2.55em;
}
.front-page .jumbotron .swiper .catch .catch1-1,
.front-page .jumbotron .swiper .catch .catch1-2,
.front-page .jumbotron .swiper .catch .catch2-1,
.front-page .jumbotron .swiper .catch .catch2-2 {
  opacity: 0;
}
.front-page .jumbotron .swiper.slideChanged .grad1,
.front-page .jumbotron .swiper.slideChanged .catch1-1,
.front-page .jumbotron .swiper.slideChanged .catch1-2,
.front-page .jumbotron .swiper.slideChanged .catch2-1,
.front-page .jumbotron .swiper.slideChanged .catch2-2 {
  opacity: 1;
}
.front-page .jumbotron .swiper.slideChanged .catch1-1,
.front-page .jumbotron .swiper.slideChanged .catch1-2,
.front-page .jumbotron .swiper.slideChanged .catch2-1,
.front-page .jumbotron .swiper.slideChanged .catch2-2 {
  transition: all 1000ms ease;
}
.front-page .jumbotron .swiper.slideChanged .catch1-1 {
  transition-delay: 400ms;
}
.front-page .jumbotron .swiper.slideChanged .catch1-2 {
  transition-delay: 1400ms;
}
.front-page .jumbotron .swiper.slideChanged .catch2-1 {
  transition-delay: 2800ms;
}
.front-page .jumbotron .swiper.slideChanged .catch2-2 {
  transition-delay: 3800ms;
}

/* ------------------------------ */
/* frontpage: carousel (pickup/topics) */
/* ------------------------------ */
.front-page .swiper.carousel {
  padding: 0 15px;
}
.front-page .swiper.carousel .swiper-button-next,
.front-page .swiper.carousel .swiper-button-prev {
  background: #ffffff;
  border: 1px solid #D9D4CE;
  border-radius: 50%;
  height: 30px;
  width: 30px;
}
.front-page .swiper.carousel .swiper-button-next:after,
.front-page .swiper.carousel .swiper-button-prev:after {
  color: var(--aitoku-light-brown);
  font-size: 16px;
}
.front-page .swiper.carousel .swiper-button-next {
  right: 0;
}
.front-page .swiper.carousel .swiper-button-next:after {
  content: "";
}
.front-page .swiper.carousel .swiper-button-prev {
  left: 0;
}
.front-page .swiper.carousel .swiper-button-prev:after {
  content: "";
}

/* ------------------------------ */
/* frontpage: 重要なお知らせ */
/* ------------------------------ */
.front-page .notice {
  background: #ffffff;
  overflow: hidden;
  padding: 5px 0 5px 5px;
  position: relative;
}
.front-page .notice > .inner {
  border-bottom: 1px solid var(--aitoku-light-brown);
  border-left: 1px solid var(--aitoku-light-brown);
  border-top: 1px solid var(--aitoku-light-brown);
  padding: 25px 20px 25px 25px;
  position: relative;
}
.front-page .notice .deco {
  background: #ffffff;
  height: 40px;
  left: 1px;
  position: absolute;
  top: 1px;
  width: 40px;
  z-index: 1;
}
.front-page .notice h2 {
  color: #BF566B;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.front-page .notice .notice_item__date {
  font-size: 12px;
}
@media (min-width: 768px) {
  .front-page .notice .notice_item__date {
    font-size: 13px;
  }
}
.front-page .notice .notice_item__title {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  -moz-column-gap: 8px;
  -webkit-column-gap: 8px;
  align-items: center;
  column-gap: 8px;
  display: grid;
  grid-template-columns: auto 1fr;
}
.front-page .notice .notice_item__title::after {
  align-items: center;
  border: 1px solid #000;
  border-radius: 50%;
  content: "";
  display: inline-flex;
  height: 19px;
  justify-content: center;
  justify-self: end;
  width: 19px;
}
@media (min-width: 768px) {
  .front-page .notice .notice_item__title {
    display: block;
    font-size: 16px;
  }
  .front-page .notice .notice_item__title::after {
    display: none;
  }
}
.front-page .notice .notice_btns {
  display: none;
}
.front-page .notice .notice_btns span {
  cursor: pointer;
}
.front-page .notice .notice_btns span.disabled {
  cursor: auto;
  opacity: 0.35;
  pointer-events: none;
}
.front-page .notice .notice_btn__up::before,
.front-page .notice .notice_btn__down::before {
  border-color: #BF7180;
  color: #BF7180;
}
.front-page .notice .notice_btn__up::before {
  content: "";
}
.front-page .notice .notice_btn__down::before {
  content: "";
}
@media (min-width: 768px) {
  .front-page .notice {
    margin-left: auto;
    margin-top: -150px;
    padding-bottom: 0;
    width: 430px;
    z-index: 1;
  }
  .front-page .notice > .inner {
    padding-bottom: 0;
    padding-right: 25px;
  }
  .front-page .notice .notice_panel {
    margin-top: 15px;
  }
  .front-page .notice .notice_panel.multi_items {
    display: grid;
    grid-template-columns: auto 20px;
  }
  .front-page .notice .notice_items {
    height: 85px;
    overflow: hidden;
    position: relative;
    scroll-behavior: smooth;
  }
  .front-page .notice .notice_item {
    height: 65px;
    margin-bottom: 20px;
  }
  .front-page .notice .notice_item__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
    padding-right: 1em;
    text-overflow: ellipsis;
  }
  .front-page .notice .notice_panel.multi_items .notice_btns {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}

/* ------------------------------ */
/* frontpage: Pickup */
/* ------------------------------ */
.front-page .pickup {
  overflow: hidden;
  padding: 35px 0 55px 5px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .pickup {
    margin-top: 20px;
  }
}
.front-page .pickup > .inner.bg {
  background-image: url(../img/frontpage/pickup/bg.png);
  background-position: center;
  background-size: cover;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
@media (min-width: 1320px) {
  .front-page .pickup > .inner.bg {
    left: calc((100vw - 1160px) / 2);
    margin-left: 0;
    max-width: none;
  }
}
.front-page .pickup > .inner.narrow {
  position: relative;
}
.front-page .pickup h2 {
  border-bottom: 1px solid #BF566B;
  color: #BF566B;
  display: inline-block;
  font-size: 40px;
  line-height: 1;
  padding-bottom: 3px;
  position: relative;
  z-index: 3;
}
.front-page .pickup .swiper {
  box-sizing: content-box;
  margin-right: -15px;
  margin-top: 28px;
  max-width: 904px;
  overflow: visible;
}
@media (min-width: 768px) {
  .front-page .pickup .swiper {
    margin-top: -25px;
    overflow: hidden;
  }
}
.front-page .pickup .swiper-slide {
  aspect-ratio: 1.773;
  margin-right: 25px;
  width: 250px;
}
@media (min-width: 768px) {
  .front-page .pickup .swiper-slide {
    margin-right: 32px;
    width: 280px;
  }
  .front-page .pickup .swiper-slide:last-child {
    margin-right: 0;
  }
}
.front-page .pickup .swiper-slide a {
  display: block;
  height: 100%;
  width: 100%;
}
.front-page .pickup .swiper-slide a img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.front-page .pickup .deco {
  bottom: -35px;
  position: absolute;
  right: 6px;
  z-index: 1;
}

/* ------------------------------ */
/* frontpage: Topics */
/* ------------------------------ */
.front-page .topics {
  --swiper-navigation-top-offset: 30%;
  overflow: hidden;
  padding: 35px 0 55px 5px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .topics {
    margin-top: 20px;
  }
}
.front-page .topics .title {
  align-items: end;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
}
.front-page .topics h2 {
  color: #000000;
  font-size: 26px;
  line-height: 1;
}
.front-page .topics .line {
  align-items: center;
  display: grid;
  grid-template-columns: auto 1fr auto;
  margin-top: 7px;
}
.front-page .topics .line .c {
  background: #000000;
  display: block;
  height: 1px;
  width: 100%;
}
.front-page .topics .swiper {
  box-sizing: content-box;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 21px;
  overflow: visible;
}
@media (min-width: 768px) {
  .front-page .topics .swiper {
    margin-top: 34px;
  }
}
.front-page .topics .swiper-slide {
  margin-right: 25px;
  width: 280px;
}
@media (min-width: 768px) {
  .front-page .topics .swiper-slide {
    margin-right: 44px;
    width: 304px;
  }
  .front-page .topics .swiper-slide:last-child {
    margin-right: 0;
  }
}
.front-page .topics .swiper-pagination {
  margin-top: 34px;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .topics .swiper-pagination {
    margin-top: 40px;
  }
}
.front-page .topics .swiper-pagination-bullet {
  --swiper-pagination-bullet-inactive-color: rgba(153, 150, 145, 0.4);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-size: 6px;
  border: 1px solid var(--swiper-pagination-bullet-inactive-color);
}
.front-page .topics .swiper-pagination-bullet-active {
  --swiper-pagination-color: #ffffff;
  border-color: var(--aitoku-light-brown);
}
.front-page .topics .deco {
  bottom: -35px;
  position: absolute;
  right: 6px;
  z-index: 1;
}

/* ------------------------------ */
/* frontpage: Tablet/Smartphone menu */
/* ------------------------------ */
.front-page .tabsp_menu {
  background: #F0E9DA;
  padding-bottom: 24px;
  padding-top: 24px;
}
.front-page .tabsp_menu .menu {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, 40%);
}
.front-page .tabsp_menu .menu li {
  background: #ffffff;
  padding: 30px 0;
  width: 100%;
}
.front-page .tabsp_menu .menu_en a {
  --link-color: var(--body-color);
  --link-color-hover: var(--aitoku-school-color);
  --link-color-visited: var(--body-color);
  font-size: 15px;
}
.front-page .tabsp_menu .menu_en a:before {
  color: #EA99B9;
  font-size: 30px;
  margin-bottom: 15px;
}
.front-page .tabsp_menu .menu_en a:after {
  color: var(--aitoku-school-color);
  font-size: 13px;
  margin-top: 4px;
}
.front-page .tabsp_menu .menu_en-introduction {
  border-top-left-radius: 5px;
}
.front-page .tabsp_menu .menu_en-education {
  border-top-right-radius: 5px;
}
.front-page .tabsp_menu .menu_en-education a:before {
  font-size: 25px;
  margin: 2px 0 18px;
}
.front-page .tabsp_menu .menu_en-schoollife {
  border-bottom-left-radius: 5px;
}
.front-page .tabsp_menu .menu_en-admissions {
  border-bottom-right-radius: 5px;
}

/* ------------------------------ */
/* frontpage: features */
/* ------------------------------ */
.front-page .three_features {
  overflow: hidden;
  padding: 20px 0 70px;
}
@media (min-width: 768px) {
  .front-page .three_features {
    padding: 30px 0 90px;
  }
}
.front-page .three_features .three_features_items {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 26px;
  padding: 0 0 5px 0;
  row-gap: max(20px, 2.6vw);
}
@media (min-width: 768px) {
  .front-page .three_features .three_features_items {
    margin-top: 36px;
  }
}
@media (min-width: 992px) {
  .front-page .three_features .three_features_items {
    -moz-column-gap: clamp(20px, 2.3vw, 40px);
    -webkit-column-gap: clamp(20px, 2.3vw, 40px);
    column-gap: clamp(20px, 2.3vw, 40px);
    grid-template-columns: repeat(3, 1fr);
    overflow-x: unset;
  }
}
.front-page .three_features .three_features_items > div {
  border: 1px solid #D9D4CE;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  justify-items: center;
  padding: clamp(40px, 5vw, 60px) clamp(20px, 3.6vw, 44px);
}
.front-page .three_features .three_features_items .order {
  color: var(--aitoku-light-brown);
  font-size: 24px;
  line-height: 1;
}
.front-page .three_features .three_features_items .img {
  margin-top: 40px;
}
.front-page .three_features .three_features_items .img img {
  height: 60px;
  width: auto;
}
.front-page .three_features .three_features_items .catch {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 30px;
  text-align: center;
}
.front-page .three_features .three_features_items .dtl {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.857;
  margin-top: 25px;
}

.front-page .features > .inner {
  padding: 0;
}
.front-page .features a {
  --link-color: #ffffff;
  --link-color-hover: var(--aitoku-light-brown);
  --link-color-visited: #ffffff;
  display: block;
  width: 100%;
}
@media (min-width: 768px) {
  .front-page .features a {
    display: grid;
    grid-template-areas: "zoom text";
    grid-template-columns: 50% 50%;
  }
}
.front-page .features a .icon-sep {
  display: block;
  font-size: 4px;
  margin: 22px 0;
}
@media (min-width: 768px) {
  .front-page .features a .icon-sep {
    margin: 30px 0;
  }
}
.front-page .features a .icon-sep:before {
  color: var(--link-color);
}
.front-page .features a:hover {
  text-decoration: none;
}
.front-page .features a:hover .text:before {
  background: var(--link-color-hover);
}
.front-page .features a:hover .icon-sep:before {
  color: var(--link-color-hover);
}
.front-page .features .zoom {
  aspect-ratio: 1.218;
  grid-area: zoom;
  position: relative;
}
@media (min-width: 768px) {
  .front-page .features .zoom {
    aspect-ratio: auto;
  }
}
.front-page .features .zoom img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.front-page .features .text {
  display: grid;
  grid-area: text;
  padding: 75px 0;
  place-content: center;
  place-items: center;
  position: relative;
  text-align: center;
}
@media (min-width: 768px) {
  .front-page .features .text {
    padding: 95px 0;
  }
}
@media (max-width: 767px) {
  .front-page .features .text:before {
    background: var(--link-color);
    content: "";
    display: block;
    height: 60px;
    left: auto;
    position: absolute;
    right: auto;
    top: -20px;
    width: 1px;
  }
}
.front-page .features .text .ja .kind {
  font-size: 13px;
}
@media (min-width: 768px) {
  .front-page .features .text .ja .kind {
    font-size: 14px;
  }
}
.front-page .features .text .ja .detail {
  font-size: 20px;
  font-weight: 500;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .front-page .features .text .ja .detail {
    font-size: 24px;
    margin-top: 15px;
  }
}
.front-page .features .text .en .kind {
  font-size: 13px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .front-page .features .text .en .kind {
    font-size: 14px;
  }
}
.front-page .features .text .en .detail {
  font-size: 10px;
  margin-top: 6px;
}
@media (min-width: 768px) {
  .front-page .features .text .en .detail {
    margin-top: 10px;
  }
}
.front-page .features .policy .text {
  background: #D998B1;
}
.front-page .features .policy:hover .text {
  background: #F5F1EA;
}
.front-page .features .english {
  --link-color: var(--aitoku-light-brown);
  --link-color-hover: #ffffff;
  --link-color-visited: var(--aitoku-light-brown);
}
.front-page .features .english .text {
  background: #F5F1E9;
}
@media (min-width: 768px) {
  .front-page .features .english {
    grid-template-areas: "text zoom";
  }
}
.front-page .features .english:hover .text {
  background: #CE9CD3;
}
.front-page .features .activities .text {
  background: #CE9F99;
}
.front-page .features .activities:hover .text {
  background: #F0E9DA;
}

/* ------------------------------ */
/* frontpage: links */
/* ------------------------------ */
.front-page .links > .inner {
  display: grid;
}
@media (max-width: 767px) {
  .front-page .links > .inner {
    padding: 0;
  }
}
@media (min-width: 768px) {
  .front-page .links > .inner {
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    padding-left: clamp(10px, 5vw, 30px);
  }
}
.front-page .links a {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  --link-decoration: none;
  --link-decoration-hover: none;
  display: block;
  padding-bottom: 30px;
  padding-left: clamp(10px, 5vw, 30px);
  padding-right: clamp(10px, 5vw, 30px);
  padding-top: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .front-page .links a {
    padding: 80px 0 95px;
    text-align: center;
  }
}
.front-page .links a:not(:last-child) {
  border-bottom: 1px solid rgba(153, 150, 145, 0.5);
}
@media (min-width: 768px) {
  .front-page .links a {
    border-right: 1px solid rgba(153, 150, 145, 0.5);
  }
  .front-page .links a:not(:last-child) {
    border-bottom: none;
  }
  .front-page .links a:first-child {
    border-left: 1px solid rgba(153, 150, 145, 0.5);
  }
}
.front-page .links a .title {
  display: grid;
  grid-template: "en  chevron" auto "ja  chevron" auto/1fr 30px;
}
@media (min-width: 768px) {
  .front-page .links a .title {
    display: block;
  }
}
.front-page .links a .title:after {
  content: "";
  grid-area: chevron;
  place-self: center;
}
@media (min-width: 768px) {
  .front-page .links a .title:after {
    display: none;
  }
}
.front-page .links a .title .en {
  color: var(--aitoku-school-color);
  font-size: 12px;
  grid-area: en;
}
.front-page .links a .title .ja {
  color: var(--body-color);
  font-size: 18px;
  grid-area: ja;
  margin-top: 5px;
}
@media (min-width: 768px) {
  .front-page .links a .title .ja {
    color: var(--aitoku-school-color);
    font-size: 24px;
    margin-top: 4px;
  }
}
.front-page .links a .detail img {
  margin-top: 15px;
  vertical-align: middle;
}
.front-page .links a .detail .text,
.front-page .links a .detail .more {
  margin-top: 30px;
}
.front-page .links a:hover {
  background: #FAF8F5;
}
.front-page .links a:hover .more {
  color: var(--aitoku-school-color);
  text-decoration: underline;
}
@media (max-width: 767px) {
  .front-page .links a:hover .title .ja {
    text-decoration: underline;
  }
}

/* ------------------------------ */
/* パンくず */
/* ------------------------------ */
.topic_path {
  background: #FAF8F5;
  padding-bottom: 40px;
  padding-top: 40px;
}
.topic_path ol {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.topic_path a {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  text-decoration: underline;
}
.topic_path li {
  align-items: center;
  display: inline-flex;
}
.topic_path li:not(:last-child):after {
  -webkit-transform: rotate(45deg);
  background: #707070;
  content: "";
  display: inline-block;
  height: 1em;
  margin: 0 12px;
  transform: rotate(45deg);
  width: 1px;
}

/* ------------------------------ */
/* 大ダブルクオーテーション付き */
/* ------------------------------ */
.voice .quote, .quote {
  position: relative;
}
.voice .quote:before, .quote:before {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(180deg, #EA99B9 0%, #F0AE9A 100%) 0% 0% no-repeat padding-box;
  background-clip: text;
  content: "";
  font-size: 1em;
  left: 0;
  position: absolute;
  top: 0;
}

.quote {
  font-size: 20px;
  padding-left: 20px;
  padding-top: 24px;
}

/* ------------------------------ */
/* ページ内ナビ */
/* ------------------------------ */
.inpage_nav {
  --link-color: #2E2E33;
  --link-color-hover: #2E2E33;
  --link-color-visited: #2E2E33;
  --link-decoration:none;
  --link-decoration-hover:none;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  gap: 0.6em;
  justify-content: center;
}
@media (min-width: 768px) {
  .inpage_nav {
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  .inpage_nav {
    font-size: 16px;
  }
}
.inpage_nav a {
  align-items: center;
  background: #ffffff;
  border: 1px solid #D9D4CE;
  border-radius: 2px;
  display: flex;
  gap: 0.6em;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1.625;
  padding: 0.937em 0.7em 0.937em 1.25em;
  white-space: nowrap;
}
.inpage_nav a:after {
  color: var(--aitoku-light-brown);
  content: "";
  font-size: 1.1em;
  margin-top: 2px;
}
.inpage_nav a:hover {
  background: #FAF8F5;
}
.inpage_nav a:hover span {
  text-decoration: underline;
}

/* ------------------------------ */
/* 固定ページ */
/* ------------------------------ */
@media (min-width: 375px) {
  .d-375-none {
    display: none;
  }
}
.single-admission_event .article_title, .page__body h2, .front-page .three_features h2 {
  display: grid;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.75px;
  place-items: center;
}
.single-admission_event .article_title:after, .page__body h2:after, .front-page .three_features h2:after {
  color: var(--aitoku-light-brown);
  content: "";
  font-size: 17px;
  margin-top: 1.17em;
}

.page__header {
  --page_cover_screen_opacity: 0.6;
}
.page__header > .inner {
  padding: 0;
  position: relative;
}
.page__header .cover_image {
  position: relative;
}
.page__header .cover_image.nocover {
  background-image: url(../img/page/cover.jpg);
  background-size: cover;
}
.page__header .cover_image img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.page__header .cover_image:before, .page__header .cover_image:after {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.page__header .cover_image:before {
  background: #736650 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  opacity: 0.2;
  z-index: 2;
}
.page__header .cover_image:after {
  background: transparent linear-gradient(180deg, #EA99B9 0%, #F0AE9A 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: screen;
  opacity: var(--page_cover_screen_opacity);
  z-index: 3;
}
.page__header .page_title {
  line-height: var(--body-line-height);
  z-index: 4;
}
.page__header .page_title .ja {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media (min-width: 576px) {
  .page__header .page_title .ja {
    font-size: 34px;
  }
}
@media (min-width: 640px) {
  .page__header .page_title .ja {
    font-size: 36px;
  }
}
@media (min-width: 768px) {
  .page__header .page_title .ja {
    font-size: 38px;
  }
}
@media (min-width: 992px) {
  .page__header .page_title .ja {
    font-size: 40px;
  }
}

.page__header > .inner:not(.page_group) {
  aspect-ratio: 4.129032;
  display: grid;
  place-items: center;
}
.page__header > .inner:not(.page_group) .cover_image {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.page__header > .inner:not(.page_group) .page_title {
  color: #ffffff;
  padding: 10px;
  position: relative;
  text-align: center;
}

.page__body {
  counter-reset: h2counter;
}
.page__body > section {
  margin-top: 60px;
  padding-bottom: 60px;
  padding-top: 60px;
}
.page__body > section > section {
  margin-top: 60px;
}
.page__body > section > section section {
  margin-top: 50px;
}
.page__body > :nth-child(1) {
  margin-top: 30px;
}
.page__body h2 {
  margin-bottom: 100px;
}
.page__body h2:before {
  color: var(--aitoku-light-brown);
  content: counter(h2counter, decimal-leading-zero);
  counter-increment: h2counter;
  font-size: 30px;
  font-weight: 300;
  letter-spacing: 1.4px;
  line-height: 1;
  margin-bottom: 1em;
}
.page__body .page_catch p {
  text-align: center;
}
.page__body p.page_catch_title {
  color: var(--aitoku-light-brown);
  font-size: 20px !important;
  letter-spacing: 0.04em;
  line-height: 1.9;
  margin-bottom: 40px;
}
.page__body p.page_catch_title span, .page__body p.page_catch_txt span {
  white-space: nowrap;
}

.page__body h3,
.page__footer h3 {
  border-bottom: 1px solid rgba(153, 150, 145, 0.4);
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 30px;
  padding-bottom: 20px;
  padding-left: 1.55em;
  position: relative;
}
.page__body h3:before, .page__body h3:after,
.page__footer h3:before,
.page__footer h3:after {
  content: "";
  display: block;
  position: absolute;
}
.page__body h3:before,
.page__footer h3:before {
  background: #F0AD9B;
  height: 16px;
  left: 5px;
  top: 6px;
  width: 6px;
}
.page__body h3:after,
.page__footer h3:after {
  background: #EA9AB8;
  height: 6px;
  left: 0;
  mix-blend-mode: multiply;
  top: 11px;
  width: 16px;
}

.page__body h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 30px;
  padding-left: 1.05em;
  position: relative;
}
.page__body h4:before {
  background: #F0AE9B;
  background: linear-gradient(0deg, #F0AE9B, #EA99B9);
  content: "";
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  top: 4.5px;
  width: 4px;
}

.page__body h5 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 24px;
}

.page__body ul,
.page__footer ul {
  list-style: none;
  padding: 0;
}
.page__body ul li,
.page__footer ul li {
  padding-left: 1.3em;
  position: relative;
}
.page__body ul li:before,
.page__footer ul li:before {
  border: 1px solid #736650;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 10px;
  left: 0;
  position: absolute;
  top: calc(((1em * var(--body-line-height)) - 10px) / 2 + 1px);
  width: 10px;
}

.post-type_page .page__body {
  --body-line-height:2;
}
.post-type_page .page__body p,
.post-type_page .page__body ul,
.post-type_page .page__body ol {
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: var(--body-line-height);
}
@media (min-width: 768px) {
  .post-type_page .page__body p,
.post-type_page .page__body ul,
.post-type_page .page__body ol {
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  .post-type_page .page__body p,
.post-type_page .page__body ul,
.post-type_page .page__body ol {
    font-size: 16px;
  }
}
.post-type_page .page__body p {
  font-weight: 300;
}

.page__header > .inner.page_group:before {
  bottom: 9px;
  content: url(../img/page/group_deco.svg);
  display: block;
  height: 39px;
  position: absolute;
  right: 5px;
  width: 90px;
  z-index: 1;
  z-index: 5;
}
@media (min-width: 425px) {
  .page__header > .inner.page_group:before {
    height: 43px;
    width: 100px;
  }
}
@media (min-width: 576px) {
  .page__header > .inner.page_group:before {
    height: 51px;
    left: clamp(209px, 26%, 290px);
    right: auto;
    width: 117px;
  }
}
.page__header > .inner.page_group:after {
  border: 1px solid #000;
  bottom: 5px;
  content: "";
  display: block;
  left: 5px;
  position: absolute;
  right: 5px;
  top: 5px;
  z-index: 5;
}
.page__header > .inner.page_group .cover_image {
  --page_cover_screen_opacity: 0.3;
  aspect-ratio: 1.863;
}
.page__header > .inner.page_group .cover_image:before {
  display: none;
}
.page__header > .inner.page_group .cover_image.nocover {
  background-image: url(../img/page/group_cover.jpg);
}
.page__header > .inner.page_group .page_title {
  background: #ffffff;
  grid-area: ja;
  grid-template: "icon" auto "en" auto "ja" auto/auto;
  margin-top: 0.2em;
  padding: 20px 0 40px;
}
.page__header > .inner.page_group .page_title:before {
  font-size: 24px;
  grid-area: icon;
}
.page__header > .inner.page_group .page_title:after {
  color: var(--aitoku-school-color);
  font-size: 14px;
  grid-area: en;
  margin-top: 1.5em;
}
.page__header > .inner.page_group .page_title .ja {
  margin-top: 0.2em;
}
@media (min-width: 576px) {
  .page__header > .inner.page_group .page_title {
    aspect-ratio: 1.4;
    bottom: 0;
    left: 0;
    padding: 0;
    position: absolute;
    width: clamp(280px, 30%, 334px);
  }
  .page__header > .inner.page_group .page_title:before {
    font-size: 26px;
  }
  .page__header > .inner.page_group .page_title:after {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .page__header > .inner.page_group .page_title {
    aspect-ratio: 1.2;
  }
  .page__header > .inner.page_group .page_title:before {
    font-size: 28px;
  }
  .page__header > .inner.page_group .page_title:after {
    font-size: 18px;
  }
}
@media (min-width: 992px) {
  .page__header > .inner.page_group .page_title {
    aspect-ratio: 1.08;
  }
  .page__header > .inner.page_group .page_title:before {
    font-size: 30px;
  }
  .page__header > .inner.page_group .page_title:after {
    font-size: 20px;
  }
}

/* ------------------------------ */
/* 固定ページ：子・兄弟ページ一覧 */
/* ------------------------------ */
.single-admission_event .event_single, .event_card, .page_card .dtl {
  position: relative;
}
.single-admission_event .event_single .deco_l, .event_card .deco_l, .page_card .dtl .deco_l,
.single-admission_event .event_single .deco_r,
.event_card .deco_r,
.page_card .dtl .deco_r {
  height: 25px;
  position: absolute;
  width: 25px;
}
.single-admission_event .event_single .deco_l, .event_card .deco_l, .page_card .dtl .deco_l {
  left: 0;
  top: 0;
}
.single-admission_event .event_single .deco_r, .event_card .deco_r, .page_card .dtl .deco_r {
  -webkit-transform: rotate(180deg);
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}

.page_card {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  border: 1px solid var(--aitoku-light-brown);
  position: relative;
}
.page_card:after {
  border: 1px solid var(--aitoku-light-brown);
  bottom: -1px;
  content: "";
  left: -1px;
  position: absolute;
  right: -1px;
  top: -1px;
  transition: all 300ms linear;
}
.page_card .img {
  width: 100%;
}
.page_card .img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.page_card .val {
  display: grid;
}
.page_card .val .title {
  border-bottom: 1px solid #D6D5D3;
  border-top: 1px solid #D6D5D3;
  padding: 30px 0;
}
.page_card .val .title .ja {
  font-weight: 500;
  line-height: 1.7;
}
.page_card .val .more {
  color: var(--aitoku-school-color);
  font-size: 10px;
  margin-top: 20px;
}
.page_card:hover {
  background: #FAF8F5;
  text-decoration: none;
}
.page_card:hover:after {
  bottom: -5px;
  left: -5px;
  right: -5px;
  top: -5px;
  transition: all 400ms linear;
}
.page_card:hover .more {
  text-decoration: underline;
}

.page_cards {
  padding-top: 60px;
}

.page_children_cards {
  -moz-column-gap: clamp(10px, 3.5vw, 40px);
  -webkit-column-gap: clamp(10px, 3.5vw, 40px);
  column-gap: clamp(10px, 3.5vw, 40px);
  display: grid;
  grid-template-columns: min(100%, 530px);
  justify-content: center;
  row-gap: 40px;
}
@media (min-width: 992px) {
  .page_children_cards {
    grid-template-columns: repeat(2, 1fr);
    justify-content: unset;
  }
}
.page_children_cards .page_card {
  display: grid;
  grid-template-columns: 47% 50%;
  justify-content: space-between;
}
.page_children_cards .page_card .img {
  aspect-ratio: 0.787;
}
.page_children_cards .page_card .dtl {
  display: grid;
  place-items: center;
  width: 100%;
}
.page_children_cards .page_card .val {
  width: 65.55%;
}
.page_children_cards .page_card .val .title .ja {
  font-size: 18px;
}
.page_children_cards .page_card .val .more {
  justify-self: end;
}

.page_sibling_cards {
  -moz-column-gap: clamp(10px, 3.5vw, 40px);
  -webkit-column-gap: clamp(10px, 3.5vw, 40px);
  column-gap: clamp(10px, 3.5vw, 40px);
  display: grid;
  grid-template-columns: min(100%, 340px);
  justify-content: center;
  row-gap: 40px;
}
@media (min-width: 576px) {
  .page_sibling_cards {
    grid-template-columns: repeat(2, 1fr);
    justify-content: unset;
  }
}
@media (min-width: 992px) {
  .page_sibling_cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page_sibling_cards .page_card {
  display: grid;
}
.page_sibling_cards .page_card .img {
  aspect-ratio: 1.463;
}
.page_sibling_cards .page_card .dtl {
  height: 100%;
  width: 100%;
}
.page_sibling_cards .page_card .val {
  margin: 40px auto;
  text-align: center;
  width: 76.47%;
}
.page_sibling_cards .page_card .val .title .ja {
  font-size: 16px;
}

/* ------------------------------ */
/* 固定ページ：サイトマップ */
/* ------------------------------ */
.page_sitemap .sitemap {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  line-height: 2;
}
.page_sitemap .sitemap a:after {
  display: none;
}
.page_sitemap .sitemap ul + ul {
  margin-top: 1.5em;
}
.page_sitemap .sitemap .page_menu {
  display: grid;
  gap: 24px 6%;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.page_sitemap .sitemap .page_menu > li ul {
  margin-left: 2em;
  margin-top: 0.5em;
}

/* ------------------------------ */
/* 固定ページ：部品：左にはみ出す画像付きテキスト */
/* ------------------------------ */
@media (min-width: 768px) {
  .post-type_page .block > .inner.page_main-image_and_text {
    display: grid;
    gap: 4%;
    grid-template-columns: auto 22em;
  }
}
@media (min-width: 992px) {
  .post-type_page .block > .inner.page_main-image_and_text {
    gap: 5%;
  }
}
@media (min-width: 1200px) {
  .post-type_page .block > .inner.page_main-image_and_text {
    gap: 6%;
  }
}
.post-type_page .block > .inner.page_main-image_and_text img {
  width: 100%;
}
.post-type_page .block > .inner.page_main-image_and_text .txt {
  padding-left: clamp(10px, 5vw, 30px);
  padding-right: clamp(10px, 5vw, 30px);
}
@media (min-width: 768px) {
  .post-type_page .block > .inner.page_main-image_and_text .txt {
    align-self: end;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 992px) {
  .post-type_page .block > .inner.page_main-image_and_text .txt {
    margin-bottom: clamp(10px, 19.2307692308vw + -180.7692307692px, 50px);
  }
}
.post-type_page .block > .inner.page_main-image_and_text .txt .label {
  color: var(--aitoku-light-brown);
  font-size: 20px;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.post-type_page .block > .inner.page_main-image_and_text .txt .label span {
  white-space: nowrap;
}
.post-type_page .block > .inner.page_main-image_and_text .txt .dtl {
  font-size: 14px !important;
}

/* ------------------------------ */
/* 固定ページ：section部品：画像付きh3 */
/* ------------------------------ */
.post-type_page .sec_h3_img {
  display: grid;
  grid-template: "h3" auto "img" auto "p" auto/1fr;
  margin-top: 50px;
}
@media (min-width: 768px) {
  .post-type_page .sec_h3_img {
    -moz-column-gap: 4%;
    -webkit-column-gap: 4%;
    column-gap: 4%;
    grid-template: "img h3" auto "img p" 1fr/40% 1fr;
  }
}
@media (min-width: 992px) {
  .post-type_page .sec_h3_img:not(:nth-of-type(1)) {
    margin-top: 40px;
  }
}
@media (min-width: 1200px) {
  .post-type_page .sec_h3_img:not(:nth-of-type(1)) {
    margin-top: 30px;
  }
}
.post-type_page .sec_h3_img h3 {
  grid-area: h3;
}
.post-type_page .sec_h3_img p {
  grid-area: p;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .post-type_page .sec_h3_img p {
    margin-top: 0;
  }
}
.post-type_page .sec_h3_img img {
  grid-area: img;
  width: 100%;
}

/* ------------------------------ */
/* 固定ページ：部品：説明画像 */
/* ------------------------------ */
.post-type_page .img_grid2, .post-type_page .img_grid3,
.topics_archive_items {
  -moz-column-gap: clamp(10px, 3.5vw, 40px);
  -webkit-column-gap: clamp(10px, 3.5vw, 40px);
  column-gap: clamp(10px, 3.5vw, 40px);
  display: grid;
  margin-top: 1em;
  row-gap: 30px;
}
.post-type_page .img_grid2 img, .post-type_page .img_grid3 img,
.topics_archive_items img {
  width: 100%;
}

@media (min-width: 768px) {
  .post-type_page .img_grid3,
.topics_archive_items {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .post-type_page .img_grid2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ------------------------------ */
/* 固定ページ：部品：保護者の声 */
/* ------------------------------ */
.voice {
  background: #FAF8F5;
  display: grid;
  grid-template: "img" auto "quote" auto/1fr;
  padding: 20px;
}
@media (min-width: 576px) {
  .voice {
    padding: 30px;
  }
}
@media (min-width: 768px) {
  .voice {
    -moz-column-gap: 40px;
    -webkit-column-gap: 40px;
    column-gap: 40px;
    grid-template: "img quote" auto/244px 1fr;
    padding: 40px;
  }
}
.voice img {
  grid-area: img;
  justify-self: center;
  max-width: 244px;
  width: 100%;
}
.voice .quote {
  font-size: 16px;
  grid-area: quote;
  padding-bottom: 0.8em;
  padding-left: 1.5em;
  padding-top: 1.5em;
}
.voice .quote .name {
  font-weight: 500;
  margin-top: 3em;
}
.voice .quote .rel {
  color: #737380;
  font-size: 14px !important;
  font-weight: 300;
}
@media (min-width: 768px) {
  .voice .quote {
    padding-left: 2em;
    padding-top: 2em;
  }
  .voice .quote:after {
    background: rgba(153, 150, 145, 0.4);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    top: 24px;
    width: 1px;
  }
}

.voice + .voice {
  margin-top: 40px;
}

/* ------------------------------ */
/* 固定ページ：ごあいさつ・校歌・校章 */
/* ------------------------------ */
.page_principal p + p {
  margin-top: 1em;
}
.page_principal .greetings .img {
  width: 100%;
}
.page_principal .greetings .img img {
  height: auto;
  width: 100%;
}
.page_principal .greetings .txt {
  margin-top: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .page_principal .greetings .txt {
    margin-top: 0;
  }
}
.page_principal .greetings .txt p:last-child {
  margin-top: 3em;
  text-align: right;
}
@media (min-width: 768px) {
  .page_principal .greetings {
    display: grid;
    grid-template-columns: 56.45% 39.54%;
    justify-content: space-between;
  }
}
.page_principal .song .lyrics {
  display: grid;
  gap: 50px;
  grid-template: "first" auto "second" auto "third" auto/auto;
  justify-content: center;
}
.page_principal .song .lyrics p {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  letter-spacing: 7px;
  line-height: 2.6;
  margin-top: 0;
  text-orientation: upright;
  writing-mode: vertical-rl;
}
.page_principal .song .lyrics .first {
  grid-area: first;
}
.page_principal .song .lyrics .second {
  grid-area: second;
}
.page_principal .song .lyrics .third {
  grid-area: third;
}
@media (min-width: 512px) {
  .page_principal .song .lyrics {
    grid-template: "second first" auto "third third" auto/auto auto;
  }
}
@media (min-width: 768px) {
  .page_principal .song .lyrics {
    gap: 52px;
    grid-template: "third second first" auto/auto auto auto;
    justify-content: start;
  }
  .page_principal .song .lyrics p {
    line-height: 2.2;
  }
}
@media (min-width: 880px) {
  .page_principal .song .lyrics {
    gap: 54px;
  }
  .page_principal .song .lyrics p {
    line-height: 2.4;
  }
}
@media (min-width: 992px) {
  .page_principal .song .lyrics {
    gap: 56px;
  }
  .page_principal .song .lyrics p {
    line-height: 2.6;
  }
}
.page_principal .song .img {
  margin-top: -13%;
  position: relative;
  text-align: right;
  z-index: -1;
}
.page_principal .song .img img {
  height: auto;
  width: clamp(280px, 80%, 710px);
}
@media (min-width: 768px) {
  .page_principal .emblem {
    display: grid;
    gap: 20px;
    grid-template-columns: min(35vw, 400px) 1fr;
    justify-content: space-between;
  }
}
.page_principal .emblem .img {
  text-align: center;
}
.page_principal .emblem .origin {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .page_principal .emblem .origin {
    margin-top: 0;
  }
}
.page_principal .emblem .origin dl {
  align-items: center;
  display: grid;
  font-size: 16px;
  gap: 20px;
  grid-template-columns: auto auto;
  list-style: none;
}
@media (min-width: 768px) {
  .page_principal .emblem .origin dl {
    grid-template-columns: auto 1fr;
  }
}
.page_principal .emblem .origin dt {
  font-weight: normal;
  justify-self: end;
}
.page_principal .emblem .origin dd {
  align-items: center;
  display: grid;
  gap: 20px;
  grid-template-columns: clamp(20px, 6vw, 70px) auto;
  justify-self: start;
}
.page_principal .emblem .origin dd:before {
  background: rgba(153, 150, 145, 0.4);
  content: "";
  display: inline-block;
  height: 1px;
  width: 100%;
}
.page_principal .vedruna,
.page_principal .opening {
  background: #FAF8F5;
}
.page_principal .vedruna .box,
.page_principal .opening .box {
  align-items: center;
  display: grid;
  font-size: 16px;
  font-weight: 300;
  gap: min(4vw, 40px);
  margin: 0 auto;
  max-width: 1000px;
  padding: 30px 20px;
}
.page_principal .vedruna .box .img,
.page_principal .opening .box .img {
  margin: 0 auto;
  text-align: center;
}
.page_principal .vedruna .box .img .caption,
.page_principal .opening .box .img .caption {
  line-height: 1.5;
  margin-top: 0.5em;
}
.page_principal .vedruna .box .img .caption span,
.page_principal .opening .box .img .caption span {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .page_principal .vedruna .box {
    grid-template-columns: auto 1fr;
  }
  .page_principal .vedruna .box .img .caption span {
    display: block;
  }
}
.page_principal .opening {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .page_principal .opening .box {
    grid-template-columns: 1fr auto;
  }
}
.page_principal .sister_school {
  overflow: hidden;
}
.page_principal .sister_school img {
  grid-area: img;
  width: 100%;
}
.page_principal .sister_school .msg {
  font-size: 16px;
  font-weight: 500;
  grid-area: msg;
  padding: 30px 0;
  white-space: nowrap;
}
.page_principal .sister_school .dtl {
  font-size: 14px !important;
  grid-area: dtl;
}
@media (min-width: 768px) {
  .page_principal .sister_school img {
    float: right;
    margin: 0 0 1em min(4vw, 40px);
    width: 75%;
  }
}
.page_principal .audio {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

/* ------------------------------ */
/* 固定ページ：教育方針 */
/* ------------------------------ */
.page_policy .top {
  position: relative;
}
@media (min-width: 768px) {
  .page_policy .top img {
    margin-top: calc(220px + -220 * (100vw - 768px) / 256);
  }
}
@media (min-width: 1024px) {
  .page_policy .top img {
    margin-top: 0;
  }
}
.page_policy .top .top_box {
  padding-left: clamp(10px, 5vw, 30px);
  padding-right: clamp(10px, 5vw, 30px);
}
@media (min-width: 768px) {
  .page_policy .top .top_box {
    background: #ffffff;
    left: 0;
    padding: 40px;
    position: absolute;
    top: 0;
    width: calc(620px + -160 * (100vw - 768px) / 224);
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .page_policy .top .top_box {
    width: 460px;
  }
}
.page_policy .top .top_box .quote {
  color: var(--aitoku-light-brown);
  font-size: calc(24px + 8 * (100vw - 320px) / 448);
  font-weight: 500;
}
@media (min-width: 768px) {
  .page_policy .top .top_box .quote {
    font-size: 32px;
  }
}
.page_policy .top .top_box p {
  font-size: 14px !important;
}
.page_policy .top .top_box p + p {
  margin-top: 2.857em;
}
@media (min-width: 768px) {
  .page_policy .inner.page_main-image_and_text .txt {
    align-self: center !important;
  }
}
.page_policy .motto {
  display: grid;
  gap: 30px;
}
@media (min-width: 768px) {
  .page_policy .motto {
    gap: calc(20px + 12 * (100vw - 768px) / 224);
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .page_policy .motto {
    gap: 3.63%;
  }
}
.page_policy .motto .item {
  border: 1px solid rgba(153, 150, 145, 0.4);
  margin-top: 60px;
  padding: 90px 0 70px;
  position: relative;
  text-align: center;
}
.page_policy .motto .item span {
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  font-size: 26px;
  font-weight: 500;
  left: calc(50% - 60px);
  place-content: center;
  position: absolute;
  text-shadow: 1px 1px 0px #FFFFFF;
  top: -60px;
  width: 120px;
}
.page_policy .motto .item dt {
  color: var(--aitoku-light-brown);
  font-size: 22px;
  font-weight: 500;
}
.page_policy .motto .item dt:after {
  content: "";
  display: block;
  font-size: 4px;
  margin: 20px 0;
}
.page_policy .motto .item dd {
  font-weight: 500;
  margin-top: 1em;
}
.page_policy .motto .item:nth-child(1) span {
  background: #F4E0E7;
  color: #CF7C9E;
}
.page_policy .motto .item:nth-child(1) dt:after {
  color: #D998B1;
}
.page_policy .motto .item:nth-child(2) span {
  background: #EBE1F2;
  color: #B381D6;
}
.page_policy .motto .item:nth-child(2) dt:after {
  color: #CFA2D4;
}
.page_policy .motto .item:nth-child(3) span {
  background: #F1E2E0;
  color: #CF847C;
}
.page_policy .motto .item:nth-child(3) dt:after {
  color: #CE9F99;
}

/* ------------------------------ */
/* 固定ページ：保護者のライフスタイルを応援 */
/* ------------------------------ */
.page_supporting-parents-lifestyles .dtlbtn {
  --link-color: var(--aitoku-el-color);
  --link-color-hover: var(--aitoku-el-color);
  --link-color-visited: var(--aitoku-el-color);
  --link-decoration: none;
  --link-decoration-hover: none;
  border: 1px solid var(--aitoku-el-color);
  border-radius: 2px;
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  margin-top: 40px;
  padding: 1em;
}
@media (min-width: 768px) {
  .page_supporting-parents-lifestyles .dtlbtn {
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  .page_supporting-parents-lifestyles .dtlbtn {
    font-size: 16px;
  }
}
.page_supporting-parents-lifestyles .dtlbtn span {
  display: inline-block;
  padding-bottom: 5px;
  position: relative;
}
.page_supporting-parents-lifestyles .dtlbtn span:before {
  background: var(--aitoku-el-color);
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  transition: all 300ms ease-out;
  transition-delay: unset;
  width: 0;
}
.page_supporting-parents-lifestyles .dtlbtn:hover {
  background: #FAF8F5;
}
.page_supporting-parents-lifestyles .dtlbtn:hover span:before {
  transition-delay: 200ms;
  transition-duration: 0s;
  width: 100%;
}
.page_supporting-parents-lifestyles .img_txt .img {
  width: 100%;
}
.page_supporting-parents-lifestyles .img_txt .img img {
  height: auto;
  width: 100%;
}
@media (min-width: 768px) {
  .page_supporting-parents-lifestyles .img_txt.security .img {
    aspect-ratio: 1.514;
    background: #FBF8F5;
    place-content: center;
  }
}
.page_supporting-parents-lifestyles .img_txt .txt {
  margin-top: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .page_supporting-parents-lifestyles .img_txt .txt {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .page_supporting-parents-lifestyles .img_txt {
    display: grid;
    grid-template-columns: 56.45% 39.54%;
    justify-content: space-between;
  }
}

/* ------------------------------ */
/* 固定ページ：宗教教育 */
/* ------------------------------ */
.page_religious-education .img_grid3 p {
  color: var(--aitoku-light-brown);
  font-size: 16px;
  font-weight: 500;
  margin-top: 1em;
  text-align: center;
}
@media (min-width: 768px) {
  .page_religious-education .img_grid3 p {
    font-size: 17px;
  }
}
@media (min-width: 992px) {
  .page_religious-education .img_grid3 p {
    font-size: 18px;
  }
}

/* ------------------------------ */
/* 固定ページ：個性に合わせた指導 */
/* ------------------------------ */
.page_personalized-instruction .power {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.page_personalized-instruction .power .items {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}
@media (min-width: 576px) {
  .page_personalized-instruction .power {
    flex-direction: row;
  }
  .page_personalized-instruction .power .items {
    flex-direction: row;
  }
}
.page_personalized-instruction .power span {
  display: grid;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  place-items: center;
  white-space: nowrap;
}
.page_personalized-instruction .power .item {
  background: transparent linear-gradient(109deg, #EA99B9 0%, #F0AE9A 100%) 0% 0% no-repeat padding-box;
  border-radius: 30px;
  color: #ffffff;
  height: 2.85em;
  width: 8em;
}
.page_personalized-instruction .power + .sec_h3_img {
  margin-top: 80px;
}
.page_personalized-instruction .sub_title {
  color: var(--aitoku-school-color);
  display: block;
  margin-bottom: 1em;
  width: 100%;
}
.page_personalized-instruction .awards {
  --body-line-height: 1.5;
}
.page_personalized-instruction .awards ul {
  -moz-column-gap: clamp(10px, 3.5vw, 40px);
  -webkit-column-gap: clamp(10px, 3.5vw, 40px);
  column-gap: clamp(10px, 3.5vw, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 40px;
}
.page_personalized-instruction .awards ul span {
  color: #737380;
  display: inline-block;
  font-size: 14px !important;
  font-weight: 300;
  line-height: 1.85;
  margin-top: 1em;
}

/* ------------------------------ */
/* 固定ページ：英語教育 */
/* ------------------------------ */
.page_english-education .point .chart {
  border-top: 1px solid #D9D4CE;
  display: grid;
  grid-template-columns: auto 1fr;
}
.page_english-education .point .chart .t,
.page_english-education .point .chart .d {
  border-bottom: 1px solid #D9D4CE;
  border-left: 1px solid #D9D4CE;
  font-weight: 500;
  padding: 1em;
}
.page_english-education .point .chart .t {
  background: #FBF8F5;
  height: 100%;
  place-content: center;
  text-align: center;
  width: 100%;
}
.page_english-education .point .chart .d {
  border-right: 1px solid #D9D4CE;
}
.page_english-education .cert {
  display: grid;
  grid-template: "    gakunen_g12       gakunen_g12        ." 4em "    mokuhyou_hd  mokuhyou_lbl_g12        ." auto "    mokuhyou_hd  mokuhyou_dtl_g12        ." auto "      kousei_hd    kousei_lbl_g12        ." auto "      kousei_hd    kousei_dtl_g12        ." auto "    gakunen_g34       gakunen_g34        ." 4em "mokuhyou_hd_g34  mokuhyou_lbl_g34        ." auto "mokuhyou_hd_g34  mokuhyou_dtl_g34        ." auto "  kousei_hd_g34    kousei_lbl_g34        ." auto "  kousei_hd_g34    kousei_dtl_g34        ." auto "    gakunen_g56       gakunen_g56 tyuugaku" 4em "mokuhyou_hd_g56  mokuhyou_lbl_g56 tyuugaku" auto "mokuhyou_hd_g56  mokuhyou_dtl_g56 tyuugaku" auto "  kousei_hd_g56    kousei_lbl_g56 tyuugaku" auto "  kousei_hd_g56    kousei_dtl_g56 tyuugaku" auto/3em 1fr 3em;
}
.page_english-education .cert .gakunen,
.page_english-education .cert .mokuhyou_hd,
.page_english-education .cert .kousei_hd,
.page_english-education .cert .tyuugaku {
  font-weight: 500;
  place-content: center;
}
.page_english-education .cert .gakunen,
.page_english-education .cert .mokuhyou_hd,
.page_english-education .cert .kousei_hd,
.page_english-education .cert .dmy {
  background: #FBF8F5;
}
.page_english-education .cert .gakunen {
  border: 1px solid rgba(153, 150, 145, 0.4);
}
.page_english-education .cert,
.page_english-education .cert .mokuhyou_hd,
.page_english-education .cert .mokuhyou_dtl {
  border-bottom: 1px solid rgba(153, 150, 145, 0.4);
}
.page_english-education .cert .mokuhyou_hd,
.page_english-education .cert .mokuhyou_lbl,
.page_english-education .cert .mokuhyou_dtl,
.page_english-education .cert .kousei_hd,
.page_english-education .cert .kousei_lbl,
.page_english-education .cert .kousei_dtl,
.page_english-education .cert .tyuugaku {
  border-right: 1px solid rgba(153, 150, 145, 0.4);
}
.page_english-education .cert .mokuhyou_hd,
.page_english-education .cert .kousei_hd {
  border-left: 1px solid rgba(153, 150, 145, 0.4);
}
.page_english-education .cert .tyuugaku {
  border-top: 1px solid rgba(153, 150, 145, 0.4);
}
.page_english-education .cert .dmy {
  display: none;
  grid-area: dmy;
}
.page_english-education .cert .gakunen {
  color: var(--aitoku-el-color);
  text-align: center;
}
.page_english-education .cert .gakunen.g12 {
  grid-area: gakunen_g12;
}
.page_english-education .cert .gakunen.g34 {
  grid-area: gakunen_g34;
}
.page_english-education .cert .gakunen.g56 {
  grid-area: gakunen_g56;
}
.page_english-education .cert .mokuhyou_hd,
.page_english-education .cert .kousei_hd,
.page_english-education .cert .tyuugaku {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  letter-spacing: 0.357em;
  padding-bottom: 1em;
  padding-top: 1em;
  text-align: center;
  text-orientation: upright;
  writing-mode: vertical-rl;
}
.page_english-education .cert .mokuhyou_hd {
  grid-area: mokuhyou_hd;
}
.page_english-education .cert .mokuhyou_hd.g34 {
  grid-area: mokuhyou_hd_g34;
}
.page_english-education .cert .mokuhyou_hd.g56 {
  grid-area: mokuhyou_hd_g56;
}
.page_english-education .cert .kousei_hd {
  grid-area: kousei_hd;
}
.page_english-education .cert .kousei_hd.g34 {
  grid-area: kousei_hd_g34;
}
.page_english-education .cert .kousei_hd.g56 {
  grid-area: kousei_hd_g56;
}
.page_english-education .cert .tyuugaku {
  grid-area: tyuugaku;
}
.page_english-education .cert .mokuhyou_lbl,
.page_english-education .cert .kousei_lbl {
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 1em;
}
.page_english-education .cert .mokuhyou_dtl,
.page_english-education .cert .kousei_dtl {
  padding: 1em;
}
.page_english-education .cert .mokuhyou_lbl {
  font-weight: 500;
}
@media (min-width: 992px) {
  .page_english-education .cert .mokuhyou_lbl {
    text-align: center;
  }
}
.page_english-education .cert .mokuhyou_lbl span {
  white-space: nowrap;
}
.page_english-education .cert .mokuhyou_lbl.g12 {
  grid-area: mokuhyou_lbl_g12;
}
.page_english-education .cert .mokuhyou_lbl.g34 {
  grid-area: mokuhyou_lbl_g34;
}
.page_english-education .cert .mokuhyou_lbl.g56 {
  grid-area: mokuhyou_lbl_g56;
}
.page_english-education .cert .mokuhyou_dtl.g12 {
  grid-area: mokuhyou_dtl_g12;
}
.page_english-education .cert .mokuhyou_dtl.g34 {
  grid-area: mokuhyou_dtl_g34;
}
.page_english-education .cert .mokuhyou_dtl.g56 {
  grid-area: mokuhyou_dtl_g56;
}
.page_english-education .cert .mokuhyou_dtl.g34 ul, .page_english-education .cert .mokuhyou_dtl.g56 ul {
  border: 1px solid rgba(153, 150, 145, 0.4);
  border-radius: 4px;
  padding: 1em;
}
.page_english-education .cert .kousei_lbl {
  color: var(--aitoku-el-color);
  font-weight: 500;
}
.page_english-education .cert .kousei_lbl.g12 {
  grid-area: kousei_lbl_g12;
}
.page_english-education .cert .kousei_lbl.g34 {
  grid-area: kousei_lbl_g34;
}
.page_english-education .cert .kousei_lbl.g56 {
  grid-area: kousei_lbl_g56;
}
.page_english-education .cert .kousei_dtl.g12 {
  grid-area: kousei_dtl_g12;
}
.page_english-education .cert .kousei_dtl.g34 {
  grid-area: kousei_dtl_g34;
}
.page_english-education .cert .kousei_dtl.g56 {
  grid-area: kousei_dtl_g56;
}
@media (min-width: 992px) {
  .page_english-education .cert {
    grid-template: "        dmy       gakunen_g12       gakunen_g34       gakunen_g56  tyuugaku" 4em "mokuhyou_hd  mokuhyou_lbl_g12  mokuhyou_lbl_g34  mokuhyou_lbl_g56  tyuugaku" auto "mokuhyou_hd  mokuhyou_dtl_g12  mokuhyou_dtl_g56  mokuhyou_dtl_g56  tyuugaku" auto "  kousei_hd    kousei_lbl_g12    kousei_lbl_g34    kousei_lbl_g56  tyuugaku" auto "  kousei_hd    kousei_dtl_g12    kousei_dtl_g34    kousei_dtl_g56  tyuugaku" auto/3em auto auto auto 3em;
  }
  .page_english-education .cert .dmy {
    border: 1px solid rgba(153, 150, 145, 0.4);
    display: block;
  }
  .page_english-education .cert .gakunen {
    border-left: none;
  }
  .page_english-education .cert .gakunen.g12,
.page_english-education .cert .gakunen.g34,
.page_english-education .cert .mokuhyou_lbl.g12,
.page_english-education .cert .mokuhyou_lbl.g34,
.page_english-education .cert .mokuhyou_dtl.g12,
.page_english-education .cert .mokuhyou_dtl.g34,
.page_english-education .cert .kousei_lbl.g12,
.page_english-education .cert .kousei_lbl.g34,
.page_english-education .cert .kousei_dtl.g12,
.page_english-education .cert .kousei_dtl.g34 {
    border-right: none;
  }
  .page_english-education .cert .mokuhyou_hd.g34,
.page_english-education .cert .mokuhyou_hd.g56,
.page_english-education .cert .mokuhyou_dtl.g34,
.page_english-education .cert .kousei_hd.g34,
.page_english-education .cert .kousei_hd.g56 {
    display: none;
  }
}
.page_english-education .result {
  background: #F5ECF1;
  display: grid;
  gap: 30px;
  padding: 30px 0;
}
@media (min-width: 768px) {
  .page_english-education .result {
    gap: 0;
    grid-template-columns: 1fr auto;
  }
}
@media (min-width: 880px) {
  .page_english-education .result {
    grid-template-columns: 1fr 1fr;
  }
}
.page_english-education .result img {
  justify-self: center;
  max-width: 340px;
  width: 80%;
}
@media (min-width: 768px) {
  .page_english-education .result img {
    margin: 0 20px;
    width: clamp(220px, 53.5714285714vw + -191.4285714286px, 340px);
  }
}
@media (min-width: 880px) {
  .page_english-education .result img {
    margin-left: 30px;
  }
}
.page_english-education .result .table {
  padding: 0 0.5em;
  text-align: end;
}
@media (min-width: 375px) {
  .page_english-education .result .table {
    padding: 0 5vw;
  }
}
@media (min-width: 768px) {
  .page_english-education .result .table {
    justify-self: end;
    padding: 0;
  }
}
.page_english-education .result .table .chart {
  border-right: 1px solid rgba(153, 150, 145, 0.4);
  display: grid;
  grid-template: "t5  t4  t3  t2s  t2" 2.3em "d5  d4  d3  d2s  d2" 2.3em/1fr 1fr 1fr 1fr 1fr;
}
@media (min-width: 768px) {
  .page_english-education .result .table .chart {
    display: inline-grid;
  }
}
.page_english-education .result .table .chart .t,
.page_english-education .result .table .chart .d {
  align-content: center;
  border-bottom: 1px solid rgba(153, 150, 145, 0.4);
  border-left: 1px solid rgba(153, 150, 145, 0.4);
  font-weight: 500;
  padding: 0 0.5em;
  text-align: center;
}
@media (min-width: 426px) {
  .page_english-education .result .table .chart .t,
.page_english-education .result .table .chart .d {
    padding: 0 1em;
  }
}
.page_english-education .result .table .chart .t {
  background: #F0CBDC;
  border-top: 1px solid rgba(153, 150, 145, 0.4);
}
.page_english-education .result .table .chart .t5 {
  grid-area: t5;
}
.page_english-education .result .table .chart .t4 {
  grid-area: t4;
}
.page_english-education .result .table .chart .t3 {
  grid-area: t3;
}
.page_english-education .result .table .chart .t2s {
  grid-area: t2s;
}
.page_english-education .result .table .chart .t2 {
  grid-area: t2;
}
.page_english-education .result .table .chart .d5 {
  grid-area: d5;
}
.page_english-education .result .table .chart .d4 {
  grid-area: d4;
}
.page_english-education .result .table .chart .d3 {
  grid-area: d3;
}
.page_english-education .result .table .chart .d2s {
  grid-area: d2s;
}
.page_english-education .result .table .chart .d2 {
  grid-area: d2;
}
.page_english-education .stage.img_grid3 .t {
  color: var(--aitoku-el-color);
  font-weight: 500;
  margin-top: 1.2em;
}
.page_english-education .stage.img_grid3 .d {
  margin-top: 1.2em;
}
.page_english-education .message.img_grid2 .t {
  font-weight: 500;
  margin-bottom: 1.2em;
}
.page_english-education .message.img_grid2 .name {
  color: #737380;
  font-size: 14px !important;
  margin-top: 1.2em;
}

/* ------------------------------ */
/* 固定ページ：愛徳の活動 */
/* ------------------------------ */
.page_acts-of-charity .motto {
  --body-line-height:1.4;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
}
.page_acts-of-charity .motto .motto1 {
  color: var(--aitoku-el-color);
  font-size: 57px;
}
.page_acts-of-charity .motto .motto2 {
  color: var(--aitoku-el-color);
  font-size: 40px;
  margin-top: 0.5em;
}
.page_acts-of-charity .motto .motto3 {
  --body-line-height: 1.83;
  color: var(--aitoku-light-brown);
  font-size: 18px;
  margin-top: 2.22em;
}
.page_acts-of-charity .motto span {
  white-space: nowrap;
}
.page_acts-of-charity .motto + .sec_h3_img {
  margin-top: 90px;
}

/* ------------------------------ */
/* 固定ページ：12年一貫教育 */
/* ------------------------------ */
.btn_grad_slidein, .post-type-archive-notice_for_parents .download, .page_12-year-integrated-education .high .btn {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  --link-decoration-hover: none;
  border: 1px solid #2E2E33;
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  padding: 1.4em 0.8em;
  position: relative;
  text-align: center;
  width: 100%;
}
.btn_grad_slidein:before, .post-type-archive-notice_for_parents .download:before, .page_12-year-integrated-education .high .btn:before {
  background: transparent linear-gradient(90deg, #EA99B9 0%, #F0AE9A 100%) 0% 0% no-repeat padding-box;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0.5;
  position: absolute;
  top: 0;
  transition: all 200ms ease-in;
  width: 0;
  z-index: -1;
}
.btn_grad_slidein:hover:before, .post-type-archive-notice_for_parents .download:hover:before, .page_12-year-integrated-education .high .btn:hover:before {
  width: 100%;
}

.page_12-year-integrated-education .head {
  text-align: center;
}
.page_12-year-integrated-education .head span {
  white-space: nowrap;
}
.page_12-year-integrated-education .kinder,
.page_12-year-integrated-education .el,
.page_12-year-integrated-education .high {
  padding: clamp(20px, 6.25vw, 50px);
}
.page_12-year-integrated-education .intro .logo {
  height: clamp(30px, 9vw, 40px);
  margin-bottom: 30px;
  mix-blend-mode: multiply;
  width: auto;
}
.page_12-year-integrated-education .intro .desc .t {
  font-size: 18px;
  font-weight: 500;
}
.page_12-year-integrated-education .intro .desc p + p {
  margin-top: 1.5em;
}
.page_12-year-integrated-education .kinder {
  border: 1px solid #D9D4CE;
  margin-top: 40px;
  padding: clamp(16px, 3.125vw, 30px) clamp(20px, 6.25vw, 50px);
}
@media (min-width: 576px) {
  .page_12-year-integrated-education .kinder {
    margin-top: 50px;
  }
}
@media (min-width: 768px) {
  .page_12-year-integrated-education .kinder {
    margin-top: 60px;
  }
}
.page_12-year-integrated-education .kinder .logos {
  -moz-column-gap: clamp(20px, 6vw, 60px);
  -webkit-column-gap: clamp(20px, 6vw, 60px);
  align-items: center;
  column-gap: clamp(20px, 6vw, 60px);
  display: inline-flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
  row-gap: 20px;
}
.page_12-year-integrated-education .kinder .logo {
  margin-bottom: 0;
}
.page_12-year-integrated-education .kinder .img {
  float: right;
  margin-left: 20px;
  width: clamp(80px, 16vw, 120px);
}
.page_12-year-integrated-education .el {
  background: rgba(234, 153, 185, 0.3);
  border: 1px solid #D9D4CE;
  border-top: none;
}
.page_12-year-integrated-education .el .img {
  display: block;
  max-width: 470px;
  width: 90%;
}
@media (min-width: 576px) {
  .page_12-year-integrated-education .el .img {
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .page_12-year-integrated-education .el .img {
    float: right;
    margin: 0 0 20px 30px;
    width: 48%;
  }
}
.page_12-year-integrated-education .el .intro .desc {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .page_12-year-integrated-education .el .intro .desc {
    margin-top: 0;
  }
}
.page_12-year-integrated-education .el .intro .desc .t {
  color: #BF608B;
}
.page_12-year-integrated-education .el .img_grid3 {
  margin-top: 40px;
}
.page_12-year-integrated-education .el .img_grid3 .lbl {
  -webkit-transform: translateY(-50%);
  background: rgba(251, 235, 241, 0.9);
  color: #BF608B;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  margin: 0 auto;
  padding: 0.8em 0.5em;
  text-align: center;
  transform: translateY(-50%);
  width: 74%;
}
.page_12-year-integrated-education .el .img_grid3 .t {
  color: #2E2E33;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.44;
}
.page_12-year-integrated-education .el .img_grid3 .d {
  color: #737380;
  font-size: 14px;
  line-height: 1.625;
  margin-top: 1em;
}
.page_12-year-integrated-education .high {
  border: 1px solid #D9D4CE;
  border-top: none;
}
.page_12-year-integrated-education .high .img {
  display: block;
  max-width: 470px;
  width: 90%;
}
@media (min-width: 576px) {
  .page_12-year-integrated-education .high .img {
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .page_12-year-integrated-education .high .img {
    float: right;
    margin: 0 0 20px 30px;
    width: 48%;
  }
}
.page_12-year-integrated-education .high .desc {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .page_12-year-integrated-education .high .desc {
    margin-top: 0;
  }
}
.page_12-year-integrated-education .high .t {
  color: #A872A5;
}
.page_12-year-integrated-education .high .t2 {
  color: #2E2E33;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
}
.page_12-year-integrated-education .high .btn {
  margin: 40px auto 0;
  max-width: 320px;
}
.page_12-year-integrated-education .future {
  border: 1px solid #D9D4CE;
  border-top: none;
  color: #2E2E33;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.8;
  padding: 3.3em 1em;
  position: relative;
  text-align: center;
}
.page_12-year-integrated-education .future .deco_l,
.page_12-year-integrated-education .future .deco_r {
  height: 25px;
  position: absolute;
  width: 25px;
}
.page_12-year-integrated-education .future .deco_l {
  left: 10px;
  top: 10px;
}
.page_12-year-integrated-education .future .deco_r {
  -webkit-transform: rotate(180deg);
  bottom: 10px;
  right: 10px;
  transform: rotate(180deg);
}
.page_12-year-integrated-education .future span {
  letter-spacing: 0.04em;
  white-space: nowrap;
}

/* ------------------------------ */
/* 固定ページ：充実した放課後 */
/* ------------------------------ */
.page_after-school-activities .img_grid2 {
  margin-top: 40px;
}
.page_after-school-activities .img_grid2 p {
  color: #BF608B;
  font-weight: 500;
  margin-top: 1.25em;
}

/* ------------------------------ */
/* 固定ページ：愛徳の一日 */
/* ------------------------------ */
.page_a-day-of-charity .schedule {
  display: grid;
  row-gap: 30px;
}
@media (min-width: 576px) {
  .page_a-day-of-charity .schedule {
    -moz-column-gap: clamp(10px, 3.5vw, 40px);
    -webkit-column-gap: clamp(10px, 3.5vw, 40px);
    column-gap: clamp(10px, 3.5vw, 40px);
    grid-template-columns: 1fr minmax(220px, 40%);
    row-gap: 0;
  }
}
@media (min-width: 768px) {
  .page_a-day-of-charity .schedule {
    -moz-column-gap: clamp(30px, calc(30px + 50 * (100vw - 768px) / 432), 80px);
    -webkit-column-gap: clamp(30px, calc(30px + 50 * (100vw - 768px) / 432), 80px);
    column-gap: clamp(30px, calc(30px + 50 * (100vw - 768px) / 432), 80px);
    grid-template-columns: 1fr clamp(57%, calc(57% + 5 * (100vw - 768px) / 432), 62%);
  }
}
.page_a-day-of-charity .schedule .times ul {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .page_a-day-of-charity .schedule .times ul {
    margin-bottom: clamp(30px, calc(30px + 30 * (100vw - 768px) / 432), 60px);
  }
}
.page_a-day-of-charity .schedule .times ul li {
  align-items: center;
  border-bottom: 1px dashed rgba(153, 150, 145, 0.4);
  color: #736650;
  display: grid;
  font-weight: 500;
  grid-template-columns: auto auto 1fr;
  line-height: 1;
  padding: 1.25em 0;
}
.page_a-day-of-charity .schedule .times ul li:first-child {
  border-top: 1px dashed rgba(153, 150, 145, 0.4);
}
.page_a-day-of-charity .schedule .times ul li:before {
  display: none;
}
.page_a-day-of-charity .schedule .times ul li img {
  aspect-ratio: 1;
  width: 2.25em;
}
.page_a-day-of-charity .schedule .times ul li .tm {
  display: inline-block;
  text-align: center;
  width: 5.5em;
}
.page_a-day-of-charity .schedule .times ul li .lbl:before {
  background: rgba(153, 150, 145, 0.4);
  content: "";
  display: inline-block;
  height: 1em;
  margin-right: 1.25em;
  width: 1px;
}
.page_a-day-of-charity .schedule .img_grid2 {
  margin-top: 0;
}
@media (min-width: 768px) {
  .page_a-day-of-charity .schedule .img_grid2 {
    row-gap: 0;
  }
  .page_a-day-of-charity .schedule .img_grid2 > :nth-child(odd) {
    margin-bottom: 30px;
  }
  .page_a-day-of-charity .schedule .img_grid2 > :nth-child(even) {
    margin-top: 30px;
  }
}
.page_a-day-of-charity .lunch .img_grid3 {
  margin-top: 50px;
}
.page_a-day-of-charity .lunch .collab {
  background: #FAF8F5;
  margin-top: 50px;
}
.page_a-day-of-charity .lunch .collab .box {
  align-items: center;
  display: grid;
  gap: min(4vw, 40px);
  margin: 0 auto;
  max-width: 1000px;
  padding: 30px 20px;
}
.page_a-day-of-charity .lunch .collab .box img {
  align-self: start;
  margin: 0 auto;
  width: 100%;
}
.page_a-day-of-charity .lunch .collab .box .summary {
  font-size: 16px;
  font-weight: 300;
}
.page_a-day-of-charity .lunch .collab .box .summary .t {
  font-weight: 500;
  padding: 1em 0;
}
@media (min-width: 768px) {
  .page_a-day-of-charity .lunch .collab .box .summary .t {
    padding-top: 0;
  }
}
@media (min-width: 768px) {
  .page_a-day-of-charity .lunch .collab .box {
    grid-template-columns: 60% 1fr;
  }
}
.page_a-day-of-charity .uniform {
  display: grid;
  row-gap: 30px;
}
@media (min-width: 768px) {
  .page_a-day-of-charity .uniform {
    display: block;
  }
}
.page_a-day-of-charity .uniform img {
  width: 100%;
}

/* ------------------------------ */
/* 固定ページ：年間行事 */
/* ------------------------------ */
.page_annual-events .event {
  -moz-column-gap: 3vw;
  -webkit-column-gap: 3vw;
  column-gap: 3vw;
  display: grid;
  grid-template-columns: auto 1fr;
}
.page_annual-events .event .lbl .circle {
  aspect-ratio: 1;
  border: 1px solid var(--aitoku-el-color);
  border-radius: 50%;
  color: var(--aitoku-el-color);
  display: grid;
  place-content: center;
  place-items: center;
  width: clamp(70px, 12.15vw, 90px);
}
.page_annual-events .event .lbl .circle .month {
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}
.page_annual-events .event .lbl .circle .en {
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  margin-top: 0.5em;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .page_annual-events .event .lbl .circle .en {
    font-size: 12px;
  }
}
.page_annual-events .event:not(:last-child) .lbl {
  display: grid;
  grid-template-rows: auto 1fr;
  place-items: center;
}
.page_annual-events .event:not(:last-child) .lbl:after {
  background: var(--aitoku-el-color);
  content: "";
  display: block;
  height: 100%;
  min-height: 1em;
  width: 1px;
}
.page_annual-events .event .events {
  -moz-column-gap: clamp(10px, 3.5vw, 40px);
  -webkit-column-gap: clamp(10px, 3.5vw, 40px);
  column-gap: clamp(10px, 3.5vw, 40px);
  display: flex;
  flex-wrap: wrap;
  padding-bottom: clamp(20px, 6.25vw, 40px);
  row-gap: 30px;
  row-gap: clamp(16px, 5vw, 30px);
}
.page_annual-events .event .events img {
  width: 100%;
}
@media (min-width: 576px) {
  .page_annual-events .event .events > div {
    min-height: clamp(70px, 12.15vw, 90px);
    min-width: calc((100% - clamp(10px, 3.5vw, 40px)) / 2);
    width: calc((100% - clamp(10px, 3.5vw, 40px)) / 2);
  }
  .page_annual-events .event .events .list {
    flex-grow: 1;
  }
}
@media (min-width: 768px) {
  .page_annual-events .event .events {
    padding-bottom: 30px;
  }
  .page_annual-events .event .events > div {
    min-width: calc((100% - (clamp(10px, 3.5vw, 40px) * 2)) / 3);
    width: calc((100% - (clamp(10px, 3.5vw, 40px) * 2)) / 3);
  }
}

/* ------------------------------ */
/* 固定ページ：募集要項 */
/* ------------------------------ */
.page_recruitment .recruitment {
  margin-bottom: 4em;
}
.page_recruitment span {
  white-space: nowrap;
}
.page_recruitment table {
  margin-bottom: 2em;
}
.page_recruitment td {
  border: 1px solid rgba(153, 150, 145, 0.4);
  padding: 1em 1em;
}
.page_recruitment th {
  border: 1px solid rgba(153, 150, 145, 0.4);
  padding: 1em 1em;
  text-align: center;
}
.page_recruitment table .left_th {
  width: 10em;
}
.page_recruitment .table_center {
  margin-bottom: 2em;
  margin-left: auto;
  margin-right: auto;
}
.page_recruitment .inversion {
  background: var(--aitoku-school-color);
  color: #fff;
}
.page_recruitment h4 {
  margin-top: 2em;
}
.page_recruitment .overflow {
  overflow-x: auto;
}
.page_recruitment .table_spmax {
  min-width: 350px;
}
.page_recruitment .table_all_center {
  width: 100%;
}
.page_recruitment .table_all_center td {
  text-align: center;
}
.page_recruitment .table_all_center th.left_th {
  background: #f9f8f7;
}
.page_recruitment .nittei th.left_th {
  white-space: nowrap;
}
.page_recruitment .sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .page_recruitment .table_spmax {
    width: 100%;
  }
  .page_recruitment .table_spreplacement th, .page_recruitment .table_spreplacement td {
    display: block;
    width: 100%;
  }
}
@media (max-width: 1000px) {
  .page_recruitment .sp {
    display: block;
  }
  .page_recruitment .pc {
    display: none;
  }
}
/* ------------------------------ */
/* 固定ページ：学校説明会・公開行事 */
/* ------------------------------ */
.page_admissions_events .event_remark {
  background: rgba(234, 153, 185, 0.3);
  font-size: 18px;
  padding: 50px 1em;
  text-align: center;
}
.page_admissions_events .event_remark p + p {
  margin-top: 0.5em;
}
.page_admissions_events .event_remark span {
  white-space: nowrap;
}
.page_admissions_events .event_remark i {
  color: #BF608B;
  font-style: normal;
}
.page_admissions_events .event_cards {
  margin-top: 40px;
}

/* ------------------------------ */
/* 固定ページ：Q&A */
/* ------------------------------ */
.page_q-a .QA_Q {
  color: var(--aitoku-school-color);
  font-size: 1.4em;
  margin-top: 3rem !important;
}
.page_q-a .QA_Q::before {
  content: "Q";
  font-size: 18px;
  margin-right: 1em;
}

/* ------------------------------ */
/* 固定ページ：WEB出願について */
/* ------------------------------ */
.page_web-application h3 {
  margin-top: 2em;
}
.page_web-application .contact_mc {
  background: #FAF8F5;
  margin-top: 2em;
  padding: 2em;
}
.page_web-application a.to_mc {
  background-color: #fff;
  border: 1px solid;
  border-radius: 4px;
  color: var(--aitoku-school-color);
  display: inline-block;
  margin: 0 auto;
  padding: 11px 20px 11px 40px;
  position: relative;
  text-align: left;
  text-decoration: none;
  transition: all 0.3s;
}
.page_web-application a.to_mc:before, .page_web-application a.to_mc:after {
  bottom: 0;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  transition: all 0.3s;
}
.page_web-application a.to_mc:before {
  background: var(--aitoku-school-color);
  border-radius: 50%;
  height: 16px;
  left: 15px;
  width: 16px;
}
.page_web-application a.to_mc:after {
  -webkit-transform: rotate(45deg);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  height: 5px;
  left: 20px;
  transform: rotate(45deg);
  width: 5px;
}
.page_web-application a.to_mc:hover {
  background-color: var(--aitoku-school-color);
  color: #fff;
}
.page_web-application a.to_mc:hover:before {
  background: #fff;
}
.page_web-application a.to_mc:hover:after {
  border-color: var(--aitoku-school-color);
}

/* ------------------------------ */
/* 固定ページ：進路実績 */
/* ------------------------------ */
.page_career-path ul.career-path-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.page_career-path ul.career-path-list li {
  display: block;
  margin-bottom: 0.5em;
  width: calc(100% / 3);
}

@media screen and (max-width: 768px) {
  .page_career-path ul.career-path-list li {
    width: calc(100% / 2);
  }
}
/* ------------------------------ */
/* 固定ページ：アクセス */
/* ------------------------------ */
.page_access .googlemap {
  width: 100%;
}
.page_access .googlemap iframe {
  height: 600px;
  width: 100%;
}
.page_access .route_map img {
  width: 100%;
}
.page_access .route_map2 {
  width: 100%;
}
.page_access .route_map2 img {
  display: block;
  margin: 0 auto;
  max-width: 400px;
  width: 100%;
}
.page_access .bus_route ul li.jr:before {
  background: #ee86a7;
  border: #ee86a7;
}
.page_access .bus_route ul li.sanyo:before {
  background: #e38e00;
  border: #e38e00;
}
.page_access .bus_route ul li.subway:before {
  background: #6ab82c;
  border: #6ab82c;
}
.page_access ul.buscourse li .buscourse_name {
  color: var(--aitoku-school-color);
}
.page_access ul.buscourse li .busstop span {
  border: 1px solid #D6D5D3;
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0 0.5em;
}

@media screen and (max-width: 768px) {
  .page_access .route_map {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    padding-bottom: 10px;
  }
  .page_access .route_map img {
    display: block;
    height: 400px;
    width: auto;
  }
}
/* ------------------------------ */
/* 固定ページ：フォームページ共通 */
/* ------------------------------ */
.form_page dl {
  margin: 0 auto;
  max-width: 500px;
  width: 100%;
}
.form_page dd, .form_page dt {
  padding: 0.5em;
}
.form_page dd input, .form_page dd textarea {
  width: 100%;
}
.form_page .mwform-tel-field input:not(:first-child) {
  margin-left: 0.5em;
}
.form_page .form_submit-button input {
  display: block;
  margin: 0.5em auto;
}
.form_page .nessesary {
  color: var(--aitoku-school-color);
}

/* ------------------------------ */
/* 固定ページ：資料請求 */
/* ------------------------------ */
.page_request .gray_backbox {
  background: #FAF8F5;
  margin-top: 2em;
  padding: 2em;
}
.page_request ol li {
  padding: 0.5em;
}

/* ------------------------------ */
/* 固定ページ：保護者の方へ */
/* ------------------------------ */
.page_for_parents .page__header .page_title .ja {
  font-size: 32px;
}
@media (min-width: 576px) {
  .page_for_parents .page__header .page_title .ja {
    font-size: 28px;
  }
}
@media (min-width: 640px) {
  .page_for_parents .page__header .page_title .ja {
    font-size: 28px;
  }
}
@media (min-width: 768px) {
  .page_for_parents .page__header .page_title .ja {
    font-size: 28px;
  }
}
@media (min-width: 992px) {
  .page_for_parents .page__header .page_title .ja {
    font-size: 31px;
  }
}
@media (min-width: 1200px) {
  .page_for_parents .page__header .page_title .ja {
    font-size: 34px;
  }
}

/* ------------------------------ */
/* 固定ページ：保護者の方へ：ダウンロード */
/* ------------------------------ */
.page_downloads .download_list {
  margin: 2em auto;
  max-width: 50em;
}
.page_downloads .download_list ul a {
  display: block;
  margin: 1em 0;
}
.page_downloads .download_txt {
  margin: 2em auto;
  max-width: 50em;
}
.page_downloads .adobe {
  border: 1px solid var(--aitoku-light-brown);
  margin: 2em auto;
  max-width: 50em;
  padding: 1em;
}

/* ------------------------------ */
/* イベント：一覧 */
/* ------------------------------ */
.event_filters {
  display: flex;
}
.event_filters > * {
  border-bottom: 1px solid #2E2E33;
  border-right: 1px solid #2E2E33;
  border-top: 1px solid #2E2E33;
  color: #2E2E33;
  cursor: pointer;
  display: grid;
  font-size: 12px;
  font-weight: 500;
  padding: 20px 0;
  place-content: center;
  text-align: center;
  width: 20%;
}
.event_filters > *:first-child {
  border-left: 1px solid #2E2E33;
}
.event_filters > *.disabled {
  color: rgba(46, 46, 51, 0.5);
  cursor: not-allowed;
}
.event_filters > *.current {
  background: #F0E9DA;
  position: relative;
}
.event_filters > *.current:before, .event_filters > *.current:after {
  -webkit-transform: translateX(-50%);
  border-style: solid;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
  width: 0;
}
.event_filters > *.current:before {
  border-bottom: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid #2E2E33;
}
.event_filters > *.current:after {
  border-bottom: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #f0e9da;
}
@media (min-width: 425px) {
  .event_filters > * {
    font-size: 13px;
  }
}
@media (min-width: 576px) {
  .event_filters > * {
    font-size: 14px;
  }
  .event_filters > * br {
    display: none;
  }
}
@media (min-width: 768px) {
  .event_filters > * {
    font-size: 16px;
  }
}

.event_cards {
  -moz-column-gap: clamp(10px, 3.5vw, 40px);
  -webkit-column-gap: clamp(10px, 3.5vw, 40px);
  column-gap: clamp(10px, 3.5vw, 40px);
  display: grid;
  grid-template-columns: min(100%, 340px);
  justify-content: center;
  row-gap: 40px;
}
@media (min-width: 576px) {
  .event_cards {
    grid-template-columns: repeat(2, 1fr);
    justify-content: unset;
  }
}
@media (min-width: 992px) {
  .event_cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

.event_card {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  border: 1px solid var(--aitoku-light-brown);
  display: grid;
  padding: 50px 0 40px;
  place-items: center;
}
.event_card.hide {
  display: none;
}
.event_card:before {
  border: 1px solid var(--aitoku-light-brown);
  bottom: -1px;
  content: "";
  left: -1px;
  position: absolute;
  right: -1px;
  top: -1px;
  transition: all 300ms linear;
  z-index: 0;
}
.event_card .img {
  width: 100%;
}
.event_card .img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.event_card .event_date {
  font-weight: 600;
  line-height: 1;
}
.event_card .event_date .d {
  display: inline-block;
  font-size: 30px;
}
.event_card .event_date .w {
  display: inline-block;
  font-size: 14px;
}
.event_card .event_time {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  margin-top: 12px;
}
.event_card .event_title,
.event_card .event_target {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 76.47%;
}
.event_card .event_title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  align-content: end;
  border-top: 1px solid #D6D5D3;
  display: -webkit-box;
  font-size: 16px;
  font-weight: 500;
  height: 56px;
  line-height: 1.625;
  margin-top: 22px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.event_card .event_target {
  align-content: start;
  border-bottom: 1px solid #D6D5D3;
  height: 46px;
  margin-top: 10px;
}
.event_card .event_target span {
  background: #D9D4CE;
  font-size: 12px;
  padding: 0.2em 0.5em;
}
.event_card .event_target span.reserve {
  background: rgba(191, 86, 107, 0.2);
  color: #BF566B;
}
.event_card .event_kind {
  background: #736650;
  color: #ffffff;
  display: grid;
  font-size: 13px;
  height: 2.3em;
  padding: 0 1em;
  place-content: center;
  position: absolute;
  right: 0;
  top: 0;
}
.event_card .more {
  color: var(--aitoku-school-color);
  font-size: 10px;
  margin-top: 22px;
}
.event_card .dtl {
  position: relative;
}
.event_card .val {
  display: grid;
}
.event_card:hover {
  background: #FAF8F5;
  text-decoration: none;
}
.event_card:hover:before {
  bottom: -5px;
  left: -5px;
  right: -5px;
  top: -5px;
  transition: all 300ms linear;
}
.event_card:hover .more {
  text-decoration: underline;
}

/* ------------------------------ */
/* イベント：個別 */
/* ------------------------------ */
.single-admission_event .event_single {
  border: 1px solid var(--aitoku-light-brown);
  padding-bottom: 60px;
  padding-top: 60px;
}
.single-admission_event .event_single > * {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
.single-admission_event .event_single .event_head {
  -moz-column-gap: 4%;
  -webkit-column-gap: 4%;
  align-items: flex-end;
  border-bottom: 1px solid rgba(153, 150, 145, 0.4);
  column-gap: 4%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-bottom: 40px;
  row-gap: 20px;
}
.single-admission_event .event_single .event_head .event_datetime {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 14px;
}
.single-admission_event .event_single .event_head .event_date {
  font-weight: 600;
  line-height: 1;
}
.single-admission_event .event_single .event_head .event_date .d {
  display: inline-block;
  font-size: 40px;
}
.single-admission_event .event_single .event_head .event_date .w {
  display: inline-block;
}
.single-admission_event .event_single .event_head .event_time {
  font-weight: 600;
  line-height: 1;
}
.single-admission_event .event_single .event_head .event_date .w,
.single-admission_event .event_single .event_head .event_time {
  font-size: 18px;
}
.single-admission_event .event_single .event_head .event_meta {
  -moz-column-gap: 10px;
  -webkit-column-gap: 10px;
  align-items: flex-end;
  column-gap: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 14px;
}
.single-admission_event .event_single .event_head .event_target,
.single-admission_event .event_single .event_head .event_public {
  background: #D9D4CE;
  font-size: 16px;
  padding: 0.2em 0.5em;
}
.single-admission_event .event_single .event_head .event_target {
  background: #D9D4CE;
}
.single-admission_event .event_single .event_head .event_public {
  background: #736650;
  color: #ffffff;
}
.single-admission_event .event_single img {
  max-width: 100%;
  width: 100%;
}
.single-admission_event .event_single .event_dtl {
  margin-top: 40px;
}
.single-admission_event .event_single .event_dtl:not(.noimg):not(.notxt) .txt {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .single-admission_event .event_single .event_dtl:not(.noimg):not(.notxt) {
    -moz-column-gap: 4%;
    -webkit-column-gap: 4%;
    column-gap: 4%;
    display: grid;
    grid-template-columns: 48.5% 1fr;
    justify-content: space-between;
  }
  .single-admission_event .event_single .event_dtl:not(.noimg):not(.notxt) .txt {
    margin-top: 0;
  }
}
.single-admission_event .event_single .event_dtl.notxt .img {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .single-admission_event .event_single .event_dtl.notxt .img {
    width: 80%;
  }
}
.single-admission_event .event_single .btnbox {
  font-size: 16px;
  margin-top: 40px;
  text-align: center;
}
.single-admission_event .event_single .btnbox .btn {
  border: 1px solid var(--body-color);
  display: inline-grid;
  height: 4em;
  padding-left: 2em;
  padding-right: 2em;
  place-content: center;
  white-space: nowrap;
  width: clamp(240px, 60%, 320px);
}
.single-admission_event .event_single .btnbox a.btn {
  --link-color: var(--body-color);
  --link-color-hover: var(--body-color);
  --link-color-visited: var(--body-color);
  --link-decoration-hover: none;
  position: relative;
}
.single-admission_event .event_single .btnbox a.btn.disabled {
  opacity: 0.4;
  pointer-events: none;
}
.single-admission_event .event_single .btnbox a.btn:before {
  background: #F0E9DA;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 200ms ease-in;
  width: 0;
  z-index: -1;
}
.single-admission_event .event_single .btnbox a.btn:hover:before {
  transition: all 300ms ease-in-out;
  width: 100%;
}

/* ------------------------------ */
/* アーカイブ */
/* ------------------------------ */
.archive .page__footer .inner,
.single .page__footer .inner {
  margin-top: 40px;
}

.archive .archive_lists {
  display: grid;
  row-gap: 40px;
}
@media (min-width: 576px) {
  .archive .archive_lists {
    -moz-column-gap: clamp(30px, 5vw, 60px);
    -webkit-column-gap: clamp(30px, 5vw, 60px);
    column-gap: clamp(30px, 5vw, 60px);
    grid-template-columns: clamp(132px, 22%, 260px) 1fr;
  }
}
.archive .archive_lists .term-list li:not(:first-child) {
  margin-top: 0.5em;
}
.archive .archive_lists .monthly-list {
  -moz-column-gap: 15px;
  -webkit-column-gap: 15px;
  align-items: center;
  column-gap: 15px;
  display: grid;
  grid-template-columns: auto 1fr;
  line-height: 1;
  row-gap: 30px;
}
.archive .archive_lists .monthly-list dt {
  font-weight: normal;
}
.archive .archive_lists .monthly-list dd {
  -moz-column-gap: 0.5em;
  -webkit-column-gap: 0.5em;
  border-left: 1px solid #D9D4CE;
  column-gap: 0.5em;
  display: flex;
  flex-wrap: wrap;
  padding-left: 15px;
  row-gap: 0.8em;
}
.archive .archive_lists .monthly-list dd a {
  min-width: 2.2em;
  text-align: center;
  width: 2.2em;
}

/* ------------------------------ */
/* アーカイブ：保護者向けお知らせ */
/* ------------------------------ */
.post-type-archive-notice_for_parents .download {
  margin: 50px auto 60px;
  max-width: 320px;
}