@charset "utf-8";

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

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


/* ============================================================
   # 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: #61a002;/*リンク文字色*/
  text-decoration: none;
}
a:focus,a:hover {
  color: #61a002;/*リンク文字色*/
  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;
}


/* ### Display headings
   ---------------------------------------- */

/*del*/


/* ### 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;
  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;
}


/* ### 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);
}



/* ## Figures
   ============================================================ */

/*del*/






/* ============================================================
   # 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;
}


/* ## Forms
   ============================================================ */

.form-control {
  background-color: #fff;
  background-image: none;
  -webkit-background-clip: padding-box;
          background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  -webkit-transition: border-color ease-in-out 0.15s,-webkit-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  color: #464a4c;
  display: block;
  font-size: 1rem;
  line-height: 1.25;
  padding: 0.5rem 0.75rem;
  width: 100%;
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  background-color: #fff;
  border-color: #5cb3fd;
  color: #464a4c;
  outline: none;
}
.form-control::-webkit-input-placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control::-moz-placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control::placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control:disabled,
.form-control[readonly] {
  background-color: #eceeef;
  opacity: 1;
}
.form-control:disabled {
  cursor: not-allowed;
}
select.form-control:not([size]):not([multiple]) {
  height: calc(2.25rem + 2px);
}
select.form-control:focus::-ms-value {
  background-color: #fff;
  color: #464a4c;
}



/* ## Input group
   ============================================================ */

.form-group {
  margin-bottom: 1rem;
}
.form-text {
  display: block;
  margin-top: 0.25rem;
}
.form-check {
  position: relative;
  display: block;
  margin-bottom: 0.5rem;
}
.form-check.disabled .form-check-label {
  color: #636c72;
  cursor: not-allowed;
}
.form-check-label {
  padding-left: 1.25rem;
  margin-bottom: 0;
  cursor: pointer;
}
.form-check-input {
  position: absolute;
  margin-top: 0.25rem;
  margin-left: -1.25rem;
}
.form-check-input:only-child {
  position: static;
}
.form-check-inline {
  display: inline-block;
}
.form-check-inline .form-check-label {
  vertical-align: middle;
}
.form-check-inline + .form-check-inline {
  margin-left: 0.75rem;
}
.form-control-feedback {
  margin-top: 0.25rem;
}



/* ## 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;
}


/* ### Tabs
   ---------------------------------------- */

/*del*/

/* ### Pills
   ---------------------------------------- */

/*del*/

/* ### Justified
   ---------------------------------------- */

/*del*/

/* ## Navbar
   ============================================================ */

/*del*/


/* ## Pagination
   ============================================================ */

/*ul*/.pagination {
  border-radius: 3px;
  display: inline-block;
  margin: 18px 0;
  padding-left: 0;
}
/*ul*/.pagination > li {
  display: inline;
}
/*ul*/.pagination > li > a,
/*ul*/.pagination > li > span {
  background-color: #fff;
  border: 1px solid #ddd;
  color: #337ab7;
  float: left;
  line-height: 1.5;
  margin-left: -1px;
  padding: 0.4em 0.8em 0.3em;
  position: relative;
  text-decoration: none;
}
/*ul*/.pagination > li:first-child > a,
/*ul*/.pagination > li:first-child > span {
  border-top-left-radius: 0.25em;
  border-bottom-left-radius: 0.25em;
  margin-left: 0;
}
/*ul*/.pagination > li:last-child > a,
/*ul*/.pagination > li:last-child > span {
  border-top-right-radius: 0.25em;
  border-bottom-right-radius: 0.25em;
}
/*ul*/.pagination > li > a:hover,
/*ul*/.pagination > li > span:hover,
/*ul*/.pagination > li > a:focus,
/*ul*/.pagination > li > span:focus {
  background-color: #eee;
  border-color: #ddd;
  color: #23527c;
  z-index: 2;
}
/*ul*/.pagination > .active > a,
/*ul*/.pagination > .active > span,
/*ul*/.pagination > .active > a:hover,
/*ul*/.pagination > .active > span:hover,
/*ul*/.pagination > .active > a:focus,
/*ul*/.pagination > .active > span:focus {
  background-color: #337ab7;
  border-color: #337ab7;
  color: #fff;
  cursor: default;
  z-index: 3;
}
/*ul*/.pagination > .disabled > span,
/*ul*/.pagination > .disabled > span:hover,
/*ul*/.pagination > .disabled > span:focus,
/*ul*/.pagination > .disabled > a,
/*ul*/.pagination > .disabled > a:hover,
/*ul*/.pagination > .disabled > a:focus {
  background-color: #fff;
  border-color: #ddd;
  color: #777;
  cursor: not-allowed;
}



/* ## Pager
   ============================================================ */

/*ul*/.pager {
  list-style: none;
  margin: 18px 0;
  padding-left: 0;
  text-align: center;
}
.pager::before,
.pager::after {
  content: " ";
  display: table;
}
.pager::after {
  clear: both;
}
/*ul*/.pager li {
  display: inline;
}
/*ul*/.pager li > a,
/*ul*/.pager li > span {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 7px;
  display: inline-block;
  padding: 0.35em 1em 0.25em;
}
/*ul*/.pager li > a:hover,
/*ul*/.pager li > a:focus {
  background-color: #eee;
  text-decoration: none;
}
/*ul*/.pager .next > a,
/*ul*/.pager .next > span {
  float: right;
}
/*ul*/.pager .previous > a,
/*ul*/.pager .previous > span {
  float: left;
}
/*ul*/.pager .disabled > a,
/*ul*/.pager .disabled > a:hover,
/*ul*/.pager .disabled > a:focus,
/*ul*/.pager .disabled > span {
  background-color: #fff;
  color: #777;
  cursor: not-allowed;
}



/* ## Labels
   ============================================================ */

.label {
  border-radius: 3px;
  color: #fff;
  display: inline;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  padding: 0.2em 0.6em 0.2em;
  text-align: center;
  /*vertical-align: baseline;*/
  vertical-align: middle;
  white-space: nowrap;
}
a.label:hover,
a.label:focus {
  color: #fff;
  cursor: pointer;
  text-decoration: none;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}

