@charset "utf-8";

/*
Theme Name: 多治見西中学校2026
*/

/*!
 * Copyright 2026 多治見西中学校
 *
 * # 主な内容
 * - normalize.css v7.0.0
 * - Bootstrap ver3.3.7とver4.0.0-betaを独自カスタマイズ
 * - 独自追加したコンポーネント系の汎用スタイル集
 * - 独自追加したページやブロックごとの個別スタイル集
 *
*/


/* ============================================================
# CSS variables
============================================================ */

:root {

  --primary: #5e9ede;
  --primary2: var(--primary);
  --primary-s: #2f6ccd;
  --primary-lt: #ddeaf6;/* TODO:名前・色：要検討 */
  --primary-p: #f0f5fa;/* TODO:名前・色：要検討 */
  --link-color: #2f6db6;
  --link-color2: var(--link-color);

  --secondary: #7cbc1d;
  --secondary-lt: #8cc94d;
}


/* ============================================================
   # normalize
   ============================================================ */

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,aside,footer,header,nav,section {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
figcaption,figure,main {
  display: block;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}
b,strong {
  font-weight: inherit;
}
b,strong {
  font-weight: bolder;
}
code,kbd,samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
dfn {
  font-style: italic;
}
mark {
  background-color: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
audio,video {
  display: inline-block;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
img {
  border-style: none;
}
svg:not(:root) {
  overflow: hidden;
}
button,input,optgroup,select,textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,input {
  overflow: visible;
}
button,select {
  text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
progress {
  display: inline-block;
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
details,menu {
  display: block;
}
summary {
  display: list-item;
}
canvas {
  display: inline-block;
}
template {
  display: none;
}
[hidden] {
  display: none;
}

/*-----追加-----*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,th {
  padding: 0;
}



/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Bootstrap v4.0.0-beta (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/* ============================================================
   # Content
   ============================================================ */

/* ## Reboot
   ============================================================ */

html {
  box-sizing: border-box;
  font-family: sans-serif;
  font-size: 100%;/*基本フォントサイズ（16pxを想定）*/
  /*font-size: 18px;*/
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
@-ms-viewport {
  width: device-width;
}

body {
  background-color: #f7f5f0;/*基本背景色*/
  color: #333;/*基本文字色*/
  font-family: "Yu Gothic", "YuGothic", "Meiryo", sans-serif;/*基本フォントファミリー*/
  font-size: 1rem;/*基本フォントサイズ*/
  font-weight: 500;/*Yu Gothicを使う場合必須*/
  line-height: 1.5;/*基本行高さ*/
}

[tabindex="-1"]:focus {
  outline: none !important;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
p {
  line-height: 1.8;
  margin-top: 0;
  margin-bottom: 1.5rem;
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
}
address {
  font-style: normal;
  line-height: inherit;
  margin-bottom: 1.125rem;
}
ol,ul,dl {
  margin-top: 0;
  margin-bottom: 1.5rem;
}
ol ol,ul ul,ol ul,ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 700;
}
dd {
  margin-left: 0;
}
blockquote {
  margin: 0 0 1.125rem;
}
a {
  color: var(--link-color);/*リンク文字色*/
  text-decoration: none;
}
a:focus,a:hover {
  color: var(--link-color);/*リンク文字色*/
  text-decoration: underline;
}
a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}
pre {
  margin-top: 0;
  margin-bottom: 1.125rem;
  overflow: auto;
}
figure {
  margin: 0 0 1.125rem;
}
img {
  max-width: 100%;/*はみ出し防止*/
  vertical-align: middle;
}
[role="button"] {
  cursor: pointer;
}
a,area,button,[role="button"],
input,label,select,summary,textarea {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
table {
  border-collapse: collapse;
  background-color: transparent;
}
caption {
  color: #636c72;
  caption-side: bottom;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
}
th {
  text-align: left;
}
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}
button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}
input,button,select,textarea {
  line-height: inherit;
}
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
  cursor: not-allowed;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}
textarea {
  resize: vertical;
}
fieldset {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}
legend {
  color: inherit;
  display: block;
  font-size: 1.5rem;
  line-height: inherit;
  margin-bottom: 0.5rem;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  width: 100%;
}
input[type="search"] {
  -webkit-appearance: none;
}
output {
  display: inline-block;
}
[hidden] {
  display: none !important;
}



/* ## Typography
   ============================================================ */

/* ### Headings
   ---------------------------------------- */

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
  color: inherit;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
/*
h1,.h1,h2,.h2,h3,.h3 {
  margin: 36px 0 12px;
}
h4,.h4,h5,.h5,h6,.h6 {
  margin: 18px 0 12px;
}
*/

h1,.h1 {
  font-size: 2rem;
}
h2,.h2 {
  font-size: 1.5rem;
}
h3,.h3 {
  font-size: 1.125rem;
}
h4,.h4 {
  font-size: 1.125rem;
}
h5,.h5 {
  font-size: 1.125rem;
}
h6,.h6 {
  font-size: 1.125rem;
}
/*
（参考）「rem」と「px」のサイズ対応リスト
0.625rem = 10px
0.688rem = 11px
0.75rem = 12px
0.813rem = 13px
0.875rem = 14px
0.938rem = 15px
1rem = 16px
1.063rem = 17px
1.125rem = 18px
1.188rem = 19px
1.25rem = 20px
1.313rem = 21px
1.375rem = 22px
1.438rem = 23px
1.5rem = 24px
1.625rem = 26px
1.750rem = 28px
1.875rem = 30px
2rem = 32px
2.125rem = 34px
2.25rem = 36px
2.375rem = 38px
2.5rem = 40px
3rem = 48px
*/


/* ### Lead
   ---------------------------------------- */

.lead {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 1.875rem;
}


/* ### Inline text elements
   ---------------------------------------- */

hr {
  border: 0;
  /*border-top: 1px solid rgba(0, 0, 0, 0.1);*/
  border-top: solid 1px #d2d2d2;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
small,.small {
  font-size: 80%;
  font-weight: 500;
}
mark,.mark {
  /*background-color: #fcf8e3;*/
  background-color: #ff0;/*目立つように変更*/
  color: #000;/*目立つように変更*/
  padding: 0.2em;
}



/* ### Lists
   ---------------------------------------- */

.list-unstyled {
  list-style: none;
  padding-left: 0;
}
.list-inline {
  list-style: none;
  padding-left: 0;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 6px;
}



/* ## Images
   ============================================================ */

.img-fluid {
  height: auto;
  max-width: 100%;
}
.img-thumbnail {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  height: auto;
  max-width: 100%;
  padding: 0.3rem;
  transition: all 0.2s ease-in-out;
}



/* ## Tables
   ============================================================ */

.table {
  max-width: 100%;
  margin-bottom: 1.5rem;
  width: 100%;
}
.table th,
.table td {
  border-top: 1px solid #ccc;
  font-size: 1rem;
  padding: 0.75rem;
  vertical-align: top;
}
.table thead th {
  border-bottom: 2px solid #ccc;
  vertical-align: bottom;
}
.table tbody + tbody {
  border-top: 2px solid #ccc;
}
.table .table {
  background-color: #fff;
}
.table td > p:last-child {
  margin-bottom: 0;
}
@media (width < 768px) {
  .table th,
  .table td {
    font-size: 0.8rem;
  }
}

/* ### Options
   ---------------------------------------- */

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #ddd;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}




/* ============================================================
   # Layout
   ============================================================ */

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
}
@media (min-width: 576px) {
  .container {
    width: 540px;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .container {
    width: 720px;
    max-width: 100%;
  }
}
@media (min-width: 1040px) {
  .container {
    width: 1000px;
    max-width: 100%;
  }
}

.container_home {
  width: min(100% - 15px * 2, 1470px);
}


.container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row::after {
  clear: both;
  content: "";
  display: block;
}
/*.row*/.no-gutters {
  margin-left: 0;
  margin-right: 0;
}
/*.row*/.no-gutters > .col,
/*.row*/.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}



/* ## Grid
   ============================================================ */

/* ### 全幅カラム用
   ---------------------------------------- */

.col-full {
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}
@media (min-width: 576px) {
  .col-full {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 768px) {
  .col-full {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 1040px) {
  .col-full {
    padding-left: 0;
    padding-right: 0;
  }
}


/* ### メインコンテンツ カラム分割
   ---------------------------------------- */

.contents__row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-top: -15px;/*端のガター幅調整*/
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.contents__main,
.contents__sub {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  padding-bottom: 60px;
}
/* @media (min-width: 576px) {
  .contents__main,
  .contents__sub {
  }
}
@media (min-width: 768px) {
  .contents__main,
  .contents__sub {
  }
} */
@media (min-width: 1040px) {
  .contents__row {
    flex-direction: row;
    margin-left: -30px;/*端のガター幅調整*/
    margin-right: -30px;/*端のガター幅調整*/
  }
  .contents__main {
    flex: 1 1 calc(100% - 260px - 60px);
    max-width: calc(100% - 260px - 60px);
    width: calc(100% - 260px - 60px);/*IE対策（TODO:要検証箇所）*/
  }
  .contents__sub {
    flex: 1 1 260px;
    max-width: 260px;
    width: 260px;/*IE対策（TODO:要検証箇所）*/
  }
}


/* ### 均等割りカラム分割--flex
   ---------------------------------------- */

.flex-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.flex-item-6,
.flex-item-5,
.flex-item-4,
.flex-item-3,
.flex-item-2,
.flex-item-1 {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  background-color: #fafafa;
  border: solid 1px #ddd;
  border-radius: 3px;
  padding: 12px;
}
@media (min-width: 768px) {
  .flex-container {
    flex-direction: row;
  }
  .flex-item-1 {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-2 {
    flex: 1 1 calc(100% / 2);
    max-width: calc(100% / 2);
    width: calc(100% / 2);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-3 {
    flex: 1 1 calc(100% / 3);
    max-width: calc(100% / 3);
    width: calc(100% / 3);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-4 {
    flex: 1 1 calc(100% / 4);
    max-width: calc(100% / 4);
    width: calc(100% / 4);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-5 {
    flex: 1 1 calc(100% / 5);
    max-width: calc(100% / 5);
    width: calc(100% / 5);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-6 {
    flex: 1 1 calc(100% / 6);
    max-width: calc(100% / 6);
    width: calc(100% / 6);/*IE対策（TODO:要検証箇所）*/
  }
}


/* ### グリッド状にして幅によりカラム落ちさせる均等割りカラム分割--flex
   ---------------------------------------- */

.grid-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.grid-item {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  background-color: #fafafa;
  border: solid 1px #ddd;
  border-radius: 3px;
  padding: 12px;
}
@media (min-width: 576px) {
  .grid-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .grid-item {
    flex: 1 1 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
    width: calc(100% / 2 - 30px);/*IE対策*/
  }
}
@media (min-width: 768px) {
  .grid-item {
    flex: 1 1 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
    width: calc(100% / 2 - 30px);/*IE対策*/
  }
}
@media (min-width: 1040px) {
  .grid-item {
    flex: 1 1 calc(100% / 3 - 30px);
    max-width: calc(100% / 3 - 30px);
    width: calc(100% / 3 - 30px);/*IE対策*/
  }
}
@media (min-width: 1200px) {
  .grid-item {
    flex: 1 1 calc(100% / 4 - 30px);
    max-width: calc(100% / 4 - 30px);
    width: calc(100% / 4 - 30px);/*IE対策*/
  }
}


/* ### Media Object--flex
   ---------------------------------------- */

.media-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.media-item__txt,
.media-item__img {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}
@media (min-width: 768px) {
  .media-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .media-item__img {
    flex: 1 1 300px;
    max-width: 300px;
    width: 300px;/*IE対策（TODO:要検証箇所）*/
  }
  .media-item__txt {
    flex: 1 1 calc(100% - 300px - 60px);
    max-width: calc(100% - 300px - 60px);
    width: calc(100% - 300px - 60px);/*IE対策（TODO:要検証箇所）*/
  }
}



/* ### table状のいい感じの横並び--flex
   ---------------------------------------- */

.flex-table-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.flex-table-container__head,
.flex-table-container__body {
  border: solid 2px #999;
  flex: 1 1 auto;
  max-width: 100%;
  padding: 12px;
}
.flex-table-container__head {
  align-items: center;
  background-color: #999;
  color: #fff;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .flex-table-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .flex-table-container__head {
    flex: 1 1 10em;
    max-width: 10em;
  }
  .flex-table-container__body {
    flex: 1 1 calc(100% - 10em);
    max-width: calc(100% - 10em);
    width: calc(100% - 10em);/*IE対策（TODO:要検証箇所）*/
  }
}
.flex-table-container__head > p:last-child,
.flex-table-container__body > p:last-child {
  margin-bottom: 0;
}




/* ============================================================
   # Components（だいたいver3.7？）
   ============================================================ */


/* ## Breadcrumbs
   ============================================================ */

/*ol*/.breadcrumb {
  display: none;/*非表示*/
}
@media (min-width: 768px) {
  /*ol*/.breadcrumb {
    display: block;/*表示用*/
  }
}

/*ol*/.breadcrumb {
  font-size: 0.875rem;
  list-style: none;
  padding-left: 0;
  margin-bottom: 1rem;
}
/*ol*/.breadcrumb li {
  display: inline-block;
}
/*ol*/.breadcrumb li + li::before {
  color: #666;
  content: ">\00a0";
  padding: 0 0.3em;
}
/*ol*/.breadcrumb .active {
  color: #777;
  font-weight: 700;
}



/* ## Navs
   ============================================================ */

.nav {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}
.nav::after {
  clear: both;
  content: "";
  display: block;
}
.nav > li > a {
  display: block;
  padding: 0.75em 1em;
}
.nav > li > a:hover,
.nav > li > a:focus {
  background-color: #eee;
  text-decoration: none;
}



/* ============================================================
   # Utilities（ほぼver4beta）
   ============================================================ */


/* ## Clearfix
   ============================================================ */

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}



/* ## Colors
   ============================================================ */

/* ### text-color
   ---------------------------------------- */

.text-colored {/*主な色文字*/
  color: var(--link-color);
}
.text-colored._pink {
  color: #ea7280;
}
.text-color--red {
  color: #f00;
}
.text-color--blue {
  color: #00f;
}


/* ### background-color
   ---------------------------------------- */

.bg-colored {
  background-color: #adceed;
}
.bg-color--red {
  background-color: #f00;
}
.bg-color--blue {
  background-color: #00f;
}

/*ここに色を追加していく*/






/* ## Display
   ============================================================ */

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-table {
  display: table !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}
.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}


/* ## Float
   ============================================================ */

.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.float-none {
  float: none !important;
}



/* ## Image replacement
   ============================================================ */

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}


/* ## Screenreaders
   ============================================================ */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  clip: auto;
  height: auto;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto;
  -webkit-clip-path: none;
          clip-path: none;
}



/* ## Sizing
   ============================================================ */

.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.mw-100 {
  max-width: 100% !important;
}
.mh-100 {
  max-height: 100% !important;
}

.mw-4em {
  max-width: 4em;
}
.mw-6em {
  max-width: 6em;
}


/* ## Spacing（mt-x,mb-x,,,etc）
   ============================================================ */

.mt-0 {
  margin-top: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mt-1 {
  margin-top: 0.25rem !important;
}
.mb-1 {
  margin-bottom: 0.25rem !important;
}
.mt-2 {
  margin-top: 0.5rem !important;
}
.mb-2 {
  margin-bottom: 0.5rem !important;
}
.mt-3 {
  margin-top: 1rem !important;
}
.mb-3 {
  margin-bottom: 1rem !important;
}
.mt-4 {
  margin-top: 1.5rem !important;
}
.mb-4 {
  margin-bottom: 1.5rem !important;
}
.mt-5 {
  margin-top: 3rem !important;
}
.mb-5 {
  margin-bottom: 3rem !important;
}
.mr-auto {
  margin-right: auto !important;
}
.ml-auto {
  margin-left: auto !important;
}

.mx-2 {
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
.pl-4 {
  padding-left: 1.5rem !important;
}


/* ## Typography(Text)
   ============================================================ */

/* ### Text alignment
   ---------------------------------------- */

.text-justify {
  text-align: justify !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}


/* ### Text transform
   ---------------------------------------- */

.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}


/* ## Font size, weight, family and decoration
   ============================================================ */

/*TODO:本文中のテキストリンクにはなるべく下線を引く*/
a.underline {
  text-decoration: underline;
}
.text-underline {
  text-decoration: underline;
}

.fs-xs,
.font-size-xsmall {
  font-size: 0.75rem;
}
.fs-sm,
.font-size-small {
  font-size: 0.87rem;
}
.fs-md {
  font-size: 1rem;
}
.fs-lg,
.font-size-large {
  font-size: 1.25em;
}
.fs-xl,
.font-size-xlarge {
  font-size: 1.5em;
}
.fs-2xl,
.font-size-xxlarge {
  font-size: 2em;
}
.fw-normal,
.font-weight-normal {
  font-weight: 500;
}
.fw-bold,
.font-weight-bold {
  font-weight: 700;
}
.font-italic {
  font-style: italic;
}
.font-family-mincho {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
}



/* ## Vertical alignment
   ============================================================ */

.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}



/* ## Visibility
   ============================================================ */

.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}




/* ============================================================
   # Page common
   ============================================================ */


/* ## ヘッダー
   ============================================================ */

.header {
  background-color: #fff;
  padding: 0 0 15px;
  position: relative;
}

.home-header {
  height: auto;
}
.home-header__top {
  background-color: #f7f5f0;
  margin-left: 15px;
  position: relative;
  z-index: 25;
}
@media (min-width: 768px) {
  .home-header {
    padding: 0 0 15px;
    position: relative;
    height: 100vh;
  }
  .home-header__top {
    background-color: transparent;
    margin-left: 0;
    position: absolute;
      left: 15px;
      right: 15px;
      top: 0;
    z-index: 10;
  }
  .home-header__slide {
    position: relative;
    z-index: 1;
  }
}


/* ### home用 スライド
   ---------------------------------------- */

.slide_wrap {
  width: 100%;
}
.slide_wrap img {
  height: auto;
  max-width: 100%;
  object-fit: cover;
  object-position: left center;
}
@media (min-width: 768px) {
  .slide_wrap {
    height: 100vh;
  }
  .slide_wrap img {
    height: 100vh;
  }
}


/* ### home用 ヘッダー内バナー
   ---------------------------------------- */

/*ul*/.home-header__course-list {
  display: none;
}
@media (min-width: 1040px) {
  /*ul*/.home-header__course-list {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 15px;
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
    padding: 12px;
  }
  /*ul*/.home-header__course-list {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;/*等間隔*/
  }
}


/* ### ヘッダー カラム分割
   ---------------------------------------- */

.header__row {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.header__primary,
.header__secondary {
  flex: 0 1 auto;
  max-width: 100%;
}
.header__secondary {
  display: none;/*非表示*/
}
@media (min-width: 768px) {
  .header__secondary {
    display: block;/*表示用*/
  }

  .header__row {
    flex-direction: row;
    justify-content: space-between;/*アイテムを両端に寄せる*/
  }
  .header__primary,
  .header__secondary {
    flex: 0 1 auto;
    max-width: auto;
  }
}


/* ### ヘッダー ロゴ
   ---------------------------------------- */

.header__logo {
  /* margin: 15px auto 0; */
  margin: 15px auto 15px;
  max-width: 160px;/*ロゴ画像の最大表示幅*/
}
.header__logo img {
  width: 234px;
}
@media (min-width: 768px) {
  .header__logo {
    margin: 15px 0 0;
    max-width: 234px;/*ロゴ画像の最大表示幅*/
  }
}
.header__logo {}
.header__logo:hover,
.header__logo:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}


/* ### ヘッダー ユーティリティナビ
   ---------------------------------------- */

.header-utility-nav {

}
/*ul*/.header-utility-nav__menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
}
/*ul*/.header-utility-nav__menu > li + li {
  margin-left: 6px;
}
/*ul*/.header-utility-nav__menu > li {
  font-size: 0.875rem;
}
/*ul*/.header-utility-nav__menu > li > a {
  border: solid 1px #ccc;
  border-radius: 0 0 3px 3px;
  background-color: #fff;
  color: var(--link-color);
  padding: 4px 10px;
  position: relative;
  transition: all 0.15s ease 0s;
}
/*ul*/.header-utility-nav__menu > li > a::before {
  border: 5px solid transparent;
  border-top: 10px solid #fff;
  border-bottom-width: 0;
  bottom: -9px;
  content: "";
  display: block;
  left: calc(50% - 5px);
  position: absolute;
  width: 0;
  z-index: 1;
  transition: all 0.15s ease 0s;
}
/*ul*/.header-utility-nav__menu > li > a::after {
  border: 5px solid transparent;
  border-top: 10px solid #bbb;
  border-bottom-width: 0;
  bottom: -10px;
  content: "";
  display: block;
  left: calc(50% - 5px);
  position: absolute;
  width: 0;
  transition: all 0.15s ease 0s;
}
/*ul*/.header-utility-nav__menu > li > a:hover,
/*ul*/.header-utility-nav__menu > li > a:focus {
  color: #fff;
  background-color: var(--primary);
  text-decoration: none;
}
/*ul*/.header-utility-nav__menu > li > a:hover::before,
/*ul*/.header-utility-nav__menu > li > a:focus::before {
  border-top: 10px solid var(--primary);
  left: 60%;
}
/*ul*/.header-utility-nav__menu > li > a:hover::after,
/*ul*/.header-utility-nav__menu > li > a:focus::after {
  border-top: 10px solid #bbb;
  left: 60%;
}
/*ul*/.header-utility-nav__menu > li > a.contact {
  border: solid 1px var(--secondary-lt);
  background-color: var(--secondary-lt);
  color: #fff;
}
/*ul*/.header-utility-nav__menu > li > a.contact::before {
  border-top: 10px solid var(--secondary-lt);
}
/*ul*/.header-utility-nav__menu > li > a.contact::after {
  border-top: 10px solid var(--secondary-lt);
}
/*ul*/.header-utility-nav__menu > li > a.contact:hover,
/*ul*/.header-utility-nav__menu > li > a.contact:focus {
  color: var(--secondary);
  background-color: #f4fce7;
  background-image: repeating-linear-gradient(
    -45deg, #e7fcc9, #e7fcc9 4px, #cff993 1px, #cff993 5px);
}
/*ul*/.header-utility-nav__menu > li > a.contact:hover::before,
/*ul*/.header-utility-nav__menu > li > a.contact:focus::before {
  border-top: 10px solid #eaf4ff;
}
/*ul*/.header-utility-nav__menu > li > a.contact:hover::after,
/*ul*/.header-utility-nav__menu > li > a.contact:focus::after {
  border-top: 10px solid #d5e9ff;
}

/* ### ヘッダー メニューボタン
   ---------------------------------------- */

.header__menu-btn {
  position: absolute;
    right: 15px;
    top: 9px;
  z-index: 10;
}
.header__menu-btn {
  background-color: var(--primary2);
  border: solid 1px var(--primary2);
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  height: 52px;
  margin: 0;
  padding-top: 5px;
  text-align: center;
  width: 52px;
}
.header__menu-btn i {
  font-size: 28px;
}
@media (min-width: 768px) {
  .header__menu-btn {
    display: none;/*非表示*/
  }
}



/* ## ヘッダーナビゲーション（横並びメニュー/画像）
   ============================================================ */

.header-nav--img {
  display: none;/*非表示*/
}
@media (min-width: 768px) {
  .header-nav--img {
    display: block;/*表示用*/
  }
}

.header-nav--img {
  background-color: #fff;
  background-image: url("./img/header-nav_bg.webp");
  background-repeat: repeat-x;
  height: 76px;
  width: 100%;
}
/*ul*/.header-nav__menu--img {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
/*ul*/.header-nav__menu--img > li {
  flex: 1 1 144px;
  margin-top: 7px;
}
/*ul*/.header-nav__menu--img > li > a {
  background-image: url();
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 200px 65px;
  display: block;
  height: 65px;
  overflow: hidden;
  text-indent: 100%;
  transition: all 0.15s ease 0s;
  white-space: nowrap;
  width: 144px;
}
li.header-nav__item01 > a {
  background-image: url("./img/header-nav01.webp");
  background-size: 201px 65px;
}
li.header-nav__item02 > a {
  background-image: url("./img/header-nav02.webp");
  background-size: 199px 65px;
}
li.header-nav__item03 > a {
  background-image: url("./img/header-nav03.webp");
}
li.header-nav__item04 > a {
  background-image: url("./img/header-nav04.webp");
  background-size: 199px 65px;
}
li.header-nav__item05 > a {
  background-image: url("./img/header-nav05.webp");
  background-size: 201px 65px;
}

/*hover用画像事前読み込み用*/
li.header-nav__item01 > a {
  background-image:
    url("./img/header-nav01.webp"),
    url("./img/header-nav01_on.webp");
}
li.header-nav__item02 > a {
  background-image:
    url("./img/header-nav02.webp"),
    url("./img/header-nav02_on.webp");
}
li.header-nav__item03 > a {
  background-image:
    url("./img/header-nav03.webp"),
    url("./img/header-nav03_on.webp");
}
li.header-nav__item04 > a {
  background-image:
    url("./img/header-nav04.webp"),
    url("./img/header-nav04_on.webp");
}
li.header-nav__item05 > a {
  background-image:
    url("./img/header-nav05.webp"),
    url("./img/header-nav05_on.webp");
}
li.header-nav__item06 > a {
  background-image:
    url("./img/header-nav06.webp"),
    url("./img/header-nav06_on.webp");
}

li.header-nav__item01 > a:hover,
li.header-nav__item01 > a:focus {
  background-image: url("./img/header-nav01_on.webp");
}
li.header-nav__item02 > a:hover,
li.header-nav__item02 > a:focus {
  background-image: url("./img/header-nav02_on.webp");
}
li.header-nav__item03 > a:hover,
li.header-nav__item03 > a:focus {
  background-image: url("./img/header-nav03_on.webp");
}
li.header-nav__item04 > a:hover,
li.header-nav__item04 > a:focus {
  background-image: url("./img/header-nav04_on.webp");
}
li.header-nav__item05 > a:hover,
li.header-nav__item05 > a:focus {
  background-image: url("./img/header-nav05_on.webp");
}
li.header-nav__item06 > a:hover,
li.header-nav__item06 > a:focus {
  background-image: url("./img/header-nav06_on.webp");
}

@media (min-width: 1040px) {
  /*ul*/.header-nav__menu--img > li {
    flex: 1 1 200px;
  }
  /*ul*/.header-nav__menu--img > li.header-nav__item01,
  /*ul*/.header-nav__menu--img > li.header-nav__item05 {
    flex: 1 1 201px;
  }
  /*ul*/.header-nav__menu--img > li.header-nav__item02,
  /*ul*/.header-nav__menu--img > li.header-nav__item04 {
    flex: 1 1 199px;
  }
  /*ul*/.header-nav__menu--img > li > a {
    width: 200px;
  }
  li.header-nav__item01 > a,
  li.header-nav__item05 > a {
    width: 201px;
  }
  li.header-nav__item02 > a,
  li.header-nav__item04 > a {
    width: 199px;
  }
}


/* -----ドロップダウン機能追加----- */

.header-nav__dropdown > li:focus,
.header-nav__dropdown > li:hover {
  position: relative;
}

/* ２段目 */
/* 下層のメニューを不可視に */
/*ul*/.header-nav__dropdown-child {
  display: none;/*非表示*/
}
/* 疑似要素 :hover で下層のメニューを可視に */
/*ul*/.header-nav__dropdown > li:focus /*ul*/.header-nav__dropdown-child,
/*ul*/.header-nav__dropdown > li:hover /*ul*/.header-nav__dropdown-child {
  display: block;/*表示用*/
  list-style: none;
  margin: 0;
  padding-left: 0;
  position: absolute;
    left: 0;
    top: 65px;/*親メニューの高さに合わせる*/
  z-index: 100;
}
@media (min-width: 1040px) {
  /*ul*/.header-nav__dropdown > li:focus /*ul*/.header-nav__dropdown-child,
  /*ul*/.header-nav__dropdown > li:hover /*ul*/.header-nav__dropdown-child {
    top: 65px;/*親メニューの高さに合わせる*/
  }
}
/*ul*/.header-nav__dropdown-child > li {
  background-color: #d9ebff;/*border透け防止*/
  width: 200px;
}
/*ul*/.header-nav__dropdown-child > li + li {
  border-top: solid 1px #fff;
}
/*ul*/.header-nav__dropdown-child > li > a {
  background-color: #d9ebff;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 12px;
  text-decoration: none;
  text-align: left;
  transition: all 0.15s ease 0s;
}
@media (min-width: 1040px) {
  /*ul*/.header-nav__dropdown-child > li > a {
    font-size: 1rem;
  }
}
/*ul*/.header-nav__dropdown-child > li > a:focus,
/*ul*/.header-nav__dropdown-child > li > a:hover {
  background-color: #fff;
  text-decoration: underline;
}




/* ## ヘッダーナビゲーション（縦並びトグルメニュー）
   ============================================================ */

.header-nav-toggle {
  display: block;
  padding: 0 15px;
}
@media (min-width: 768px) {
  .header-nav-toggle {
    display: none;/*非表示*/
  }
}


/* 新メニュー */
.drawerNav {
  margin-bottom: 24px;
}

/*見出し*/
.drawerNav__head {
  background-color: var(--primary2);
  border-top: solid 1px #ddd;
  /* border-bottom: solid 1px #fff; */
  border-radius: 6px 6px 0 0;
  color: #fff;
  display: block;
  font-size: 1.125rem;
  padding: 12px 15px;
  text-align: center;
}

/*親ページ*/
.drawerNav__link {
  background-color: #fff;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
  display: block;
  padding: 12px 36px 12px 15px;
  position: relative;
  text-decoration: none;
  transition: background-color 0.15s;
  width: 100%;
}
@media (hover: hover) {
  .drawerNav__link:hover {
    background-color: #eee;
    text-decoration: none;
  }
}
.drawerNav__link:focus {
  background-color: #eee;
}
.drawerNav__link::after {
  content: "\f054";
  font-family: FontAwesome;
  position: absolute;
    right: 15px;
    top: 12px;
}

/*他ページ*/
.drawerNav__linkOther {
  background-color: #fff;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
  display: block;
  padding: 12px 15px 12px 36px;
  position: relative;
  text-decoration: none;
  transition: background-color 0.15s;
  width: 100%;
}
@media (hover: hover) {
  .drawerNav__linkOther:hover {
    background-color: #eee;
    text-decoration: none;
  }
}
.drawerNav__linkOther:focus {
  background-color: #eee;
}
.drawerNav__linkOther::before {
  content: "\f138";
  font-family: FontAwesome;
  position: absolute;
    left: 15px;
    top: 12px;
}

/*閉じるボタン*/
.drawerNav__closeBtnWrap {
  display: block;
}
.drawerNav__closeBtn {
  background-color: #777;
  border: none;
  border-bottom: solid 1px #ddd;
  border-radius: 0 0 6px 6px;
  color: #fff;
  /* display: block; */
  cursor: pointer;
  font-size: 1.125rem;
  padding: 12px 15px 10px;
  transition: background-color 0.15s;
  text-align: center;
  width: 100%;
}
@media (hover: hover) {
  .drawerNav__close:hover {
    background-color: #666;
    /* outline: 0; */
  }
}
.drawerNav__closeBtn:focus {
  background-color: #666;
}
.drawerNav__closeBtn i {
  font-size: 1.125rem;
}



/* ### Add accordion
---------------------------------------- */

.drawerNavAccordion {
  display: flex;
  flex-wrap: wrap;
}

.drawerNavAccordion__btn {
  background-color: #fff;
  border: none;
  border-right: 1px solid #ddd;
  color: var(--link-color);
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 0.5em 1rem;
  transition: 0.15s;
  user-select: none;
  vertical-align: middle;
}
.drawerNavAccordion__btn::after {
  content: "\f067";
  font-family: FontAwesome;
}
.drawerNavAccordion__btn.isOpen::after {
  content: "\f068";
  font-family: FontAwesome;
}

.drawerNavAccordion__parent {
  flex: 1;
}
.drawerNavAccordion__parent.drawerNav__link {
  border-right: none;
}
.drawerNavAccordion__parent.drawerNav__link::after {
  content: "";
}

.drawerNavAccordion__body {
  width: 100%;

  /* is closed */
  padding-top: 0;
  padding-bottom: 0;
  /* close animation */
  transition:
    line-height    0.3s,
    padding-top    0.3s,
    padding-bottom 0.3s;
}

.drawerNavAccordion__body.isOpen {
  /* is open */
  padding-top: 0;
  padding-bottom: 0;
  /* open animation */
  transition:
    line-height    0.3s,
    padding-top    0.3s,
    padding-bottom 0.3s;
}

.drawerNavAccordion__body .drawerNav__link {
  background-color: var(--primary-p);
  /* is closed */
  border: none;
  line-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  visibility: hidden;
  /* close animation */
  transition:
    line-height 0.3s,
    /* opacity     0.1s,
    visibility  0.1s; */
    opacity     0.3s,
    visibility  0.3s;
}

.drawerNavAccordion__body.isOpen .drawerNav__link {
  /* is open */
  border-bottom: 1px solid #fff;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  line-height: 1.5;
  opacity: 1;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  visibility: visible;
  /* open animation */
  transition:
    line-height 0.3s,
    opacity     0.2s 0.1s,
    visibility  0.1s 0.1s;
}

.drawerNavAccordion__btn.isOpen,
.drawerNavAccordion__parent.drawerNav__link:has(+ .drawerNavAccordion__btn.isOpen) {
  background-color: var(--primary-lt);
}



/* ## ビジュアル
   ============================================================ */

.page-visual--fluid {
  background-color: #fff;
  border-bottom: solid 1px #ddd;
  margin: 0 0 1rem;
}



/* ## 見出し
   ============================================================ */

/* ### 台形アイコンの見出し
   ---------------------------------------- */

.heading--lg {
  background-color: #fff;
  background-image: url("./img/heading-lg_icon.webp");
  background-repeat: no-repeat;
  background-position: left center;
  border-radius: 3px;
  box-shadow: 0 5px 4px -3px rgba(0, 0, 0, 0.03);
  color: #333;
  line-height: 1.4;
  margin: 0 0 1.2rem;
  padding: 0.85em 1em 0.8em 1.3em;
}


/* ### 色背景台形アイコンの見出し
   ---------------------------------------- */

.heading--md {
  background-color: var(--primary);
  background-image: url("./img/heading-md_icon.webp");
  background-repeat: no-repeat;
  background-position: left center;
  border-radius: 5px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.03);
  color: #fff;
  margin: 0 0 0.8rem;
  padding: 0.65em 1em 0.6em 1.2em;
}
.heading--md._pink {
  background-color: #ea7280;
}

/* ### ストライプ枠の見出し
   ---------------------------------------- */

.heading--sm {
  background-color: #fff;
  border: 3px solid #fff;
  border-image: repeating-linear-gradient(-45deg, #d2d2d2, #d2d2d2 2px, #fff 2px, #fff 3px) 3;
  color: var(--primary2);
  font-weight: 700;
  margin: 0 0 0.8rem;
  padding: 0.4em 0.5em 0.3em;
}


/* ### 三角アイコンの見出し
   ---------------------------------------- */

.heading--sm1 {
  background-color: #5d85bf;
  background-image: url("./img/heading-sm1_icon.png");
  background-repeat: no-repeat;
  background-position: left center;
  border-radius: 2px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.03);
  color: #fff;
  margin-bottom: 0.8rem;
}
.heading--sm1 h3,
.heading--sm1 .h3,
.heading--sm1 h4,
.heading--sm1 .h4 {
  font-weight: 700;
  margin: 0;
  padding: 0.65em 1em 0.6em 1.2em;
}


/* ### ちいさな台形アイコンの見出し
   ---------------------------------------- */

.heading--sm2 {
  background-image: url("./img/heading-sm2_icon.webp");
  background-repeat: no-repeat;
  background-position: left center;
  border-bottom: solid 5px #f3f3f3;
  color: var(--link-color);
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 0.8rem;
  padding: 0.3em 1em 0.3em 1.2em;
}
.heading--sm2._pink {
  background-image: url("./img/heading-sm2_icon2.webp");
  color: #ea7280;
}



/* ## コンテンツ ビジュアル
   ============================================================ */

.contents-visual {
  margin-bottom: 2rem;
}


/* ## ボックス系 装飾クラス
   ============================================================ */

/* ### コンテンツ用ボックス
   ---------------------------------------- */

.contentBox {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.02) inset;
  margin: 0 0 5rem;
  min-height: 1.5rem;
  padding: 20px;
}

.contentBox--sub {
  background-color: #fff;
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #f1f7ff 2px, #f1f7ff 4px);
  border: solid 3px #7395c8;
  border-radius: 3px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.02) inset;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 20px;
}
.contentBox--sub a {
  color: #5d85bf;
}


/* ### いい感じのボックス ボーダー
   ---------------------------------------- */
.well--border {
  background-color: #f5f5f5;
  border: solid 1px #e3e3e3;
  border-radius: 3px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.125rem;
}
.well--border > p:last-child,
.well--border > ul:last-child,
.well--border > ol:last-child,
.well--border > dl:last-child {
  margin-bottom: 0;
}

/* ### いい感じのボックス primaryボーダー
   ---------------------------------------- */
.well--borderPrimary {
  background-color: #fff;
  border: solid 1px var(--primary);
  border-radius: 3px;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.125rem;
}
.well--borderPrimary > p:last-child,
.well--borderPrimary > ul:last-child,
.well--borderPrimary > ol:last-child,
.well--borderPrimary > dl:last-child {
  margin-bottom: 0;
}


/* ### いい感じのボックス シェード
   ---------------------------------------- */

.well--shade {
  background-color: #f5f5f5;
  border-radius: 3px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.02) inset;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.5rem;
}
.well--shade > p:last-child,
.well--shade > ul:last-child,
.well--shade > ol:last-child,
.well--shade > dl:last-child {
  margin-bottom: 0;
}

/* ### いい感じのボックス フラット
   ---------------------------------------- */

.well--flat {
  background-color: #f5f5f5;
  border-radius: 3px;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.5rem;
}
.well--flat > p:last-child,
.well--flat > ul:last-child,
.well--flat > ol:last-child,
.well--flat > dl:last-child {
  margin-bottom: 0;
}



/* ## 画像フロート
   ============================================================ */

.float_img {
  float: left;
  margin: 0 24px 24px 0;
  width: 256px;/*＝画像の横幅*/
  width: 33.333%;/*＝画像の横幅*/
}
.float_img-rev {/*reverse*/
  float: right;
  margin: 0 0 24px 24px;
  width: 256px;/*＝画像の横幅*/
  width: 33.333%;/*＝画像の横幅*/
}
.float_img_body {/*回り込み回避（本文エリアに設定）*/
  overflow: hidden;
}



/* ## リスト表示
   ============================================================ */

/*テーブル表示*/
/*dl*/.dl-bordered {
  margin: 0 0 18px;
}
/*dl*/.dl-bordered dt,
/*dl*/.dl-bordered dd {
  margin: 0;
}
/*dl*/.dl-bordered {
  background-color: #ddd;/*左セル用の背景色*/
  border-right: solid 1px #666;
  border-bottom: solid 1px #666;
  border-left: solid 1px #666;
  width: 100%;
}
/*dl*/.dl-bordered dt,
/*dl*/.dl-bordered dd {
  padding: 0.6em;
}
/*dl*/.dl-bordered dt {
  border-top: solid 1px #f00;
  clear: both;
  float: left;
  width: 10em;/*この幅は必ずdtの文字数を超えるように*/
}
/*dl*/.dl-bordered dd {
  background-color: #fff;/*右セル用の背景色*/
  border-top: solid 1px #00f;
  border-left: solid 1px #0b0;
  margin-left: 10em;/*dtの幅と同じだけ左マージン*/
}

/*仕切り表示*/
/*dl*/.dl-partition {
  margin: 0 0 18px;
}
/*dl*/.dl-partition dt,
/*dl*/.dl-partition dd {
  margin: 0 0 6px;
}
/*dl*/.dl-partition {
  width: 100%;
}
/*dl*/.dl-partition dt {
  padding: 0.6em;
}
/*dl*/.dl-partition dd {
  padding: 0.6em 0.6em 0.6em 1.2em;
}
/*dl*/.dl-partition dt {
  clear: both;
  float: left;
  width: 9em;/*この幅は必ずdtの文字数を超えるように*/
}
/*dl*/.dl-partition dd {
  border-left: solid 2px #999;
  margin-left: 9em;/*dtの幅と同じだけ左マージン*/
}



/* ## テーブル
   ============================================================ */

/* ### table--basic
   ---------------------------------------- */

/*table*/.table--basic {
  border: 1px solid #dedede;
}
/*table*/.table--basic th,
/*table*/.table--basic td {
  border: 1px solid #dedede;
}
/*table*/.table--basic th {
  background-color: #f9f9f9;
  font-weight: 500;
  width: 10em;
}
/*table*/.table--basic thead th {
  border-bottom-width: 2px;
}


/* ### table--basic-striped
   ---------------------------------------- */

/*table*/.table--basic-striped {
  border: 1px solid #dedede;
}
/*table*/.table--basic-striped tbody tr:nth-of-type(odd) {
  background-color: #f4f4f4;
}
/*table*/.table--basic-striped th,
/*table*/.table--basic-striped td {
  border: 1px solid #dedede;
}
/*table*/.table--basic-striped th {
  font-weight: 500;
  width: 10em;
}
/*table*/.table--basic-striped thead th {
  border-bottom-width: 2px;
  font-weight: 700;
}


/* ### table--basic-striped2（合格実績）
   ---------------------------------------- */

/*table*/.table--basic-striped2 {
  border: 1px solid #dedede;
}
/*table*/.table--basic-striped2 tbody tr:nth-of-type(even) {
  background-color: #f4f4f4;
}
/*table*/.table--basic-striped2 th,
/*table*/.table--basic-striped2 td {
  border: 1px solid #dedede;
}
/*table*/.table--basic-striped2 thead th {
  border-bottom-width: 2px;
  font-weight: 700;
  background-color: #adceed;
}


/*2列テーブルのレスポンシブ*/
/*-576px*/
@media (max-width: 576px){/*max*/
  /*table*/.table-responsive-2col > tbody > tr > th,
  /*table*/.table-responsive-2col > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.table-responsive-2col > tbody > tr > th {
    /*padding-bottom: 3px;*/
  }
  /*table*/.table-responsive-2col > tbody > tr > td {
    /*padding-top: 3px;*/
  }
}


/* ### コンテンツ下部contact table
   ---------------------------------------- */

/*table*/.contents-bottom-contact-table {
  margin: -6px 0;
}
/*table*/.contents-bottom-contact-table tr:first-child th,
/*table*/.contents-bottom-contact-table tr:first-child td {
  border: none;
}
/*table*/.contents-bottom-contact-table th {
  color: var(--primary2);
  position: relative;
  width: 6em;
}
@media (min-width: 576px) {
  /*table*/.contents-bottom-contact-table th::before {
    content: "\f0da";
    font-family: FontAwesome;
    font-size: 0.875rem;
    position: absolute;
      right: 6px;
      top: 12px;
  }
}
/*2列テーブルのレスポンシブ*/
/*-576px*/
@media (max-width: 576px){/*max*/
  /*table*/.contents-bottom-contact-table > tbody > tr > th,
  /*table*/.contents-bottom-contact-table > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.contents-bottom-contact-table > tbody > tr > th {
    padding-bottom: 3px;
  }
  /*table*/.contents-bottom-contact-table > tbody > tr > td {
    padding-top: 3px;
  }
}


/* ### 学校見学会・説明会情報 table
   ---------------------------------------- */
.table--guide {
  border: none;
}
.table--guide th,
.table--guide td {
  border: 1px solid #ccc;
}
.table--guide thead th {
  border: 1px solid #ccc;
  background-color: #f5f5f5;
  text-align: center;
}
.table--guide thead th.th0 {/*見出し行の左端の枠消し*/
  background-color: transparent;
  padding: 0;
  border: none;
  width: 33%;
}
.table--guide thead th.th1 {
  width: 24%;
}
.table--guide thead th.th2 {
  width: 43%;
}
.table--guide tbody th {
  background-color: #fff;
}
.table--guide tbody th:first-child {
  /* font-size: 1rem; */
  font-weight: bold;
  text-align: left;
  color: var(--primary-s);
  border-left: solid 3px #91bdea;
}
.table--guide tbody tr:nth-child(odd) th,
.table--guide tbody tr:nth-child(odd) td {
  background-color: var(--primary-p);
}
.table--guide tbody td b {
  /* font-size: 1rem; */
  font-weight: bold;
}



/* ## 画像とテキストを横並びに
   ============================================================ */

/* ### 半々ぐらいで画像とテキスト
   ---------------------------------------- */

.contents-media-layout-container--reverse,
.contents-media-layout-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-top: -5px;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
  margin-bottom: 1.5rem;
}
.contents-media-layout-item__txt,
.contents-media-layout-item__img {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}
@media (min-width: 768px) {
  .contents-media-layout-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .contents-media-layout-container--reverse {
    flex-direction: row-reverse;
    flex-wrap: wrap;
  }
  .contents-media-layout-item__img {
    flex: 1 1 310px;
    max-width: 310px;
    width: 310px;/*IE対策*/
  }
  .contents-media-layout-item__txt {
    flex: 1 1 calc(100% - 310px - 60px);
    max-width: calc(100% - 310px - 60px);
    width: calc(100% - 310px - 60px);/*IE対策*/
  }
}