.label-default {
  background-color: #777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}



/* ## Thumbnails
   ============================================================ */

.thumbnail {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  display: block;
  margin-bottom: 18px;
  padding: 4px;
  transition: border .2s ease-in-out;
}
.thumbnail img,
.thumbnail a img {
  margin-right: auto;
  margin-left: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  color: #333;
  padding: 9px;
}




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


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

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



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

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

.text-colored {/*主な色文字*/
  color: #c00;
}
.text-color--red {
  color: #f00;
}
.text-color--blue {
  color: #00f;
}
.text-color--yellow {
  color: #ff0;
}
.text-color--green {
  color: #6db603;
}
.text-color--mediumaquamarine {
  color: #6bd6a2;
}
.text-color--lightcoral {
  color: #ff8686;
}
.text-color--sandybrown {
  color: #ffa250;
}


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

.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;
}




/* ## Position
   ============================================================ */

/*del*/

/* ## Responsive helpers
   ============================================================ */

/*del*/



/* ## 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;
}



/* ## 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;
}

.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;
}

.font-size-small {
  font-size: 0.87rem;
}
.font-size-large {
  font-size: 1.25em;
}
.font-size-xlarge {
  font-size: 1.5em;
}
.font-size-xxlarge {
  font-size: 2em;
}
.font-weight-normal {
  font-weight: 500;
}
.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;
}

.home-header__splash {
  background-color: #fff;
  display: grid;
  place-content: center;
  height: calc(100% - 70px);/* だいたい70px */
  /* width: 100vw; */
  width: 100%;
  padding: 16px;
  position: absolute;
  /* z-index: 20; */
  z-index: 130;
  animation: splash 12s forwards;
}
@keyframes splash {
  from, 90% {
    opacity: 1;
    pointer-events: auto;
  }
  to {
    opacity: 0;
    pointer-events: none;
  }
}
.home-header__splashVideo {
  width: min(80vw, 400px);
}

@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__splash {
    height: 100%;
    /* z-index: 20; */
    z-index: 130;
  }

  .home-header__splashVideo {
    width: min(100vw, 640px);
  }

  .home-header__slide {
    position: relative;
    z-index: 1;
  }
  .home-header__bottom {
    position: absolute;
      left: calc(50% - 360px);
      bottom: 10px;
    z-index: 10;
  }
}
@media (min-width: 1040px) {
  /* .home-header {
    height: 525px;
  } */
  /* .home-header__top {
    left: calc(50% - 500px);
  } */
  .home-header__bottom {
    left: calc(50% - 500px);
  }
}

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