/* ## リンクボタン
   ============================================================ */

/* ### アイコン付きリンクボタン
   ---------------------------------------- */

.link-btn--add_icon {
  margin: 0 0 24px;
}
.link-btn--add_icon a {
  background-color: #ddd;
  border: solid 1px #ccc;
  border-radius: 3px;
  color: #555;
  display: block;
  font-weight: 700;
  padding: 9px 15px 8px 34px;
  position: relative;
  transition: all 0.15s ease 0s;
}
.link-btn--add_icon a:hover,
.link-btn--add_icon a:focus {
  background-color: #eee;
  border: solid 1px #ccc;
  color: #333;
}
.link-btn--add_icon a::before {
  color: #337ab7;
  content: "\f061";
  font-family: FontAwesome;
  font-size: 0.875rem;
  position: absolute;
    left: 12px;
    top: 10px;
}


/* ### アイコン付きリンクボタン インライン
   ---------------------------------------- */

.link-btn--inline {
  margin: 0 0 24px;
}
.link-btn--inline a {
  background-color: #fafafa;
  border: solid 1px #ccc;
  border-radius: 3px;
  /*color: #555;*/
  display: inline-block;
  font-weight: 700;
  padding: 9px 15px 8px 34px;
  position: relative;
  transition: all 0.15s ease 0s;
}
.link-btn--inline a:hover,
.link-btn--inline a:focus {
  background-color: #eee;
  border: solid 1px #adadad;
  /*color: #333;*/
}
.link-btn--inline a::before {
  color: #337ab7;
  content: "\f0da";
  font-family: FontAwesome;
  font-size: 0.875rem;
  position: absolute;
    left: 12px;
    top: 10px;
}