.slide_wrap {
  width: 100%;
}
.slide_wrap img {
  height: auto;
  max-width: 100%;
  object-fit: cover;
}
@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: 342px;
}
@media (min-width: 768px) {
  .header__logo {
    margin: 15px 0 0;
    max-width: 342px;/*ロゴ画像の最大表示幅*/
  }
}
.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: #61a002;
  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: #7cbc1d;
  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 #7cbc1d;
  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 #5e9dde;
  background-color: #5e9dde;
  color: #fff;
}
/*ul*/.header-utility-nav__menu > li > a.contact::before {
  border-top: 10px solid #5e9dde;
}
/*ul*/.header-utility-nav__menu > li > a.contact::after {
  border-top: 10px solid #5e9dde;
}
/*ul*/.header-utility-nav__menu > li > a.contact:hover,
/*ul*/.header-utility-nav__menu > li > a.contact:focus {
  color: #5e9dde;
  background-color: #eaf4ff;
  background-image: repeating-linear-gradient(
    -45deg, #eaf4ff, #eaf4ff 4px, #d5e9ff 1px, #d5e9ff 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: #6db603;
  border: solid 1px #6db603;
  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.png");
  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 120px;
  max-width: 120px;
  margin-top: 7px;
  width: 120px;/*IE対策*/
}
/*ul*/.header-nav__menu--img > li > a {
  background-image: url();
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 167px 65px;
  display: block;
  height: 65px;
  overflow: hidden;
  text-indent: 100%;
  transition: all 0.15s ease 0s;
  white-space: nowrap;
  width: 120px;
}
li.header-nav__item01 > a {
  background-image: url("./img/header-nav01s.png");
}
li.header-nav__item02 > a {
  background-image: url("./img/header-nav02s.png?2023");
}
li.header-nav__item03 > a {
  background-image: url("./img/header-nav03s.png");
  background-size: 166px 65px;
  width: 120px;
}
li.header-nav__item04 > a {
  background-image: url("./img/header-nav04s.png");
  background-size: 166px 65px;
  width: 120px;
}
li.header-nav__item05 > a {
  background-image: url("./img/header-nav05s.png");
}
li.header-nav__item06 > a {
  background-image: url("./img/header-nav06s.png");
}

/*hover用画像事前読み込み用*/
li.header-nav__item01 > a {
  background-image:
    url("./img/header-nav01s.png"),
    url("./img/header-nav01s_on.png");
}
li.header-nav__item02 > a {
  background-image:
    url("./img/header-nav02s.png?2023"),
    url("./img/header-nav02s_on.png?2023");
}
li.header-nav__item03 > a {
  background-image:
    url("./img/header-nav03s.png"),
    url("./img/header-nav03s_on.png");
}
li.header-nav__item04 > a {
  background-image:
    url("./img/header-nav04s.png"),
    url("./img/header-nav04s_on.png");
}
li.header-nav__item05 > a {
  background-image:
    url("./img/header-nav05s.png"),
    url("./img/header-nav05s_on.png");
}
li.header-nav__item06 > a {
  background-image:
    url("./img/header-nav06s.png"),
    url("./img/header-nav06s_on.png");
}

li.header-nav__item01 > a:hover,
li.header-nav__item01 > a:focus {
  background-image: url("./img/header-nav01s_on.png");
}
li.header-nav__item02 > a:hover,
li.header-nav__item02 > a:focus {
  background-image: url("./img/header-nav02s_on.png?2023");
}
li.header-nav__item03 > a:hover,
li.header-nav__item03 > a:focus {
  background-image: url("./img/header-nav03s_on.png");
}
li.header-nav__item04 > a:hover,
li.header-nav__item04 > a:focus {
  background-image: url("./img/header-nav04s_on.png");
}
li.header-nav__item05 > a:hover,
li.header-nav__item05 > a:focus {
  background-image: url("./img/header-nav05s_on.png");
}
li.header-nav__item06 > a:hover,
li.header-nav__item06 > a:focus {
  background-image: url("./img/header-nav06s_on.png");
}
/*アクティブページ設定をする場合の例*/
.body-xxx li.header-nav__item02 > a {
  background-image: url("./img/header-nav02s_is.png");
}

@media (min-width: 1040px) {
  /*ul*/.header-nav__menu--img > li {
    flex: 1 1 167px;
    max-width: 167px;
    width: 167px;/*IE対策*/
  }
  /*ul*/.header-nav__menu--img > li.header-nav__item03,
  /*ul*/.header-nav__menu--img > li.header-nav__item04 {
    flex: 1 1 166px;
    max-width: 166px;
    width: 166px;/*IE対策*/
  }
  /*ul*/.header-nav__menu--img > li > a {
    background-size: 167px 65px;
    height: 65px;
    width: 167px;
  }
  li.header-nav__item01 > a {
    background-image: url("./img/header-nav01.png");
  }
  li.header-nav__item02 > a {
    background-image: url("./img/header-nav02.png?2023");
  }
  li.header-nav__item03 > a {
    background-image: url("./img/header-nav03.png");
    background-size: 166px 65px;
    width: 166px;
  }
  li.header-nav__item04 > a {
    background-image: url("./img/header-nav04.png");
    background-size: 166px 65px;
    width: 166px;
  }
  li.header-nav__item05 > a {
    background-image: url("./img/header-nav05.png");
  }
  li.header-nav__item06 > a {
    background-image: url("./img/header-nav06.png");
  }
  /*hover用画像事前読み込み用*/
  li.header-nav__item01 > a {
    background-image:
      url("./img/header-nav01.png"),
      url("./img/header-nav01_on.png");
  }
  li.header-nav__item02 > a {
    background-image:
      url("./img/header-nav02.png?2023"),
      url("./img/header-nav02_on.png?2023");
  }
  li.header-nav__item03 > a {
    background-image:
      url("./img/header-nav03.png"),
      url("./img/header-nav03_on.png");
  }
  li.header-nav__item04 > a {
    background-image:
      url("./img/header-nav04.png"),
      url("./img/header-nav04_on.png");
  }
  li.header-nav__item05 > a {
    background-image:
      url("./img/header-nav05.png"),
      url("./img/header-nav05_on.png");
  }
  li.header-nav__item06 > a {
    background-image:
      url("./img/header-nav06.png"),
      url("./img/header-nav06_on.png");
  }

  li.header-nav__item01 > a:hover,
  li.header-nav__item01 > a:focus {
    background-image: url("./img/header-nav01_on.png");
  }
  li.header-nav__item02 > a:hover,
  li.header-nav__item02 > a:focus {
    background-image: url("./img/header-nav02_on.png?2023");
  }
  li.header-nav__item03 > a:hover,
  li.header-nav__item03 > a:focus {
    background-image: url("./img/header-nav03_on.png");
  }
  li.header-nav__item04 > a:hover,
  li.header-nav__item04 > a:focus {
    background-image: url("./img/header-nav04_on.png");
  }
  li.header-nav__item05 > a:hover,
  li.header-nav__item05 > a:focus {
    background-image: url("./img/header-nav05_on.png");
  }
  li.header-nav__item06 > a:hover,
  li.header-nav__item06 > a:focus {
    background-image: url("./img/header-nav06_on.png");
  }
  /*アクティブページ設定をする場合の例*/
  .body-xxx li.header-nav__item02 > a {
    background-image: url("./img/header-nav02_is.png");
  }
}


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

.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: #ebffcc;/*border透け防止*/
  width: 200px;
}
/*ul*/.header-nav__dropdown-child > li + li {
  border-top: solid 1px #fff;
}
/*ul*/.header-nav__dropdown-child > li > a {
  background-color: #ebffcc;
  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: #6db603;
  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: #61a002;
  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: #f0f7e8;
  /* 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: #e2edd6;
}



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

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



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

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

.heading--lg {
  background-color: #fff;
  background-image: url("./img/heading-lg_icon.png");
  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-bottom: 1.2rem;
}
.heading--lg h1,
.heading--lg .h1,
.heading--lg h2,
.heading--lg .h2 {
  margin: 0;
  padding: 0.85em 1em 0.8em 1.3em;
}


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

.heading--md {
  background-color: #8ad228;
  background-image: url("./img/heading-md_icon.png");
  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-bottom: 0.8rem;
}
.heading--md h2,
.heading--md .h2,
.heading--md h3,
.heading--md .h3 {
  margin: 0;
  padding: 0.65em 1em 0.6em 1.2em;
}
/*色パターン*/
.heading--md_cornflowerblue {
  background-color: #74a4fb;
}
.heading--md_lightgreen {
  background-color: #66d15d;
}
.heading--md_skyblue {
  background-color: #88dfff;
}
.heading--md_lightcoral {
  background-color: #ff8686;
}
.heading--md_sandybrown {
  background-color: #ffa250;
}
.heading--md_mediumaquamarine {
  background-color: #6bd6a2;
}
.heading--md_icegreen {
  background-color: #9de7d3;
}
.heading--md_apricot {
  background-color: #fcc978;
}




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

.heading--sm {
  background-image: repeating-linear-gradient(
    -45deg, #d2d2d2, #d2d2d2 2px, #fff 2px, #fff 3px);
  color: #6db603;
  margin-bottom: 0.8rem;
  padding: 3px;
}
.heading--sm h3,
.heading--sm .h3,
.heading--sm h4,
.heading--sm .h4 {
  background-color: #fff;
  font-weight: 700;
  margin: 0;
  padding: 0.4em 0.5em 0.3em;
}
/*色パターン*/
.heading--sm_cornflowerblue {
  color: #74a4fb;
}
.heading--sm_lightgreen {
  color: #66d15d;
}
.heading--sm_skyblue {
  color: #88dfff;
}
.heading--sm_lightcoral {
  color: #ff8686;
}
.heading--sm_sandybrown {
  color: #ffa250;
}
.heading--sm_mediumaquamarine {
  color: #6bd6a2;
}
.heading--sm_icegreen {
  color: #46d5ae;
}
.heading--sm_apricot {
  color: #fbbb55;
}


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

.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--sm1_cornflowerblue {
  background-color: #74a4fb;
  background-image: url("./img/heading-sm1_icon_cornflowerblue.png");
}
.heading--sm1_lightgreen {
  background-color: #66d15d;
  background-image: url("./img/heading-sm1_icon_lightgreen.png");
}
.heading--sm1_skyblue {
  background-color: #88dfff;
  background-image: url();
}
.heading--sm1_lightcoral {
  background-color: #ff8686;
  background-image: url("./img/heading-sm1_icon_lightcoral.png");
}
.heading--sm1_sandybrown {
  background-color: #ffa250;
  background-image: url("./img/heading-sm1_icon_sandybrown.png");
}
.heading--sm1_mediumaquamarine {
  background-color: #6bd6a2;
  background-image: url("./img/heading-sm1_icon_mediumaquamarine.png");
}
.heading--sm1_icegreen {
  background-color: #9de7d3;
  background-image: url();
}
.heading--sm1_apricot {
  background-color: #fcc978;
  background-image: url();
}


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

.heading--sm2 {
  background-image: url("./img/heading-sm2_icon.png");
  background-repeat: no-repeat;
  background-position: left center;
  border-bottom: solid 5px #f3f3f3;
  color: #8ad228;
  margin-bottom: 0.8rem;
}
.heading--sm2 h3,
.heading--sm2 .h3,
.heading--sm2 h4,
.heading--sm2 .h4 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  padding: 0.3em 1em 0.3em 1.2em;
}


/* ### 見出し
   ---------------------------------------- */

.heading--xs {
  background-color: #fff;
  color: #5d85bf;
  margin-bottom: 0.8rem;
}
.heading--xs h4,
.heading--xs .h4,
.heading--xs h5,
.heading--xs .h5 {
  font-weight: 700;
  margin: 0;
  padding: 0.5em 0.7em 0.4em;
}
/*色パターン*/
.heading--xs_cornflowerblue {
  color: #74a4fb;
}
.heading--xs_lightgreen {
  color: #66d15d;
}
.heading--xs_skyblue {
  color: #88dfff;
}
.heading--xs_lightcoral {
  color: #ff8686;
}
.heading--xs_sandybrown {
  color: #ffa250;
}
.heading--xs_mediumaquamarine {
  color: #6bd6a2;
}
.heading--xs_icegreen {
  color: #46d5ae;
}
.heading--xs_apricot {
  color: #fbbb55;
}




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

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


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


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

.contents-box {
  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;
}

.contents-box--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;
}
.contents-box--sub a {
  color: #5d85bf;
}
/*色パターン*/
.contents-box--sub_cornflowerblue {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #eaf1fe 2px, #eaf1fe 4px);
  border: solid 3px #74a4fb;
}
.contents-box--sub_lightgreen {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #e8f8e7 2px, #e8f8e7 4px);
  border: solid 3px #66d15d;
}
.contents-box--sub_skyblue {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #eee 2px, #eee 4px);
  border: solid 3px #88dfff;
}
.contents-box--sub_lightcoral {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #ffeded 2px, #ffeded 4px);
  border: solid 3px #ff8686;
}
.contents-box--sub_sandybrown {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #fff1e5 2px, #fff1e5 4px);
  border: solid 3px #ffa250;
}
.contents-box--sub_mediumaquamarine {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #e9f9f1 2px, #e9f9f1 4px);
  border: solid 3px #6bd6a2;
}
.contents-box--sub_icegreen {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #eee 2px, #eee 4px);
  border: solid 3px #9de7d3;
}
.contents-box--sub_apricot {
  background-image: repeating-linear-gradient(
    -45deg, #fff, #fff 2px, #eee 2px, #eee 4px);
  border: solid 3px #fcc978;
}








/* ### いい感じのボックス ボーダー
   ---------------------------------------- */

.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;
}

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