/* ### ラベル用小さいリンクボタン
   ---------------------------------------- */

.label-btn {}
.label-btn a {
  background-color: #337ab7;
  border-radius: 3px;
  color: #fff;
  display: inline;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  padding: 3px 9px 2px;
  text-align: center;
  /*vertical-align: baseline;*/
  vertical-align: middle;
  white-space: nowrap;
}
.label-btn a:hover,
.label-btn a:focus {
  background-color: #286090;
  color: #fff;
}



/* ### リンクボタン（お知らせ用など）
   ---------------------------------------- */

.link-btn--primary {
  margin: 48px 0 24px;
  text-align: center;
}
.link-btn--primary a {
  background-color: var(--primary);
  border-radius: 8px;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  padding: 15px 15px;
  position: relative;
  transition: all 0.15s ease 0s;
  width: min(80%, 440px);
}
.link-btn--primary a::after {
  color: #fff;
  content: "\f105";
  font-family: FontAwesome;
  font-size: 1rem;
  position: absolute;
  right: 15px;
  top: 15px;
}
.link-btn--primary a:hover,
.link-btn--primary a:focus {
  background-color: var(--primary);
  color: #fff;
}




/* ## Googleマップ埋め込みなど
   ============================================================ */

.ratio > iframe {
  aspect-ratio: var(--aspect-ratio);
  height: auto;
  max-width: 100%;
  width: 100%;
}
.ratio-1x1 {
  --aspect-ratio: 1;
}
.ratio-4x3 {
  --aspect-ratio: 4 / 3;
}
.ratio-16x9 {
  --aspect-ratio: 16 / 9;
}
.ratio-21x9 {
  --aspect-ratio: 21 / 9;
}