.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;
}

/*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: #6db603;
  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;
  }
}





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

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

.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--green {
  margin: 48px 0 24px;
  text-align: center;
}
.link-btn--green a {
  background-color: #8fd42a;
  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--green a:hover,
.link-btn--green a:focus {
  background-color: #8fd42a;
  color: #fff;
}




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

.embed-google-map {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  padding-bottom: 75%;/*縦横比*/
  padding-bottom: 56.25%;/*縦横比*/
  position: relative;
}
.embed-google-map iframe {
  border: 0;
  height: 100%;
  position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
  width: 100%;
}




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

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

.local-nav {
  margin: 0 0 2rem;
}
/*hx*/.local-nav__heading {
  background-color: #8ad228;
  border: solid 5px #fff;
  border-radius: 3px;
  color: #fff;
  font-size: 1.25rem;
  padding: 12px 15px 10px;
  text-align: center;
}
/*色パターン*/
.local-nav_cornflowerblue /*hx*/.local-nav__heading {
  background-color: #74a4fb;
}
.local-nav_lightgreen /*hx*/.local-nav__heading {
  background-color: #66d15d;
}
.local-nav_skyblue /*hx*/.local-nav__heading {
  background-color: #88dfff;
}
.local-nav_lightcoral /*hx*/.local-nav__heading {
  background-color: #ff8686;
}
.local-nav_sandybrown /*hx*/.local-nav__heading {
  background-color: #ffa250;
}
.local-nav_mediumaquamarine /*hx*/.local-nav__heading {
  background-color: #6bd6a2;
}