/* ## サブコンテンツ
   ============================================================ */

/* ### ローカルナビ
   ---------------------------------------- */

.local-nav {
  margin: 0 0 2rem;
}
/*hx*/.local-nav__heading {
  background-color: var(--primary);
  border: solid 5px #fff;
  border-radius: 3px;
  color: #fff;
  font-size: 1.25rem;
  padding: 12px 15px 10px;
  text-align: center;
}

/*ul*/.local-nav__menu {
  background-color: #fff;
  border-radius: 3px;
  padding-top: 6px;
  padding-bottom: 6px;
}
/*ul*/.local-nav__menu li {
  background-image: url("./img/local-nav-icon.png");
  background-repeat: no-repeat;
  background-position: 5px 0;
  padding-left: 12px;
  padding-right: 4px;
  transition: all 0.15s ease 0s;
}
/*ul*/.local-nav__menu li:hover,
/*ul*/.local-nav__menu li:focus {
  background-image: url("./img/local-nav-icon_on.png");
}
/*ul*/.local-nav__menu > li > a {
  border: solid 1px #f0f0f0;
  color: #333;
  font-size: 14px;
  height: 45px;
  padding: 12px 9px 0 9px;
  transition: all 0.15s ease 0s;
}
/*ul*/.local-nav__menu > li > a:hover,
/*ul*/.local-nav__menu > li > a:focus {
  background-color: var(--primary-p);
}
/*ul*/.local-nav__menu > li + li {
  margin-top: 4px;
}



/* ### バナー
   ---------------------------------------- */

/*サブメニューグループ*/
.sub-bnr-group1 {
  margin: 0 0 1.5rem;
}
/*ul*/.sub-bnr-group1-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
/*ul*/.sub-bnr-group1-list > li {
  margin: 0 0 9px;
  text-align: center;
}
/*ul*/.sub-bnr-group1-list > li > a > img {
  max-width: 260px;
  width: 100%;
}
/*ul*/.sub-bnr-group1-list > li > a > img:hover,
/*ul*/.sub-bnr-group1-list > li > a > img:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}

.sub-bnr-pc-only {
  display: none;
}

@media (min-width: 1040px) {
  .sub-bnr-pc-only {
    display: block;
  }
}


/*溪泉学園グループ*/
.sub-bnr-group3 {
  margin: 0 0 1.5rem;
}
/*hx*/.sub-bnr-group3__heading {
  color: var(--link-color);
  font-size: 1rem;
  font-weight: 700;
}
/*ul*/.sub-bnr-group3-list {
  background-color: #fff;
  list-style: none;
  margin: 0;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 0;
}
/*ul*/.sub-bnr-group3-list > li {
  text-align: center;
}
/*ul*/.sub-bnr-group3-list > li + li {
  margin: 8px 0 0;
}
/*ul*/.sub-bnr-group3-list > li > a > img {
  max-width: 248px;
  width: 100%;
}
/*ul*/.sub-bnr-group3-list > li > a > img:hover,
/*ul*/.sub-bnr-group3-list > li > a > img:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}