/*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");
}
/*色パターン*/
.local-nav_cornflowerblue /*ul*/.local-nav__menu li:hover,
.local-nav_cornflowerblue /*ul*/.local-nav__menu li:focus {
  background-image: url("./img/local-nav-icon_cornflowerblue_on.png");
}
.local-nav_lightgreen /*ul*/.local-nav__menu li:hover,
.local-nav_lightgreen /*ul*/.local-nav__menu li:focus {
  background-image: url("./img/local-nav-icon_lightgreen_on.png");
}
.local-nav_skyblue /*ul*/.local-nav__menu li:hover,
.local-nav_skyblue /*ul*/.local-nav__menu li:focus {
  background-image: url("./img/local-nav-icon_skyblue_on.png");
}
.local-nav_lightcoral /*ul*/.local-nav__menu li:hover,
.local-nav_lightcoral /*ul*/.local-nav__menu li:focus {
  background-image: url("./img/local-nav-icon_lightcoral_on.png");
}
.local-nav_sandybrown /*ul*/.local-nav__menu li:hover,
.local-nav_sandybrown /*ul*/.local-nav__menu li:focus {
  background-image: url("./img/local-nav-icon_sandybrown_on.png");
}
.local-nav_mediumaquamarine /*ul*/.local-nav__menu li:hover,
.local-nav_mediumaquamarine /*ul*/.local-nav__menu li:focus {
  background-image: url("./img/local-nav-icon_mediumaquamarine_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: #f0ffdb;
}
/*色パターン*/
.local-nav_cornflowerblue /*ul*/.local-nav__menu > li > a:hover,
.local-nav_cornflowerblue /*ul*/.local-nav__menu > li > a:focus {
  background-color: #e7f0ff;
}
.local-nav_lightgreen /*ul*/.local-nav__menu > li > a:hover,
.local-nav_lightgreen /*ul*/.local-nav__menu > li > a:focus {
  background-color: #e0f6df;
}
.local-nav_skyblue /*ul*/.local-nav__menu > li > a:hover,
.local-nav_skyblue /*ul*/.local-nav__menu > li > a:focus {
  background-color: #e7f9ff;
}
.local-nav_lightcoral /*ul*/.local-nav__menu > li > a:hover,
.local-nav_lightcoral /*ul*/.local-nav__menu > li > a:focus {
  background-color: #ffe7e7;
}
.local-nav_sandybrown /*ul*/.local-nav__menu > li > a:hover,
.local-nav_sandybrown /*ul*/.local-nav__menu > li > a:focus {
  background-color: #ffecdc;
}
.local-nav_mediumaquamarine /*ul*/.local-nav__menu > li > a:hover,
.local-nav_mediumaquamarine /*ul*/.local-nav__menu > li > a:focus {
  background-color: #e1f7ec;
}

/*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-group2 {
  margin: 0 0 1.5rem;
}
/*ul*/.sub-bnr-group2-list {
  background-color: #fff;
  list-style: none;
  margin: 0;
  padding-top: 18px;
  padding-bottom: 18px;
  padding-left: 0;
}
/*ul*/.sub-bnr-group2-list > li {
  text-align: center;
}
/*ul*/.sub-bnr-group2-list > li + li {
  margin: 6px 0 0;
}
/*ul*/.sub-bnr-group2-list > li > a > img {
  max-width: 228px;
  width: 100%;
}
/*ul*/.sub-bnr-group2-list > li > a > img:hover,
/*ul*/.sub-bnr-group2-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-group3 {
  margin: 0 0 1.5rem;
}
/*hx*/.sub-bnr-group3__heading {
  color: #855ccb;
  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: #8fd42a;
  color: #fff;
  padding: 9px 0;
  width: 100%;
}


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

.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: #7cbc1d;
  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: #8fd42a;
  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: #7fc614;
  text-decoration: none;
}




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

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

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

.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 {}
.copyright p {
  text-align: right;
  margin: 0;
}



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

.gotop {
  position: fixed;
  z-index: 10;
    right: 0;
    bottom: 24px;
}
.gotop a {
  background-color: #8fd42a;
  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;
  /*transform: scale(0.85);
  transform-origin: right bottom;*/
}
.gotop a:hover,
.gotop a:focus {
  color: #fff;
  background-color: #8fd42a;
  background-image: repeating-linear-gradient(
    -45deg, #8fd42a, #8fd42a 1px, #57be15 1px, #57be15 2px);
  padding-top: 3px;
}





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


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

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

.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-contents-box__emergency a,
.home-contents-box__panels a {
  color: #333;
  text-decoration: underline;
}

.home-contents-box__emergency,
.home-contents-box__announce {
  background-color: #fff;
  border-radius: 3px;
  margin: 0 0 0.75rem;
  min-height: 1.5rem;
  padding: 0.75rem;
}
.home-contents-box__emergency {
  border: solid 3px #ff8484;
}
.home-contents-box__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 #7cbc1d;
  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: #7cbc1d;
  color: #fff;
  display: flex;
  justify-content: center;
}
.home-information-heading__body {
  align-items: center;
  background-color: #fff;
  color: #7cbc1d;
  display: flex;
}
.home-information-heading__body h2 {
  font-size: 1.25rem;
  margin: 0;
}


.information-contents-box,
.home-contents-box__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-contents-box__panel {
  display: grid;
  gap: 30px;
}
@media (min-width: 576px) {
  .information-contents-box,
  .home-contents-box__panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .information-contents-box,
  .home-contents-box__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-contents-box__tabs {
  border-bottom: solid 1px #bfbfbf;
  list-style: none;
  padding-left: 0;
  padding-bottom: 0.375rem;
}
/*ul*/.home-contents-box__tabs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
/*ul*/.home-contents-box__tabs > li {
}
/*ul*/.home-contents-box__tabs > li > a {
  background-color: #e7e7e7;
  display: block;
  padding: 3px 24px;
  margin-right: 4px;
  border: solid 1px #bfbfbf;
  border-bottom: none;
}
/*ul*/.home-contents-box__tabs > li > a:hover,
/*ul*/.home-contents-box__tabs > li > a:focus {
  background-color: #fff;
  border: solid 1px #949494;
  border-bottom: none;
}
/*ul*/.home-contents-box__tabs > li > a.active,
/*ul*/.home-contents-box__tabs > li > a.active:hover,
/*ul*/.home-contents-box__tabs > li > a.active:focus {
  background-color: #fff;
  border: solid 1px #949494;
  border-bottom: none;
  cursor: default;
  padding-top: 8px;
  margin-top: -5px;
}

.home-contents-box__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, #8ad228, #8ad228 2px, #fff 2px, #fff 3px);
  padding: 5px;
}
.contents-footer-contact {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: -3px;/*端のガター幅調整*/
}
.contents-footer-contact__body,
.contents-footer-contact__head {
  background-color: #fff;
  flex: 1 1 auto;
  max-width: 100%;
  margin: 3px;/*ガター幅*/
  padding: 6px;
}
.contents-footer-contact__head {
  text-align: center;
}
.contents-footer-contact__body {
  align-items: center;
  display: flex;
  flex-direction: row;/*横並び*/
  flex-wrap: wrap;
  justify-content: space-between;/*等間隔*/
}
.contents-footer-contact__tel,
.contents-footer-contact__mail {
  padding: 9px;
}

@media (min-width: 768px) {
  .contents-footer-contact {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .contents-footer-contact__head {
    flex: 1 1 147px;
    max-width: 147px;
    width: 147px;/*IE対策*/
  }
  .contents-footer-contact__body {
    flex: 1 1 calc(100% - 147px - 12px);
    max-width: calc(100% - 147px - 12px);
    width: calc(100% - 147px - 12px);/*IE対策*/
  }
  .contents-footer-contact__tel,
  .contents-footer-contact__mail {
    padding: 3px 0;
  }
}





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

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

.outline-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;
}
.outline-policy-media-layout-item__txt,
.outline-policy-media-layout-item__img {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}
@media (min-width: 768px) {
  .outline-policy-media-layout-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .outline-policy-media-layout-item__img {
    flex: 1 1 270px;
    max-width: 270px;
    width: 270px;/*IE対策*/
  }
  .outline-policy-media-layout-item__txt {
    flex: 1 1 calc(100% - 270px - 60px);
    max-width: calc(100% - 270px - 60px);
    width: calc(100% - 270px - 60px);/*IE対策*/
  }
}

.outline-educate-list {
  list-style: none;
  padding-left: 0;
}
.outline-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;
}
.outline-educate-list li.outline-educate-num1 {
  background-image: url("./img/outline/num1.png");
}
.outline-educate-list li.outline-educate-num2 {
  background-image: url("./img/outline/num2.png");
}
.outline-educate-list li.outline-educate-num3 {
  background-image: url("./img/outline/num3.png");
}
.outline-educate-list li.outline-educate-num4 {
  background-image: url("./img/outline/num4.png");
}
.outline-educate-list li.outline-educate-num5 {
  background-image: url("./img/outline/num5.png");
}


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

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





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


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

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



/* ## 学科・コースページ
   ============================================================ */

/*ul*/.course-link-bnr-list {
  list-style: none;
  padding-left: 0;
}
/*ul*/.course-link-bnr-list li {
  margin-bottom: 1.5rem;
}
/*ul*/.course-link-bnr-list li:hover,
/*ul*/.course-link-bnr-list li:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}


/* ### ３個横並び
   ---------------------------------------- */

.course-media-grid-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-left: -2px;/*端のガター幅調整*/
  margin-right: -2px;/*端のガター幅調整*/
  margin-bottom: 1.5rem;
}
.course-media-grid-item {
  flex: 1 1 calc(100% / 3 - 4px);
  max-width: calc(100% / 3 - 4px);
  width: calc(100% / 3 - 4px);/*IE対策*/
  margin: 2px;/*ガター幅*/
}


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

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


/* ### おもな進路結果
---------------------------------------- */

.course-iconList__wrap {
  display: flex;
  flex-direction: column;
  gap: 0 1rem;
}

.course-iconList__heading {
  margin-bottom: 0.375rem;
}
.course-iconList__heading_lightcoral {
  color: #ff8686;
}
.course-iconList__heading_sandybrown {
  color: #ffa250;
}

/*ul*/.course-iconList {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0.25rem;
}
/*ul*/.course-iconList > li {
  margin-bottom: 0.375rem;
}
/*ul*/.course-iconList > li::before {
  content: "●";
  display: inline-block;
  padding-right: 0.25rem;
}
/*ul*/.course-iconList_cornflowerblue > li::before {
  color: #74a4fb;
}
/*ul*/.course-iconList_lightgreen > li::before {
  color: #66d15d;
}
/*ul*/.course-iconList_skyblue > li::before {
  color: #88dfff;
}
/*ul*/.course-iconList_lightcoral > li::before {
  color: #ff8686;
}
/*ul*/.course-iconList_sandybrown > li::before {
  color: #ffa250;
}
@media (min-width: 768px) {
  .course-iconList__wrap {
    flex-direction: row;
  }
  .course-iconList__block {
    flex: 1;
  }
}


/* ### 在校生VOICE / 卒業生Message
---------------------------------------- */

.course-voiceBox {
  background-color: #eee;
  margin-top: 3rem;
  padding: 20px;
  position: relative;
}

.course-messageBox {
  border: 3px solid #ccc;
  margin-top: 3rem;
  padding: 17px;
  position: relative;
}

.course-voiceBox_keisetu {
  background-color: #ebf2ff;
}
.course-messageBox_keisetu {
  border: 3px solid #e3edfe;
}
.course-voiceBox_tokushin {
  background-color: #e8f8e7;
}
.course-messageBox_tokushin {
  border: 3px solid #e0f6df;
}
.course-voiceBox_general {
  background-color: #ebfaff;
}
.course-messageBox_general {
  border: 3px solid #e7f9ff;
}
.course-voiceBox_commerce {
  background-color: #ffefe1;
}
.course-messageBox_commerce {
  border: 3px solid #ffecdc;
}
.course-voiceBox_clothing {
  background-color: #ffefef;
}
.course-messageBox_clothing {
  border: 3px solid #ffe7e7;
}

.course-voiceTitle {
  position: absolute;
  left: 0;
  top: 20px;
}

.course-messageTitle {
  position: absolute;
  left: -3px;
  top: 20px;
}

.course-messageMedia,
.course-voiceMedia {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.course-messageMedia__body,
.course-voiceMedia__body {
  flex: 1;
}

.course-messageLead,
.course-voiceLead {
  color: #555;
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 60px;
  margin-bottom: 20px;
}
.course-messageLead_cornflowerblue,
.course-voiceLead_cornflowerblue {
  color: #74a4fb;
}
.course-messageLead_lightgreen,
.course-voiceLead_lightgreen {
  color: #66d15d;
}
.course-messageLead_skyblue,
.course-voiceLead_skyblue {
  color: #88dfff;
}
.course-messageLead_lightcoral,
.course-voiceLead_lightcoral {
  color: #ff8686;
}
.course-messageLead_sandybrown,
.course-voiceLead_sandybrown {
  color: #ffa250;
}

.course-messageMedia__img,
.course-voiceMedia__img {
  text-align: center;
  width: 220px;
}
.course-messageMedia__img img,
.course-voiceMedia__img img {
  margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
  .course-messageMedia,
  .course-voiceMedia {
    flex-direction: row-reverse;
  }
  .course-messageLead,
  .course-voiceLead {
    margin-top: 10px;
  }
  .course-messageMedia__img,
  .course-voiceMedia__img {
    margin-top: 60px;
  }
}


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

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

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


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

.school-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*/.school-life-facility__list {
  list-style: none;
  margin-bottom: -0.75rem;
  padding-left: 0;
}
/*ul*/.school-life-facility__list {
  align-items: center;
  display: flex;
  flex-direction: row;/*横並び*/
  flex-wrap: wrap;
}
/*ul*/.school-life-facility__list li {
  line-height: 1.35;
  margin-right: 1.5rem;
  margin-bottom: 0.75rem;
}
.school-life-facility__num {
  border: solid 2px #e7bd22;
  color: #e7bd22;
  margin-right: 0.75rem;
  padding: 0 5px;
}


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

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




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

.annual-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;
}
.annual-event-item__month,
.annual-event-item__event,
.annual-event-item__img {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 10px;/*ガター幅*/
}
@media (min-width: 576px) {
  .annual-event-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .annual-event-item__month {
    flex: 1 1 83px;
    max-width: 83px;
    width: 83px;/*IE対策*/
  }
  .annual-event-item__event {
    flex: 1 1 calc(100% - 83px - 40px);
    max-width: calc(100% - 83px - 40px);
    width: calc(100% - 83px - 40px);/*IE対策*/
  }
}
@media (min-width: 768px) {
  .annual-event-item__event {
    flex: 1 1 calc(100% - 83px - 310px - 60px);
    max-width: calc(100% - 83px - 310px - 60px);
    width: calc(100% - 83px - 310px - 60px);/*IE対策*/
  }
  .annual-event-item__img {
    flex: 1 1 310px;
    max-width: 310px;
    width: 310px;/*IE対策*/
  }
}



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

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