/* ## フッター
   ============================================================ */

.footer {
  background-color: var(--primary);
  color: #fff;
  padding: 9px 0;
  width: 100%;
}
@media (width < 1600px) {
  .home .footer {
    padding-bottom: min(20vw + 8px, 120px + 8px);
  }
}


/* ### フッター カラム分割
   ---------------------------------------- */

.footer__row {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.footer__primary,
.footer__secondary,
.footer__tertiary {
  flex: 0 1 auto;
  max-width: 100%;
  width: 100%;
}
.footer__primary {
  border-bottom: solid 1px #fff;
  margin-bottom: 18px;
  padding-bottom: 6px;
}
.footer__secondary {
  border-bottom: solid 1px #fff;
  margin-bottom: 6px;
  padding-bottom: 18px;
}



/* ### フッターナビゲーション
   ---------------------------------------- */

.footer-nav {
  background-color: #fff;
  padding: 6px 0;
}
/*ul*/.footer-nav__menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
}
/*ul*/.footer-nav__menu > li + li {
  margin-left: 6px;
}
/*ul*/.footer-nav__menu > li > a {
  border-radius: 3px;
  color: var(--link-color2);
  padding: 3px 9px;
  transition: all 0.15s ease 0s;
}
/*ul*/.footer-nav__menu > li > a:hover,
/*ul*/.footer-nav__menu > li > a:focus {
  color: #fff;
  background-color: var(--primary-s);
  text-decoration: none;
}


/* ### フッターユーティリティナビゲーション
   ---------------------------------------- */

/*ul*/.footer-utility-nav__menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  justify-content: flex-end;
  margin: 0;
}
/*ul*/.footer-utility-nav__menu > li + li {
  margin-left: 6px;
}
/*ul*/.footer-utility-nav__menu > li > a {
  border-radius: 3px;
  color: #fff;
  padding: 3px 9px 3px 18px;
  position: relative;
  text-decoration: underline;
  transition: all 0.15s ease 0s;
}
/*ul*/.footer-utility-nav__menu > li > a::before {
  color: #fff;
  content: "\f105";
  font-family: FontAwesome;
  font-size: 0.875rem;
  position: absolute;
    left: 6px;
    top: 4px;
}
/*ul*/.footer-utility-nav__menu > li > a:hover,
/*ul*/.footer-utility-nav__menu > li > a:focus {
  color: #fff;
  background-color: var(--primary-s);
  text-decoration: none;
}


/* ### フッター ロゴ
   ---------------------------------------- */


/* ### フッター 住所
   ---------------------------------------- */

.footer__address p {
  margin: 0;
}
.footer__address a {
  color: #fff;
  text-decoration: underline;
}

.footer__address {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.footer__address1 {
  margin-right: 24px;
}
.footer__address1-1 {
  font-size: 0.938rem;
  font-weight: 700;
}
.footer__address1-2 {
  font-size: 1.25rem;
  font-weight: 700;
}
.footer__address2 {
  margin-top: 3px;
}

/* ### コピーライト
   ---------------------------------------- */

.copyright p {
  text-align: right;
  margin: 0;
}



/* ## ページの先頭に戻るボタン
   ============================================================ */

.gotop {
  position: fixed;
  z-index: 10;
    right: 0;
    bottom: 24px;
}
.gotop a {
  background-color: var(--primary);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.35);
  color: #fff;
  display: inline-block;
  font-size: 10px;
  line-height: 1.35;
  height: 50px;
  padding-top: 6px;
  text-align: center;
  text-decoration: none;
  transition: all 0.15s ease 0s;
  width: 50px;
}
.gotop a:hover,
.gotop a:focus {
  color: #fff;
  background-color: var(--primary);
  background-image: repeating-linear-gradient(
    -45deg, var(--primary), var(--primary) 1px, var(--primary-s) 1px, var(--primary-s) 2px);
  padding-top: 3px;
}





/* ============================================================
   # Pages
   ============================================================ */

/* ## 共通
============================================================ */


/* ## homeページ
   ============================================================ */

/* ### 学園トップページ風表示
---------------------------------------- */

.ex_home__gakuenIndex {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;

  background-color: #f7f5f0;
  position: fixed;
  inset: 0;
  overflow-y: auto;
  z-index: 200;
}
.ex_home__gakuenIndex.isOpen {
  opacity: 1;
  pointer-events: auto;
}

.ex_home__gakuenIndexHeader {
  background-color: #fff;
  padding: 0.75rem 0;
}
.ex_home__gakuenIndexVisual {
  background-color: #fff;
  padding-bottom: 1.5rem;
}
.ex_home__gakuenIndexContainer {
  display: grid;
  gap: 0.5rem;
  max-inline-size: max-content;
  margin-inline: auto;
  padding-top: 2rem;
  padding-bottom: 3rem;
}
@media (width >=768px) {
  .ex_home__gakuenIndexContainer {
    gap: 1rem;
    grid-template-columns: 1fr 1fr;
  }
}
.ex_home__gakuenIndexFooter {
  background-color: #39329b;
    color: #fff;
    padding: 0.75rem;
}

.ex_home__gakuenIndex button > img:hover,
.ex_home__gakuenIndex button > img:focus,
.ex_home__gakuenIndex a > img:hover,
.ex_home__gakuenIndex a > img:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}

#ex_home__juniorBtn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}


/* ### バナー
---------------------------------------- */

.home-content-top-bnr-list {
  align-items: center;
  display: flex;
  justify-content: center;
  list-style: none;
  padding-left: 0;
}

.home-content-top-bnr-list li {
  margin-left: 15px;
  margin-right: 15px;
}

@media (min-width: 1040px) {
  .home-content-top-bnr-list {
    display: none;
  }
}


/* ### お知らせ関連
---------------------------------------- */

.information-contents-box a,
.home-contentBox__emergency a,
.home-contentBox__panels a {
  color: #333;
  text-decoration: underline;
}

.home-contentBox__emergency,
.home-contentBox__announce {
  background-color: #fff;
  border-radius: 3px;
  margin: 0 0 0.75rem;
  min-height: 1.5rem;
  padding: 0.75rem;
}
.home-contentBox__emergency {
  border: solid 3px #ff8484;
}
.home-contentBox__announce {
  border: solid 3px #ffd821;
}

/*hx*/.home-emergency__heading {
  background-image: url("./img/home/icon_emergency.svg");
  background-repeat: no-repeat;
  background-position: 0 1px;
  color: #ff4848;
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 0;
  padding-left: 28px;
}

.home-emergency-post + .home-emergency-post,
.home-announce-post + .home-announce-post {
  border-top: solid 1px #bfbfbf;
  margin-top: 0.375rem;
  padding-top: 0.375rem;
}
.home-announce-post {
  font-size: 1.25rem;
}


.home-information-heading__container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-top: 1.5rem;
  margin-bottom: 6px;
}
.home-information-heading__icon,
.home-information-heading__body {
  border: solid 1px var(--primary);
  padding: 9px;
}
.home-information-heading__icon {
  flex: 1 1 45px;
  max-width: 45px;
}
.home-information-heading__body {
  flex: 1 1 calc(100% - 45px);
  max-width: calc(100% - 45px);
  width: calc(100% - 45px);/*IE対策*/
}
.home-information-heading__icon {
  align-items: center;
  background-color: var(--primary);
  color: #fff;
  display: flex;
  justify-content: center;
}
.home-information-heading__body {
  align-items: center;
  background-color: #fff;
  color: var(--link-color);
  display: flex;
}
.home-information-heading__body h2 {
  font-size: 1.25rem;
  margin: 0;
}


.information-contents-box,
.home-contentBox__information {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.02) inset;
  margin: 0 0 3rem;
  min-height: 1.5rem;
  padding: 20px;
}