.club-all-link-btn-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: -10px;/*端のガター幅調整*/
}
.club-all-link-btn-item {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 10px;/*ガター幅*/
}
@media (min-width: 576px) {
  .club-all-link-btn-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .club-all-link-btn-item {
    flex: 1 1 calc(100% / 2 - 20px);
    max-width: calc(100% / 2 - 20px);
    width: calc(100% / 2 - 20px);/*IE対策*/
  }
}

.club-all-link-btn {
  background-image: repeating-linear-gradient(
    -45deg, #666, #666 2px, #fff 2px, #fff 3px);
  border-radius: 6px;
  font-size: 1.25rem;
  padding: 5px;
}
.club-all-link-btn a {
  background-color: #666;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: 700;
  padding: 0.6em 0.5em 0.5em;
  position: relative;
  text-align: center;
}
.club-all-link-btn_1 {
  background-image: repeating-linear-gradient(
    -45deg, #9de7d3, #9de7d3 2px, #fff 2px, #fff 3px);
}
.club-all-link-btn_1 a {
  background-color: #9de7d3;
}
.club-all-link-btn_2 {
  background-image: repeating-linear-gradient(
    -45deg, #fcc978, #fcc978 2px, #fff 2px, #fff 3px);
}
.club-all-link-btn_2 a {
  background-color: #fcc978;
}

.club-all-link-btn:hover,
.club-all-link-btn:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}
.club-all-link-btn a::before {
  color: #fff;
  content: "\f13a ";
  font-family: FontAwesome;
  position: absolute;
    right: 12px;
    top: 8px;
}


/* ### 各部のサムネイルボックス横並び
   ---------------------------------------- */

.club-all-thumb-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -10px;/*端のガター幅調整*/
  margin-right: -10px;/*端のガター幅調整*/
  margin-bottom: 3rem;
}
.club-all-thumb-item {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 10px;/*ガター幅*/
  background-color: #fff;
  border: solid 1px #d2d2d2;
  border-radius: 3px;
  padding: 12px 12px 36px;
  position: relative;
}
@media (min-width: 576px) {
  .club-all-thumb-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .club-all-thumb-item {
    flex: 1 1 calc(100% / 2 - 20px);
    max-width: calc(100% / 2 - 20px);
    width: calc(100% / 2 - 20px);/*IE対策*/
  }
}
@media (min-width: 768px) {
  .club-all-thumb-item {
    flex: 1 1 calc(100% / 3 - 20px);
    max-width: calc(100% / 3 - 20px);
    width: calc(100% / 3 - 20px);/*IE対策*/
  }
}

.club-all-thumb-item__img {
  margin-bottom: 0.75rem;
}
/*h4*/.club-all-thumb-item__head {
  color: #666;
  border-bottom: solid 1px #666;
  padding-bottom: 6px;
}
/*h4*/.club-all-thumb-item__head_1 {
  color: #46d5ae;
  border-bottom: solid 1px #9de7d3;
}
/*h4*/.club-all-thumb-item__head_2 {
  color: #fbbb55;
  border-bottom: solid 1px #fcc978;
}
.club-all-thumb-item__text {}
.club-all-thumb-item__btn {
  position: absolute;
    right: 0;
    bottom: 0;
}
.club-all-thumb-item__btn a {
  color: #46d5ae;
  display: inline-block;
  padding: 3px 30px 2px 12px;
  position: relative;
  transition: all 0.15s ease 0s;
}
.club-all-thumb-item__btn a:hover,
.club-all-thumb-item__btn a:focus {
  color: #46d5ae;
  text-decoration: underline;
}
.club-all-thumb-item__btn a::before {
  color: #9de7d3;
  content: "\f138";
  font-family: FontAwesome;
  position: absolute;
    right: 10px;
    top: 2px;
}

.club-all-thumb-item__btn_1 a,
.club-all-thumb-item__btn_1 a:hover,
.club-all-thumb-item__btn_1 a:focus {
  color: #46d5ae;
}
.club-all-thumb-item__btn_1 a::before {
  color: #9de7d3;
}
.club-all-thumb-item__btn_2 a,
.club-all-thumb-item__btn_2 a:hover,
.club-all-thumb-item__btn_2 a:focus {
  color: #fbbb55;
}
.club-all-thumb-item__btn_2 a::before {
  color: #fcc978;
}





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

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

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

/*戻るボタン*/
.club-back-link-btn {
  background-color: #7cbc1d;
  background-image: url("./img/club/club-back-link-btn_bg.png");
  border-radius: 6px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
  margin-bottom: 0.8rem;
  padding: 5px;
  max-width: 420px;
}
.club-back-link-btn a {
  background-color: #fff;
  border-radius: 3px;
  color: #7cbc1d;
  display: block;
  font-weight: 700;
  padding: 0.6em 0.5em 0.5em;
  position: relative;
  text-align: center;
}
.club-back-link-btn:hover,
.club-back-link-btn:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}
.club-back-link-btn a::before {
  color: #8ad228;
  content: "\f101 ";
  font-family: FontAwesome;
  position: absolute;
    left: 12px;
    top: 8px;
}
.club-back-link-btn a::after {
  color: #8ad228;
  content: "\f100 ";
  font-family: FontAwesome;
  position: absolute;
    right: 12px;
    top: 8px;
}



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





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