.information-contents-box,
.home-contentBox__panel {
  display: grid;
  gap: 30px;
}
@media (min-width: 576px) {
  .information-contents-box,
  .home-contentBox__panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .information-contents-box,
  .home-contentBox__panel {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

a.home-information-post {
  text-decoration: none;
}
a.home-information-post:hover {
  text-decoration: underline;
}

.home-information-post__body {
  margin-top: 0.5rem;
}
.home-information-post__thumbnail {
  /* flex: 1 1 auto; */
  /* max-width: 100%; */
  /* margin: 15px 15px 15px 0; */
}
.home-information-post__thumbnail img {
  height: auto;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 9 / 6;
}
.home-information-post__date {
  color: #737373;
  font-size: 0.875rem;
}
.home-information-post__title {
  line-height: 1.4;
}



/* ### タブ切り替え
   ---------------------------------------- */

/*ul*/.home-contentBox__tabs {
  border-bottom: solid 1px #bfbfbf;
  list-style: none;
  padding-left: 0;
  padding-bottom: 0.375rem;
}
/*ul*/.home-contentBox__tabs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 4px;
}
/*ul*/.home-contentBox__tabs > li {
}
/*ul*/.home-contentBox__tabs > li > a {
  background-color: #e7e7e7;
  display: block;
  padding: 3px 24px;
  /* margin-right: 4px; */
  border: solid 1px #bfbfbf;
  border-bottom: none;
}
/*ul*/.home-contentBox__tabs > li > a:hover,
/*ul*/.home-contentBox__tabs > li > a:focus {
  background-color: #fff;
  border: solid 1px #949494;
  border-bottom: none;
}
/*ul*/.home-contentBox__tabs > li > a.active,
/*ul*/.home-contentBox__tabs > li > a.active:hover,
/*ul*/.home-contentBox__tabs > li > a.active:focus {
  background-color: #fff;
  border: solid 1px #949494;
  border-bottom: none;
  cursor: default;
  padding-top: 8px;
  margin-top: -5px;
}

.home-contentBox__panel:not(.active) {
  display: none;
}


/* ------------------------------
Fixed link button
------------------------------ */

.home-fixedLinkBtnsWrap {
  position: fixed;
  bottom: 0px;
  left: 0px;
  z-index: 110;
}
.home-fixedLinkBtns {
  display: flex;
}
@media (min-width: 1600px) {
  .home-fixedLinkBtnsWrap {
    bottom: auto;
    left: auto;
    top: 100px;
    right: 0px;
  }
  .home-fixedLinkBtns {
    flex-direction: column;
    gap: 5px;
  }
}
.home-fixedLinkBtns img {
  vertical-align: bottom;
}
@media (hover: hover) {
  .home-fixedLinkBtns a {
    transition: filter 0.15s;
  }
  .home-fixedLinkBtns a:hover {
    filter: brightness(1.1);
  }
}


/* ## 共通
   ============================================================ */

.contents-footer-contact__wrap {
  background-image: repeating-linear-gradient(
    -45deg, var(--primary), var(--primary) 2px, #fff 2px, #fff 3px);
  padding: 5px;
}
.contents-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.contents-footer-contact__body,
.contents-footer-contact__head {
  background-color: #fff;
  flex: 1 1 auto;
  max-width: 100%;
  padding: 8px;
}
.contents-footer-contact__head {
  text-align: center;
  margin: 0;
}
.contents-footer-contact__body {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 8px;
}
@media (min-width: 768px) {
  .contents-footer-contact {
    align-items: stretch;
    flex-direction: row;
  }
  .contents-footer-contact__head {
    flex: 1 1 147px;
  }
  .contents-footer-contact__body {
    flex: 1 1 calc(100% - 147px);
  }
}



/* ## 学校概要ページ
   ============================================================ */

/* ### 建学の精神
   ---------------------------------------- */

.summary-policy-media-layout-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-top: -5px;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
  margin-bottom: 1.5rem;
}
.summary-policy-media-layout-item__txt,
.summary-policy-media-layout-item__img {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}
@media (min-width: 768px) {
  .summary-policy-media-layout-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .summary-policy-media-layout-item__img {
    flex: 1 1 270px;
    max-width: 270px;
  }
  .summary-policy-media-layout-item__txt {
    flex: 1 1 calc(100% - 270px - 60px);
    max-width: calc(100% - 270px - 60px);
  }
}

.summary-educate-list {
  list-style: none;
  padding-left: 0;
}
.summary-educate-list li {
  background-image: url();
  background-repeat: no-repeat;
  background-position: 0 3px;
  margin-bottom: 1.125rem;
  padding-left: 36px;
  min-height: 35px;
  height: auto !important;
  height: 35px;
}
.summary-educate-list li.summary-educate-num1 {
  background-image: url("./img/summary/num1.webp");
}
.summary-educate-list li.summary-educate-num2 {
  background-image: url("./img/summary/num2.webp");
}
.summary-educate-list li.summary-educate-num3 {
  background-image: url("./img/summary/num3.webp");
}
.summary-educate-list li.summary-educate-num4 {
  background-image: url("./img/summary/num4.webp");
}
.summary-educate-list li.summary-educate-num5 {
  background-image: url("./img/summary/num5.webp");
}


/* ### 学校長挨拶
   ---------------------------------------- */



/* ## 学びの特色ページ
   ============================================================ */

.intro-mediaLayout {
  display: grid;
  gap: 15px 30px;
  margin: 1.25rem 0 1.5rem;
}
@media (width >= 768px) {
  .intro-mediaLayout {
    grid-template-columns: 1fr 1fr;
  }
  .intro-mediaLayout__first {
    order: -1;
  }
}



/* ## 学校生活 一日の生活ページ
   ============================================================ */

.life-table__wrap {
  background-image: url("./img/life/life-table_wrap_bg.jpg");
  background-repeat: no-repeat;
  background-position: right 0;
  padding-right: 0;
}
@media (min-width: 768px) {
  .life-table__wrap {
    padding-right: 45%;
  }
}

/*table*/.life-table--striped {
  background-color: #fff;
  border: 1px solid #dedede;
}
/*table*/.life-table--striped tbody tr:nth-of-type(odd) {
  background-color: var(--primary-p);
}
/*table*/.life-table--striped th,
/*table*/.life-table--striped td {
  border: 1px solid #dedede;
  text-align: center;
}
/*table*/.life-table--striped th {
  color: var(--link-color);
  width: 10em;
}
@media (max-width: 576px){/*max*/
  /*table*/.life-table--striped > tbody > tr > th,
  /*table*/.life-table--striped > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.life-table--striped > tbody > tr > th {
    padding-bottom: 3px;
  }
  /*table*/.life-table--striped > tbody > tr > td {
    padding-top: 3px;
  }
}


/* ### 施設リスト枠
   ---------------------------------------- */

.life-facility-well {
  background-color: #fff;
  border: solid 2px #e7bd22;
  border-radius: 3px;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.125rem;
}
/*ul*/.life-facility__list {
  list-style: none;
  margin-bottom: -0.75rem;
  padding-left: 0;
}
/*ul*/.life-facility__list {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
/*ul*/.life-facility__list li {
  line-height: 1.35;
  margin-right: 1.5rem;
  margin-bottom: 0.75rem;
}
.life-facility__num {
  border: solid 2px #e7bd22;
  color: #e7bd22;
  margin-right: 0.75rem;
  padding: 0 5px;
}


/* ### 画像を横に２個・３個並び
   ---------------------------------------- */

.life-grid-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.life-grid-item2,
.life-grid-item3 {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}
@media (min-width: 576px) {
  .life-grid-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .life-grid-item2,
  .life-grid-item3 {
    flex: 1 1 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
  }
}
@media (min-width: 768px) {
  .life-grid-item2 {
    flex: 1 1 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
  }
  .life-grid-item3 {
    flex: 1 1 calc(100% / 3 - 30px);
    max-width: calc(100% / 3 - 30px);
  }
}




/* ## 年間行事ページ
   ============================================================ */

.event-container {
  border-bottom: solid 1px #d2d2d2;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -10px;/*端のガター幅調整*/
  margin-right: -10px;/*端のガター幅調整*/
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
}
.event-item__month,
.event-item__event,
.event-item__img {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 10px;/*ガター幅*/
}
@media (min-width: 576px) {
  .event-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .event-item__month {
    flex: 1 1 83px;
    max-width: 83px;
  }
  .event-item__event {
    flex: 1 1 calc(100% - 83px - 40px);
    max-width: calc(100% - 83px - 40px);
  }
}
@media (min-width: 768px) {
  .event-item__event {
    flex: 1 1 calc(100% - 83px - 310px - 60px);
    max-width: calc(100% - 83px - 310px - 60px);
  }
  .event-item__img {
    flex: 1 1 310px;
    max-width: 310px;
  }
}



/* ## 部活動ページ
   ============================================================ */

.club-boxWrap {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
  gap: 25px;
  margin-bottom: 32px;
}
/* .club-box {} */




/* ## 制服ページ
   ============================================================ */



/* ## アクセス・通学環境ページ
   ============================================================ */



/* ## 学校見学会・説明会情報ページ
   ============================================================ */

.guideーgoPast {
	background-image: url("./img/guide/btn01_on.webp");
	background-repeat: no-repeat;
	width: 300px;
	height: 50px;
	margin: 36px auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.guideーgoPast a {
	background-image: url("./img/guide/btn01.webp");
	background-repeat: no-repeat;
	width: 300px;
	height: 50px;
	display: block;
	transition: all 0.15s ease 0s;
}
.guideーgoPast a:hover {
	background-image: url("./img/guide/btn01_on.webp");
}

.guide-imgList {
  padding-left: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 5px;
}


/* ## 入試情報ページ
   ============================================================ */



/* ## 募集要項ページ
   ============================================================ */

@media (min-width: 768px) {
  .table--narrow {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}


/* ## お問い合わせページ
   ============================================================ */

/*table*/.contact-form-table {
  border: none;
}
/*table*/.contact-form-table th,
/*table*/.contact-form-table td {
  border: none;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}
/*table*/.contact-form-table th {
  background-color: var(--primary-p);
  font-weight: 500;
  width: 12em;
}
/*2列テーブルのレスポンシブ*/
@media (width < 768px) {
  /*table*/.contact-form-table > tbody > tr > th,
  /*table*/.contact-form-table > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
}

/*table*/.contact-form-table th.th1 {
  background-color: #f6f6f6;
  border-top: solid 1px #d3d3d3;
  border-left: solid 1px #d3d3d3;
  border-bottom: solid 1px #d3d3d3;
  width: 6em;
}
@media (width < 768px) {
  /*table*/.contact-form-table th.th1 {
    border-top: none;
    border-left: none;
    border-bottom: none;
    width: 100%;
  }
}


/* ### フォーム
---------------------------------------- */

/* ラベルとボックスを縦に並べるときに使う */
/*label*/.formLabel {
  display: inline-block;
  margin-bottom: 0.5rem;
}

/* フォームに添えるテキスト */
.formText {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #666;
}

/* ### form control
---------------------------------------- */

.formControl {
  display: block;
  width: 100%;
  padding: 0.5em 0.75em;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #222;
  background-color: hsl(210 55% 98%);
  background-clip: padding-box;
  border: 1px solid hsl(210 15% 70%);
  appearance: none;
  border-radius: 4px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.formControl:focus {
  color: #222;
  background-color: #fff;
  border-color: hsl(210 70% 60%);
  outline: 0;
  box-shadow: 0 0 0 0.2rem hsl(210 100% 50% / 0.25);
}
.formControl::placeholder {
  color: #999;
}
.formControl[type=file] {
  cursor: pointer;
  overflow: hidden;
}
/* [type=file]のもの用 */
.formControl::file-selector-button {
  padding: 0.5rem 0.75rem;
  margin: -0.5rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: #222;
  background-color: #eee;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

textarea.formControl {
  /* フォームのサイズを入力された文字量に合わせて自動変更 */
  field-sizing: content;
  min-height: calc(4lh + 1rem + 2px);
  max-height: calc(8lh + 1rem + 2px);
}


/* ### form select
---------------------------------------- */

.formSelect {
  display: block;
  width: 100%;
  padding: 0.5em 2.25em 0.5em 0.75em;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #222;
  background-color: hsl(210 55% 98%);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75em center;
  background-size: 16px 14px;
  border: 1px solid hsl(210 15% 70%);
  border-radius: 4px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
.formSelect:focus {
  border-color: hsl(210 70% 60%);
  outline: 0;
  box-shadow: 0 0 0 0.2rem hsl(210 100% 50% / 0.25);
}
.formSelect[multiple],
.formSelect[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.formSelect {
  cursor: pointer;
}


/* ### form check
---------------------------------------- */

.formCheck {
  display: flex;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.formCheck .formCheck__input {
  margin-left: -1.5em;
}
.formCheck .formCheck__label {
  padding-left: 0.5em;
  margin-bottom: 0.25rem;
}
.formCheck_inline {
  display: inline-flex;
  margin-right: 1.25em;
}
.formCheck__input {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: hsl(210 55% 98%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgb(0 0 0 / 0.25);
  appearance: none;
}
.formCheck__input[type=checkbox] {
  border-radius: 4px;
}
.formCheck__input[type=radio] {
  border-radius: 50%;
}
.formCheck__input:active {
  filter: brightness(90%);
}
.formCheck__input:focus {
  border-color: hsl(210 70% 60%);
  outline: 0;
  box-shadow: 0 0 0 0.2rem hsl(210 100% 50% / 0.25);
}
.formCheck__input:checked {
  background-color: hsl(210 80% 50%);
  border-color: hsl(210 80% 50%);
}
.formCheck__input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.formCheck__input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}


/* ### other
---------------------------------------- */

.contact-align {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

button.form-submit-btn {
  background-color: #fff;
  border: solid 6px var(--primary);
  border-radius: 6px;
  color: var(--link-color);
  cursor: pointer;
  display: block;
  font-weight: 700;
  margin: 0 auto 1.5rem;
  padding: 0.6em 2em 0.5em;
  position: relative;
  text-align: center;
}
.form-submit-btn:hover,
.form-submit-btn:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}
.form-submit-btn::before {
  color: var(--link-color);
  content: "\f105 ";
  font-family: FontAwesome;
  position: absolute;
    right: 12px;
    top: 8px;
}



/* ## 保護者・在校生・卒業生の皆様へページ
   ============================================================ */

/*２行目以降文字下げ*/
/*p*/.reverse-indent {
  padding-left: 1em;
  text-indent: -1em;
}
/*２行目以降文字下げ(x)*/
/*p*/.reverse-indent--num {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/*table*/.renraku-table--plan {
  border: 1px solid #dedede;
}
/*table*/.renraku-table--plan th,
/*table*/.renraku-table--plan td {
  border: 1px solid #dedede;
}
/*table*/.renraku-table--plan th {
  background-color: #f9f9f9;
  font-weight: 500;
}
/*table*/.renraku-table--plan tr th:first-child {
  width: 2em;
}


/* ## 寄付金募集要項ページ
   ============================================================ */

/* ## 教員募集ページ
   ============================================================ */


/* ## サイトマップページ
   ============================================================ */

/*ul*/#menu-sitemap {
  list-style: none;
  padding-left: 0;
}
/*ul*/#menu-sitemap a {
  color: #333;
}

/*ul*/#menu-sitemap > li {
  background-image: url("./img/sitemap/icon.svg");
  background-repeat: no-repeat;
  background-position: 0 3px;
  margin-bottom: 1.5rem;
  padding-left: 24px;
}
/*ul*/#menu-sitemap > li > ul {
  list-style: none;
  padding-left: 0;
}
/*ul*/#menu-sitemap > li > ul > li {
  background-image: url("./img/sitemap/icon_dot.svg");
  background-repeat: no-repeat;
  background-position: 0 7px;
  margin: 0.375rem 0;
  padding-left: 15px;
}
/*ul*/#menu-sitemap > li > ul > li > ul {
  list-style: disc;
  padding-left: 24px;
}



/* ## WordPress関連（お知らせ）
   ============================================================ */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  word-break: normal;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgb(0 0 0 / 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  right: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.post-contentBox {
  background-color: #fff;
  border-top: solid 3px var(--primary);
  border-radius: 3px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.02) inset;
  margin: 0 0 3rem;
  min-height: 1.5rem;
  padding: 20px;
}


/* ### ブログ記事
   ---------------------------------------- */

.post__date {
  font-weight: 700;
  text-align: right;
}
/*span*/.post__term {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
/*span*/.post__term a {
  background-color: var(--secondary-lt);
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.5;
  padding: 1px 9px;
}
.post__title {
  color: var(--primary2);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}
.post__title a {
  color: var(--primary2);
}

.post__hr {
  border: 0;
  border-top: solid 5px #f5f5f5;
  margin: 1.5rem -20px;
}

.post__body {
  padding: 24px 0;
}


/* -----画像----- */
.post__body::after {
  clear: both;
  content: "";
  display: block;
}
.post__body img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
.post__body .aligncenter,
.post__body img.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto 12px;
}
.post__body .alignright,
.post__body img.alignright {
  margin: 0 0 12px 18px;
  float: right;
  display: inline;
}
.post__body .alignleft,
.post__body img.alignleft {
  margin: 0 18px 12px 0;
  float: left;
  display: inline;
}

.wp-caption {
  background: #f1f1f1;
  line-height: 18px;
  margin-bottom: 20px;
  max-width: 632px !important; /* prevent too-wide images from breaking layout */
  padding: 4px;
  text-align: center;
}
.wp-caption img {
  margin: 5px 5px 0;
  max-width: 622px; /* caption width - 10px */
}
.wp-caption p.wp-caption-text {
  color: #777;
  font-size: 14px;
  margin: 5px;
}


/* ----- ページ送り ----- */
/* .navigation {} */
/* .post-navigation {} */

.nav-links {
  font-size: 0.875rem;
  list-style: none;
  margin: 72px 0 48px;
  padding-left: 0;
}
.nav-links::after {
  clear: both;
  content: "";
  display: block;
}
.nav-links .nav-next {
  width: 250px;
  line-height: 1.4;
  float: left;
}
.nav-links .nav-previous {
  width: 250px;
  text-align: right;
  line-height: 1.4;
  float: right;
}



/* ----- ページネーション（プラグイン：WP-PageNavi） ----- */
.wp-pagenavi {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;

  font-size: 0.875rem;
  margin: 72px 0 48px;
}
.wp-pagenavi a,
.wp-pagenavi .pages,
.wp-pagenavi .current {
  background-color: #fafafa;
  border: solid 1px #ccc;
  border-radius: 3px;
  font-weight: 700;
  padding: 9px 12px;
  text-align: center;
  text-decoration: none;
}
.wp-pagenavi a:hover,
.wp-pagenavi .current {
  background-color: var(--primary);
  border: solid 1px var(--primary);
  color: #fff;
}



/* ### ブログ記事のカスタムフィールド部分
   ---------------------------------------- */

.postImageLine {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  padding-left: 0;
}
.postImageLine__item {
  width: 214px;
}
.postImageLine__item img {
  height: auto;
  max-width: 100%;
}



/* ### ウィジェット
   ---------------------------------------- */

/*ul*/.widgets {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.02) inset;
  list-style: none;
  margin: 0 0 3rem;
  min-height: 1.5rem;
  padding: 12px;
}
/*ul*/.widgets > li {}
/*ul*/.widgets > li + li {
  border-top: solid 1px #bfbfbf;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}
/*hx*/.widgettitle {
  background-image: url("./img/news/icon_heading.svg");
  background-repeat: no-repeat;
  background-position: 0 2px;
  font-size: 1rem;
  font-weight: 700;
  padding-left: 24px;
}
/*li*/.widget ul {
  font-size: 0.938em;
  /*list-style: none;*/
  list-style-type: disc;
  margin: 0 0 24px;
  /*padding-left: 0;*/
}
/*li*/.widget ul > li {
  font-size: 0.938em;
  margin-bottom: 0.375rem;
}
/*li*/.widget ul > li > a {
  font-weight: 700;
}

/*カレンダー*/
.widget_calendar table {
  margin: 0 auto;
  line-height: 2;
  width: 96%;
}
.widget_calendar caption {
  border: solid 2px var(--primary-s);
  caption-side: top;
  color: var(--primary2);
  font-weight: 700;
  line-height: 1.5;
  margin: 9px 0;
  text-align: center;
  padding: 0;
}
.widget_calendar thead {
  font-size: 12px;
  font-weight: bold;
}
.widget_calendar tbody {
  font-size: 13px;
}
.widget_calendar thead th,
.widget_calendar tbody td {
  text-align: center;
}
.widget_calendar .pad {}
.widget_calendar tbody a {
  background-color: #fff;
  display: block;
}
.widget_calendar tbody a:hover {
  background-color: #eee;
}
.widget_calendar #prev {
}
.widget_calendar #next {
  text-align: right;
}
.widget_calendar #prev a,
.widget_calendar #next a {
}

/*li*/.widget select {
  background-color: #f7f7f7;
  border: solid 1px #ccc;
  border-radius: 3px;
  margin: 12px 0;
  padding: 6px;
  width: 100%;
}