.embed-google-map {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  padding-bottom: 56.25%;/*縦横比*/
  position: relative;
}
.embed-google-map iframe {
  border: 0;
  height: 100%;
  position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
  width: 100%;
}


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

.entrance-examination-well1__head {
  background-color: #fbbb55;
  border: solid 3px #fbbb55;
  border-radius: 3px 3px 0 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  min-height: 1.5rem;
  padding: 0.375rem;
  text-align: center;
}
.entrance-examination-well1__body {
  background-color: #fff;
  border: solid 3px #fbbb55;
  border-top: none;
  border-radius: 0 0 3px 3px;
  min-height: 1.5rem;
  padding: 1.125rem;
  text-align: center;
}
.entrance-examination-well1__body > p:last-child {
  margin-bottom: 0;
}

.entrance-examination-well2 {
  background-color: #fff;
  border: solid 1px #fbbb55;
  border-radius: 3px;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.125rem;
  text-align: center;
}
.entrance-examination-well2 > p:last-child {
  margin-bottom: 0;
}



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

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

.guidance-link-btn {
  background-color: #fa9db3;
  background-image: url("./img/entrance-examination/guidance-link-btn_bg.png");
  border-radius: 6px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.8rem;
  padding: 5px;
  max-width: 300px;
}
.guidance-link-btn a {
  background-color: #fff;
  border-radius: 3px;
  color: #fa9db3;
  display: block;
  font-weight: 700;
  padding: 0.6em 0.5em 0.5em;
  position: relative;
  text-align: center;
}
.guidance-link-btn:hover,
.guidance-link-btn:focus {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}
.guidance-link-btn a::before {
  color: #fce6eb;
  content: "\f105";
  font-family: FontAwesome;
  position: absolute;
    right: 12px;
    top: 8px;
}


/* ## 募集要項フォーム
   ============================================================ */

/*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: #e8f6d4;
  font-weight: 500;
  width: 12em;
}
/*2列テーブルのレスポンシブ*/
/*-768px*/
@media (max-width: 768px){/*max*/
  /*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 > tbody > tr > th {
    /*padding-bottom: 3px;*/
  }
  /*table*/.contact-form-table > tbody > tr > td {
    /*padding-top: 3px;*/
  }
}

.form-input__year {
  margin-right: 6px;
  width: 6em;
}
.form-input__month,
.form-input__day {
  margin-left: 6px;
  margin-right: 6px;
  width: 4em;
}
.form-input__tel {
  width: 15em;
}
.form-input__tel1,
.form-input__tel2,
.form-input__tel3 {
  margin-right: 6px;
  width: 6em;
}

.form-input__zip {
  width: 10em;
}
.form-badge-caution {
  color: #ff6689;
}
button.form-submit-btn {
  background-color: #fff;
  border: solid 6px #8ad228;
  border-radius: 6px;
  color: #6db603;
  cursor: pointer;
  display: block;
  font-weight: 700;
  margin: 0 auto 1.5rem;
  padding: 0.6em 3em 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: #8ad228;
  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;
}


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

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



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

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

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

/*ul*/.sitemap-link-item > li {
  background-image: url("./img/sitemap/icon.svg");
  background-repeat: no-repeat;
  background-position: 0 3px;
  margin-bottom: 1.5rem;
  padding-left: 24px;
}
/*ul*/.sitemap-link-item > li > ul {
  list-style: none;
  padding-left: 0;
}
/*ul*/.sitemap-link-item > 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*/.sitemap-link-item > li > ul > li > ul {
  list-style: disc;
  padding-left: 24px;
}

/* ## 動画配信コーナーページ
   ============================================================ */
.post-14769 .movie-container{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.post-14769 .movie-item{
  width: 100%;
  margin-bottom: 30px;
}
.post-14769 .movie-wrap{
  position: relative;
  overflow: hidden;
}
.post-14769 .movie-wrap::before{
  content: "";
  display: block;
  width: 100%;
  padding-top: 57.5%;
}
.post-14769 .movie-wrap iframe{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: none;
}
@media (min-width: 768px) {
  .post-14769 .movie-item{
    width: 48%;
  }
}


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

.post-contents-box {
  background-color: #fff;
  border-top: solid 3px #8ad228;
  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;
}

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

/*
.type-post {
  border: solid 1px #ddd;
  border-radius: 6px;
  margin: 0 0 36px;
  min-height: 24px;
  padding: 24px;
}
.type-post > p:last-child,
.type-post > ul:last-child,
.type-post > ol:last-child,
.type-post > dl:last-child {
  margin-bottom: 0;
}
*/
.post__head {}
.post__date {
  font-weight: 700;
  text-align: right;
}
/*span*/.post__term {
  background-color: #f7ba37;
  color: #fff;
  font-size: 0.875rem;
  padding: 1px 9px;
}
.post__title {
  color: #6db603;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}
.post__title a {
  color: #6db603;
}

.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 .alignnone,
.post__body img.alignnone {
  display: inline;
}
*/
.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;
}
.post__body img.aligncenter,
.post__body img.alignright,
.post__body img.alignleft {
}

.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;
}


/* ----- ページ送り ----- */
/*ul*/.post__pager {
  font-size: 0.875rem;
  list-style: none;
  margin: 72px 0 48px;
  padding-left: 0;
}
/*ul*/.post__pager::after {
  clear: both;
  content: "";
  display: block;
}
/*ul*/.post__pager /*li*/.post__next-post {
  width: 250px;
  line-height: 1.4;
  float: left;
}
/*ul*/.post__pager /*li*/.post__prev-post {
  width: 250px;
  text-align: right;
  line-height: 1.4;
  float: right;
}
.single-post /*ul*/.post__pager {/*投稿のsingleのみページャー非表示*/
  display: none;
}

/* ----- ページネーション（プラグイン：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: #8ad228;
  border: solid 1px #8ad228;
  color: #fff;
}



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

/*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/information/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 #8ad228;
  caption-side: top;
  color: #6db603;
  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%;
}






/* ## FlexSliderは2025年5月9日で使用終了
============================================================ */
