@charset "utf-8";
/*
Theme Name: 中部大学同窓会2025
*/

/*!
 *
 * # 主な内容
 * - Bootstrap ver4.3.1を独自カスタマイズ
 * - 独自追加したスタイル
 *
*/

/*!
 * Bootstrap v4.3.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */


/* ============================================================
   # Root
============================================================ */

/*del*/


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

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

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  font-size: 100%;/*基本フォントサイズ（16pxを想定）*/
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

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

[tabindex="-1"]:focus {
  outline: 0 !important;
}

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

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] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

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;
  margin-bottom: 0.5rem;
}

blockquote {
  margin: 0 0 1.125rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #f18c4f;/*リンク文字色*/
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #ffa36a;/*リンク文字色*/
  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,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1.125rem;
  overflow: auto;
}

figure {
  margin: 0 0 1.125rem;
}

img {
  border-style: none;
  vertical-align: middle;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

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

caption {
  color: #6c757d;
  caption-side: bottom;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 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%;
}

progress {
  vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}



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

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

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}

h1, .h1 {
  font-size: 1.75rem;
}

h2, .h2 {
  font-size: 1.5rem;
}

h3, .h3 {
  font-size: 1.25rem;
}

h4, .h4 {
  font-size: 1.125rem;
}

h5, .h5 {
  font-size: 1.125rem;
}

h6, .h6 {
  font-size: 1.125rem;
}

@media (min-width: 576px) {
  h1, .h1 {
    font-size: 1.75rem;
  }
  h2, .h2 {
    font-size: 1.5rem;
  }
  h3, .h3 {
    font-size: 1.25rem;
  }
  h4, .h4 {
    font-size: 1.25rem;
  }
}


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

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


/* ### hr
---------------------------------------- */

hr {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}


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

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: 0.5rem;
}



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

/* ### Responsive images
---------------------------------------- */

.img-fluid {
  height: auto;
  max-width: 100%;
}


/* ### Image thumbnails
---------------------------------------- */

.img-thumbnail {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0.3rem;
  height: auto;
  max-width: 100%;
  padding: 0.3rem;
}



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

.table {
  color: #333;
  margin-bottom: 1.5rem;
  width: 100%;
}

.table th,
.table td {
  border-top: 1px solid #ddd;
  padding: 0.75rem;
  vertical-align: top;
}

.table thead th {
  border-bottom: 2px solid #ddd;
  vertical-align: bottom;
}

.table tbody + tbody {
  border-top: 2px solid #ddd;
}

.table td > p:last-child {
  margin-bottom: 0;
}


/* ### Small table
---------------------------------------- */

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}


/* ### Bordered table
---------------------------------------- */

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


/* ### Borderless table
---------------------------------------- */

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}


/* ### Striped rows
---------------------------------------- */

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}


/* ### Responsive tables
---------------------------------------- */

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}

@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}

@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive > .table-bordered {
  border: 0;
}



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

.figure {
  display: inline-block;
}

.figure-img {
  line-height: 1;
  margin-bottom: 0.5rem;
}

.figure-caption {
  font-size: 90%;
  color: #6c757d;
}





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

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1100px;
  }
}

.container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}

.row {/*flexのため、横幅がfullにならないので注意（子要素の幅を100%などにする）*/
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

.no-gutters {
  margin-left: 0;
  margin-right: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}



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

/* -> responsive-utility.css */


/* ## Media
============================================================ */

.media {
  display: flex;
  align-items: flex-start;
}

.media-body {
  flex: 1;
}




/* ============================================================
   # Components
============================================================ */

/* ## Buttons
============================================================ */

.btn {
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  color: #333;
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 0.375rem 0.75rem;
  text-align: center;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: #333;
  text-decoration: none;
}

.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.btn.disabled, .btn:disabled {
  opacity: 0.65;
}

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
}

.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary:focus, .btn-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-secondary.disabled, .btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none;
}

.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
}

.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
  box-shadow: none;
}

.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}



/* ## Forms（必要なもののみ）
============================================================ */

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

.form-control {
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #bbb;
  border-radius: 0.25rem;
  color: #444;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  height: calc(1.5em + 0.75rem + 2px);
  line-height: 1.5;
  padding: 0.375rem 0.75rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.form-control::-webkit-input-placeholder {
  color: #555;
  opacity: 1;
}

.form-control::-moz-placeholder {
  color: #555;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #555;
  opacity: 1;
}

.form-control::-ms-input-placeholder {
  color: #555;
  opacity: 1;
}

.form-control::placeholder {
  color: #999;
  opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

select.form-control:focus::-ms-value {
  color: #444;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-plaintext {
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
  color: #333;
  display: block;
  line-height: 1.5;
  margin-bottom: 0;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  width: 100%;
}

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-left: 0;
  padding-right: 0;
}

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control[size], select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}



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

.nav {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}

.nav-link {
  display: block;
  padding: 0.75rem 1rem;
}

.nav-link:hover,
.nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: #555;
  cursor: default;
  pointer-events: none;
}




/* ============================================================
   # Utilities
============================================================ */

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

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


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

/* ### Color
---------------------------------------- */

.text-gold {
  color: #a77d24 !important;
}

.text-red {
  color: #ff7878 !important;
}

.text-orange {
  color: #f18c4f !important;
}

.text-yellow {
  color: #e1c600 !important;
}

.text-green {
  color: #6cbb5a !important;
}

.text-turquoise {
  color: #60c1bd !important;
}

.text-blue {
  color: #55badb !important;
}

.text-purple {
  color: #5a69b1 !important;
}

.text-violet {
  color: #ab58b7 !important;
}


.text-white {
  color: #fff !important;
}

.text-gray {
  color: #666 !important;
}

.text-gray-dark {
  color: #343a40 !important;
}

.text-light {
  color: #f8f9fa !important;
}

.text-dark {
  color: #343a40 !important;
}

.text-body {
  color: #333 !important;
}

.text-muted {
  color: #666 !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}


/* ### Background color
---------------------------------------- */

.bg-gold {
  background-color: #ede5d3;
}


.bg-light {
  background-color: #f8f9fa !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}



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

.center-block {/*old version*/
  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-row {
  display: table-row !important;
}

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

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

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

/* -> responsive-utility.css */



/* ## Embeds
============================================================ */

.embed-responsive {
  display: block;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.embed-responsive::before {
  content: "";
  display: block;
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  border: 0;
  height: 100%;
  position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
  width: 100%;
}


/* ### Aspect ratios
---------------------------------------- */

.embed-responsive-21by9::before {
  padding-top: 42.857143%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}



/* ## Flex
============================================================ */

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}


/* ### Justify content
---------------------------------------- */

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}


/* ### Align items
---------------------------------------- */

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

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

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}


/* ### Align content
---------------------------------------- */

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

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

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}


/* ### Align self
---------------------------------------- */

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

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

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}


/* ### Responsive variations
---------------------------------------- */

/* -> responsive-utility.css */



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

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

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

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

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}



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

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



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

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}



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

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto;
}



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

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

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

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

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

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

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

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

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

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

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

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}



/* ## Spacing
============================================================ */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

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

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

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

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

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

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

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

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

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

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

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

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

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

/* -> responsive-utility.css */



/* ## Spacing（mt-n,mb-n,p-n,,,etc） custom
============================================================ */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



/* ## Text
============================================================ */

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

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

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

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

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

/* -> responsive-utility.css */


/* ### Text wrapping and overflow
---------------------------------------- */

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* ### Word break
---------------------------------------- */

.text-break {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}



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

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

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

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



/* ## Font weight and italics
============================================================ */

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

.font-weight-normal {
  /*font-weight: 400 !important;*/
  font-weight: 500 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-italic {
  font-style: italic !important;
}


/* ### Monospace
---------------------------------------- */

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}


/* ### Reset color
---------------------------------------- */

.text-reset {
  color: inherit !important;
}


/* ### Text decoration
---------------------------------------- */

.text-decoration-none {
  text-decoration: none !important;
}



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

a.underline {
  text-decoration: underline;
}

.font-size-large {
  font-size: 1.25em;
}

.font-size-xlarge {
  font-size: 1.5em;
}

.font-size-xxlarge {
  font-size: 2em;
}

.font-family-mincho {
  font-family: "BIZ UDPMincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", 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;
}


/* ## Others
======================================== */

/* ### Hover flash
---------------------------------------- */

.hoverFlash:hover {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}




/* ============================================================
   # Printing
============================================================ */

/*del*/

/*! Bootstrapここまで */



/*! ここから独自追加style */

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

/*none*/

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

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

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

.col-full {
  flex: 0 0 100%;
  padding-left: 15px;
  padding-right: 15px;
  max-width: 100%;
  width: 100%;
}

@media (min-width: 992px) {
  .col-full {
    padding-left: 0;
    padding-right: 0;
  }
}


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

.contents__row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}

.activity-contents__main,
.activity-contents__sub1,
.activity-contents__sub2,
.contents__main,
.contents__sub {
  flex: 0 0 auto;
  max-width: 100%;
  padding-top: 1rem;/*調整*/
  padding-right: 15px;/*ガター幅*/
  padding-left: 15px;/*ガター幅*/
  padding-bottom: 1.5rem;
  width: 100%;
}

@media (min-width: 992px) {
  .contents__row {
    flex-direction: row;
    margin-left: -30px;/*端のガター幅調整*/
    margin-right: -30px;/*端のガター幅調整*/
    padding-bottom: 3rem;
  }
  .contents__main {
    flex: 0 0 calc(100% - (210px + 30px));
    max-width: calc(100% - (210px + 30px));
    padding-bottom: 3rem;
  }
  .contents__sub {
    flex: 0 0 calc(210px + 30px);
    max-width: calc(210px + 30px);
  }
  .activity-contents__main {
    flex: 0 0 calc(100% - 2*(210px + 30px));
    max-width: calc(100% - 2*(210px + 30px));
    padding-bottom: 3rem;
    order: 2;
  }
  .activity-contents__sub1,
  .activity-contents__sub2 {
    flex: 0 0 calc(210px + 30px);
    max-width: calc(210px + 30px);
  }
  .activity-contents__sub1 {
    order: 1;
  }
  .activity-contents__sub2 {
    order: 3;
  }
}

@media (min-width: 1200px) {
  .contents__main {
    flex: 0 0 calc(100% - (250px + 30px));
    max-width: calc(100% - (250px + 30px));
  }
  .contents__sub {
    flex: 0 0 calc(250px + 30px);
    max-width: calc(250px + 30px);
  }
  .activity-contents__main {
    flex: 0 0 calc(100% - 2*(250px + 30px));
    max-width: calc(100% - 2*(250px + 30px));
    padding-bottom: 3rem;
  }
  .activity-contents__sub1,
  .activity-contents__sub2 {
    flex: 0 0 calc(250px + 30px);
    max-width: calc(250px + 30px);
  }
}




/* ============================================================
   # Components
============================================================ */

/*none*/


/* ============================================================
   # Utilities
============================================================ */

/*none*/


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


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

.header {
  padding: 0 0 1rem;
  position: relative;
  width: 100%;
}


/* ### ヘッダー サブメニュー 個人情報保護方針/会則・規定関係
---------------------------------------- */
.headerUtilityWrap {
  border-bottom: 2px solid #ededed;
  padding: 0.25rem 0;
}

.header__utility {
  display: none;
}
@media (min-width: 768px) {
  .header__utility {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0 1.5rem;
  }
}

.header__constitution,
.header__privacy-policy {
  color: inherit;
  font-size: 0.875rem;
}
.header__constitution::before,
.header__privacy-policy::before {
  color: #1ea76b;
  content: "\f138";
  display: inline-block;
  font-family: FontAwesome;
  padding-right: 0.5rem;
}


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

.header__row {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1rem;
  padding-top: 1rem;
}

.header__primary,
.header__secondary {
  flex: 0 1 auto;
}

@media (min-width: 768px) {
  .header__row {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
}

.header__primary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 64px;
}


/*中央に寄せる*/
/* @media (min-width: 992px) {
  .header__primary {
    margin-left: calc((960px/2) - (286px/2) - 15px);
  }
}
@media (min-width: 1200px) {
  .header__primary {
    margin-left: calc((1100px/2) - (286px/2) - 15px);
  }
} */


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

.header__logo {
  display: block;
  /* margin-bottom: 1rem; */
  max-width: 230px;/*ロゴ画像の最大表示幅*/
}

@media (min-width: 370px) {
  .header__logo {
    max-width: 286px;/*ロゴ画像の最大表示幅*/
    /* margin-bottom: 0.75rem; */
  }
}

@media (min-width: 768px) {
  .header__logo {
    /* margin-bottom: 0; */
    max-width: 286px;/*ロゴ画像の最大表示幅*/
  }
}

.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__toggle-btn {
  position: absolute;
    right: 15px;
    top: 0;
  z-index: 10;
}

.header__toggle-btn {
  background-color: #1ea76b;
  border: none;/*border必須*/
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  height: 52px;
  margin: 0;
  padding-top: 5px;
  text-align: center;
  width: 52px;
}

.header__toggle-btn i {
  font-size: 28px;
}

@media (min-width: 768px) {
  .header__toggle-btn {
    display: none;/*非表示*/
  }
}



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

.header-nav__fluid {
  display: none;/*非表示*/
}

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

.header-nav__fluid {
  background-color: #fff;
  color: #333;
}

.header-nav {
  display: flex;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}

.header-nav > .nav-link {
  background-color: #fff;
  border-right: solid 1px #ccc;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  flex: 1 0 0%;
  line-height: 1.2;
  padding: 6px;
  text-align: center;
  transition: all 0.15s ease 0s;
}

.header-nav > .nav-link:nth-child(1) {
  color: #f18c4f;
}
.header-nav > .nav-link:nth-child(2) {
  color: #e1c600;
}
.header-nav > .nav-link:nth-child(3) {
  color: #6cbb5a;
}
.header-nav > .nav-link:nth-child(4) {
  color: #60c1bd;
}
.header-nav > .nav-link:nth-child(5) {
  color: #ab58b7;
}
.header-nav > .nav-link:nth-child(6) {
  color: #5a69b1;
}

.header-nav > .nav-link > span {
  background: inherit;
  border-radius: 4px;
  color: inherit;
  display: block;
  line-height: 2;
  height: 68px;
  padding: 8px 2px 0;
}

.header-nav > .nav-link:nth-child(5) > span {
  line-height: 1.2;
  padding-top: 6px;
}
.header-nav > .nav-link:nth-child(6) > span {
  line-height: 1.2;
  padding-top: 6px;
}

@media (min-width: 992px) {
  .header-nav > .nav-link {
    font-size: 16px;
  }
  .header-nav > .nav-link > span {
    height: 70px;
  }
}

.header-nav > .nav-link > span::after {
  color: #333;
  content: "\f078";
  display: block;
  font-family: FontAwesome;
  font-size: 14px;
  font-weight: 500;
  margin-top: 4px;
}

.header-nav > .nav-link:nth-child(1) > span::after {
  color: #f18c4f;
}
.header-nav > .nav-link:nth-child(2) > span::after {
  color: #e1c600;
}
.header-nav > .nav-link:nth-child(3) > span::after {
  color: #6cbb5a;
}
.header-nav > .nav-link:nth-child(4) > span::after {
  color: #60c1bd;
}
.header-nav > .nav-link:nth-child(5) > span::after {
  color: #ab58b7;
  margin-top: 6px;
}
.header-nav > .nav-link:nth-child(6) > span::after {
  color: #5a69b1;
  margin-top: 6px;
}

.header-nav > .nav-link:first-child {
  border-left: solid 1px #ccc;
}

.header-nav > .nav-link:hover > span,
.header-nav > .nav-link:focus > span {
  background: #666;
  box-shadow: 4px 4px 4px -3px rgba(0, 0, 0, 0.25) inset;/*ボックス内の上辺内側に影*/
  color: #fff;
}

.header-nav > .nav-link:nth-child(1):hover > span,
.header-nav > .nav-link:nth-child(1):focus > span {
  background: #f18c4f;
}
.header-nav > .nav-link:nth-child(2):hover > span,
.header-nav > .nav-link:nth-child(2):focus > span {
  background: #e1c600;
}
.header-nav > .nav-link:nth-child(3):hover > span,
.header-nav > .nav-link:nth-child(3):focus > span {
  background: #6cbb5a;
}
.header-nav > .nav-link:nth-child(4):hover > span,
.header-nav > .nav-link:nth-child(4):focus > span {
  background: #60c1bd;
}
.header-nav > .nav-link:nth-child(5):hover > span,
.header-nav > .nav-link:nth-child(5):focus > span {
  background: #ab58b7;
}
.header-nav > .nav-link:nth-child(6):hover > span,
.header-nav > .nav-link:nth-child(6):focus > span {
  background: #5a69b1;
}

.header-nav > .nav-link:hover > span::after,
.header-nav > .nav-link:focus > span::after {
  color: #fff;
}

.header-nav > .nav-link.active > span,
.header-nav > .nav-link.active:hover > span,
.header-nav > .nav-link.active:focus > span {
  background: #666;
  box-shadow: 4px 4px 4px -3px rgba(0, 0, 0, 0.25) inset;/*ボックス内の上辺内側に影*/
  color: #fff;
}

.header-nav > .nav-link:nth-child(1).active > span,
.header-nav > .nav-link:nth-child(1).active:hover > span,
.header-nav > .nav-link:nth-child(1).active:focus > span {
  background: #f18c4f;
}
.header-nav > .nav-link:nth-child(2).active > span,
.header-nav > .nav-link:nth-child(2).active:hover > span,
.header-nav > .nav-link:nth-child(2).active:focus > span {
  background: #e1c600;
}
.header-nav > .nav-link:nth-child(3).active > span,
.header-nav > .nav-link:nth-child(3).active:hover > span,
.header-nav > .nav-link:nth-child(3).active:focus > span {
  background: #6cbb5a;
}
.header-nav > .nav-link:nth-child(4).active > span,
.header-nav > .nav-link:nth-child(4).active:hover > span,
.header-nav > .nav-link:nth-child(4).active:focus > span {
  background: #60c1bd;
}
.header-nav > .nav-link:nth-child(5).active > span,
.header-nav > .nav-link:nth-child(5).active:hover > span,
.header-nav > .nav-link:nth-child(5).active:focus > span {
  background: #ab58b7;
}
.header-nav > .nav-link:nth-child(6).active > span,
.header-nav > .nav-link:nth-child(6).active:hover > span,
.header-nav > .nav-link:nth-child(6).active:focus > span {
  background: #5a69b1;
}

.header-nav > .nav-link.active > span::after,
.header-nav > .nav-link.active:hover > span::after,
.header-nav > .nav-link.active:focus > span ::after{
  color: #fff;
}



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

.toggle-nav__fluid {
  display: block;
  padding: 0 15px;
}

@media (min-width: 768px) {
  .toggle-nav__fluid {
    display: none;/*非表示*/
  }
}

.toggle-nav {
  margin-bottom: 1.5rem;
  width: 100%;
}

.toggle-nav > .nav-link {
  background-color: #fff;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
  margin: 0;
  position: relative;
  text-decoration: none;
  transition: all 0.15s ease 0s;
  width: 100%;
}

/*見出し*/
.toggle-nav > .toggle-nav__head {
  background-color: #1ea76b;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #fff;
  border-radius: 6px 6px 0 0;
  color: #fff;
  font-size: 1.125rem;
  padding: 12px 15px;
  text-align: center;
}

.toggle-nav__parent + .toggle-nav__parent {
  border-top: solid 1px #fff;
}

.toggle-nav__child + .toggle-nav__child {
  border-top: solid 1px #ddd;
}

/*子ページ*/
.toggle-nav > .toggle-nav__child {
  background-color: #fff;
  padding: 9px 36px 9px 15px;
}

.toggle-nav > .toggle-nav__child:hover,
.toggle-nav > .toggle-nav__child:focus {
  background-color: #eee;
}

.toggle-nav > .toggle-nav__child::before {
  content: "\f054";
  font-family: FontAwesome;
  position: absolute;
    right: 15px;
    top: 10px;
}

/*閉じるボタン*/
.toggle-nav > .toggle-nav__close-btn {
  background-color: #777;
  border-bottom: solid 1px #ddd;
  border-radius: 0 0 6px 6px;
  color: #fff;
  cursor: pointer;
  font-size: 1.125rem;
  padding: 12px 15px 10px;
  transition: all 0.15s ease 0s;
  text-align: center;
}

.toggle-nav > .toggle-nav__close-btn:hover,
.toggle-nav > .toggle-nav__close-btn:focus {
  background-color: #666;
}

.toggle-nav > .toggle-nav__close-btn i {
  font-size: 1.125rem;
}



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

.page-visual {
  background-image: url("./img/visual_default.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom: solid 1px #ddd;
  box-shadow: 0 5px 4px -3px rgba(0, 0, 0, 0.15) inset;
  height: 110px;
  margin-bottom: 0.75rem;
}

.page-visual--dummy {
  background-image: url("./img/visual_default.jpg");
}

.page-visual--summary {
  background-image: url("./img/visual_summary.jpg");
}

.page-visual--history {
  background-image: url("./img/visual_history.jpg");
}

.page-visual--info {
  background-image: url("./img/visual_info.jpg");
}

.page-visual--about {
  background-image: url("./img/visual_about.webp");
}

.page-visual--contact {
  background-image: url("./img/visual_contact.jpg");
}

.page-visual--magazine {
  background-image: url("./img/visual_magazine.jpg");
}

.page-visual--privacy-policy {
  background-image: url("./img/visual_privacy-policy.jpg");
}

.page-visual--change-address {
  background-image: url("./img/visual_change-address.jpg");
  background-image: url("./img/visual_default.jpg");
}

.page-visual--news-topics {
  background-image: url("./img/visual_post.jpg");
}

.page-visual--activity {
  background-image: url("./img/visual_activity.jpg");
}

.page-visual--search {
  background-image: url("./img/visual_search.jpg");
  background-image: url("./img/visual_default.jpg");
}

.page-visual--director {
  background-image: url("./img/visual_director.jpg");
}

.page-visual--delegate {
  background-image: url("./img/visual_delegate.jpg");
}

.page-visual--chief {
  background-image: url("./img/visual_chief.jpg");
}

@media (min-width: 768px) {
  .page-visual--director,
  .page-visual--delegate,
  .page-visual--chief {
    height: 400px;
  }
}


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

.page-visual__title {
  background-color: rgba(241, 140, 79, 0.7);
  border-radius: 0.25rem;
  color: #fff;
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  margin-top: 30px;
  padding: 8px 60px;
}

/* .page-id-1089 .page-visual__title, */
.page-id-7 .page-visual__title {
  background-color: rgba(225, 198, 0, 0.7);
}

.page-id-9 .page-visual__title {
  background-color: rgba(108, 187, 90, 0.7);
}

.page-id-11 .page-visual__title {
  background-color: rgba(85, 186, 219, 0.7);
}

/* .page-id-1201 .page-visual__title, */
.page-id-2967 .page-visual__title {
  background-color: rgba(171, 88, 183, 0.7);
}

/* .page-id-1091 .page-visual__title, */
.page-id-13 .page-visual__title {
  background-color: rgba(90, 105, 177, 0.7);
}

.page-id-15 .page-visual__title {
  background-color: rgba(241, 140, 79, 0.7);
}

.page-id-3 .page-visual__title {
  background-color: rgba(30, 167, 107, 0.7);
}

.page-id-20 .page-visual__title,
.archive .page-visual__title,
.single-post .page-visual__title {
  background-color: rgba(237, 116, 134, 0.7);
}

.post-type-archive-activity .page-visual__title,
.single-activity .page-visual__title {
  background-color: rgba(246, 173, 55, 0.7);
}

.post-type-archive-director .page-visual__title,
.single-director .page-visual__title {
  background-color: rgba(103, 138, 180, 0.7);
}

.post-type-archive-delegate .page-visual__title,
.single-delegate .page-visual__title {
  background-color: rgba(149, 195, 175, 0.7);
}

.post-type-archive-chief .page-visual__title,
.single-chief .page-visual__title {
  background-color: rgba(195, 199, 142, 0.7);
}

@media (min-width: 768px) {
  .page-visual__title {
    font-size: 30px;
    margin-top: 26px;
  }
  .post-type-archive-director .page-visual__title,
  .single-director .page-visual__title,
  .post-type-archive-delegate .page-visual__title,
  .single-delegate .page-visual__title,
  .post-type-archive-chief .page-visual__title,
  .single-chief .page-visual__title {
    margin-top: 180px;
  }
}



/* ## Breadcrumb
============================================================ */

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.875rem;
  list-style: none;
  margin-bottom: 1.125rem;
  padding-left: 0.75rem;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: #666;
  content: ">\00a0";
  display: inline-block;
  padding-right: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}

.breadcrumb-item.active {
  color: #777;
  font-weight: 700;
}



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

.heading--lg {
  background-color: #fff;
  border: solid 1px #ccc;
  color: #333;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding: 1.25rem 1rem 1.25rem 0.35rem;
}

.heading--lg h1,
.heading--lg h2,
.heading--lg h3,
.heading--lg h4 {
  border-left: 5px solid #f18c4f;
  margin: 0;
  padding: 0 0 0 12px;
}

/* .page-id-1089 .heading--lg h1,
.page-id-1089 .heading--lg h2,
.page-id-1089 .heading--lg h3,
.page-id-1089 .heading--lg h4, */
.page-id-7 .heading--lg h1,
.page-id-7 .heading--lg h2,
.page-id-7 .heading--lg h3,
.page-id-7 .heading--lg h4 {
  border-left: 5px solid #e1c600;
}

.page-id-9 .heading--lg h1,
.page-id-9 .heading--lg h2,
.page-id-9 .heading--lg h3,
.page-id-9 .heading--lg h4 {
  border-left: 5px solid #6cbb5a;
}

.page-id-11 .heading--lg h1,
.page-id-11 .heading--lg h2,
.page-id-11 .heading--lg h3,
.page-id-11 .heading--lg h4 {
  border-left: 5px solid #55badb;
}

/* .page-id-1201 .heading--lg h1,
.page-id-1201 .heading--lg h2,
.page-id-1201 .heading--lg h3,
.page-id-1201 .heading--lg h4, */
.page-id-2967 .heading--lg h1,
.page-id-2967 .heading--lg h2,
.page-id-2967 .heading--lg h3,
.page-id-2967 .heading--lg h4 {
  border-left: 5px solid #ab58b7;
}

/* .page-id-1091 .heading--lg h1,
.page-id-1091 .heading--lg h2,
.page-id-1091 .heading--lg h3,
.page-id-1091 .heading--lg h4, */
.page-id-13 .heading--lg h1,
.page-id-13 .heading--lg h2,
.page-id-13 .heading--lg h3,
.page-id-13 .heading--lg h4 {
  border-left: 5px solid #5a69b1;
}

.page-id-15 .heading--lg h1,
.page-id-15 .heading--lg h2,
.page-id-15 .heading--lg h3,
.page-id-15 .heading--lg h4 {
  border-left: 5px solid #f18c4f;
}

.page-id-3 .heading--lg h1,
.page-id-3 .heading--lg h2,
.page-id-3 .heading--lg h3,
.page-id-3 .heading--lg h4 {
  border-left: 5px solid #1ea76b;
}

.page-id-20 .heading--lg h1,
.page-id-20 .heading--lg h2,
.page-id-20 .heading--lg h3,
.page-id-20 .heading--lg h4,
.archive .heading--lg h1,
.archive .heading--lg h2,
.archive .heading--lg h3,
.archive .heading--lg h4,
.single-post .heading--lg h1,
.single-post .heading--lg h2,
.single-post .heading--lg h3,
.single-post .heading--lg h4 {
  border-left: 5px solid #ed7486;
}

.post-type-archive-activity .heading--lg h1,
.post-type-archive-activity .heading--lg h2,
.post-type-archive-activity .heading--lg h3,
.post-type-archive-activity .heading--lg h4,
.single-activity .heading--lg h1,
.single-activity .heading--lg h2,
.single-activity .heading--lg h3,
.single-activity .heading--lg h4 {
  border-left: 5px solid #f6ad37;
}

.heading--md {
  background-color: #efefef;
  color: #333;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem 0.75rem 0.15rem;
}

.heading--md h1,
.heading--md h2,
.heading--md h3,
.heading--md h4 {
  margin: 0;
}

.heading--md h1::before,
.heading--md h2::before,
.heading--md h3::before,
.heading--md h4::before {
  color: #a77d24;
  content: "\f0c8";
  display: inline-block;
  font-size: 0.8rem;
  font-family: FontAwesome;
  padding-right: 0.75rem;
  position: relative;
  top: -0.2rem;
}

/* .page-id-1089 .heading--md h1::before,
.page-id-1089 .heading--md h2::before,
.page-id-1089 .heading--md h3::before,
.page-id-1089 .heading--md h4::before, */
.page-id-7 .heading--md h1::before,
.page-id-7 .heading--md h2::before,
.page-id-7 .heading--md h3::before,
.page-id-7 .heading--md h4::before {
  color: #e1c600;
}

.page-id-9 .heading--md h1::before,
.page-id-9 .heading--md h2::before,
.page-id-9 .heading--md h3::before,
.page-id-9 .heading--md h4::before {
  color: #6cbb5a;
}

.page-id-11 .heading--md h1::before,
.page-id-11 .heading--md h2::before,
.page-id-11 .heading--md h3::before,
.page-id-11 .heading--md h4::before {
  color: #55badb;
}

/* .page-id-1201 .heading--md h1::before,
.page-id-1201 .heading--md h2::before,
.page-id-1201 .heading--md h3::before,
.page-id-1201 .heading--md h4::before, */
.page-id-2967 .heading--md h1::before,
.page-id-2967 .heading--md h2::before,
.page-id-2967 .heading--md h3::before,
.page-id-2967 .heading--md h4::before {
  color: #ab58b7;
}

/* .page-id-1091 .heading--md h1::before,
.page-id-1091 .heading--md h2::before,
.page-id-1091 .heading--md h3::before,
.page-id-1091 .heading--md h4::before, */
.page-id-13 .heading--md h1::before,
.page-id-13 .heading--md h2::before,
.page-id-13 .heading--md h3::before,
.page-id-13 .heading--md h4::before {
  color: #5a69b1;
}

.page-id-15 .heading--md h1::before,
.page-id-15 .heading--md h2::before,
.page-id-15 .heading--md h3::before,
.page-id-15 .heading--md h4::before {
  color: #f18c4f;
}

.page-id-3 .heading--md h1::before,
.page-id-3 .heading--md h2::before,
.page-id-3 .heading--md h3::before,
.page-id-3 .heading--md h4::before {
  color: #1ea76b;
}

.page-id-20 .heading--md h1::before,
.page-id-20 .heading--md h2::before,
.page-id-20 .heading--md h3::before,
.page-id-20 .heading--md h4::before,
.archive .heading--md h1::before,
.archive .heading--md h2::before,
.archive .heading--md h3::before,
.archive .heading--md h4::before,
.single-post .heading--md h1::before,
.single-post .heading--md h2::before,
.single-post .heading--md h3::before,
.single-post .heading--md h4::before {
  color: #ed7486;
}

.post-type-archive-activity .heading--md h1::before,
.post-type-archive-activity .heading--md h2::before,
.post-type-archive-activity .heading--md h3::before,
.post-type-archive-activity .heading--md h4::before,
.single-activity .heading--md h1::before,
.single-activity .heading--md h2::before,
.single-activity .heading--md h3::before,
.single-activity .heading--md h4::before {
  color: #f6ad37;
}

.heading--sm {
  margin-bottom: 0.75rem;
}

.heading--sm h1,
.heading--sm h2,
.heading--sm h3,
.heading--sm h4 {
  color: #a77d24;
  margin: 0;
}

/* .page-id-1089 .heading--sm h1,
.page-id-1089 .heading--sm h2,
.page-id-1089 .heading--sm h3,
.page-id-1089 .heading--sm h4, */
.page-id-7 .heading--sm h1,
.page-id-7 .heading--sm h2,
.page-id-7 .heading--sm h3,
.page-id-7 .heading--sm h4 {
  color: #e1c600;
}

.page-id-9 .heading--sm h1,
.page-id-9 .heading--sm h2,
.page-id-9 .heading--sm h3,
.page-id-9 .heading--sm h4 {
  color: #6cbb5a;
}

.page-id-11 .heading--sm h1,
.page-id-11 .heading--sm h2,
.page-id-11 .heading--sm h3,
.page-id-11 .heading--sm h4 {
  color: #55badb;
}

/* .page-id-1201 .heading--sm h1,
.page-id-1201 .heading--sm h2,
.page-id-1201 .heading--sm h3,
.page-id-1201 .heading--sm h4, */
.page-id-2967 .heading--sm h1,
.page-id-2967 .heading--sm h2,
.page-id-2967 .heading--sm h3,
.page-id-2967 .heading--sm h4 {
  color: #ab58b7;
}

/* .page-id-1091 .heading--sm h1,
.page-id-1091 .heading--sm h2,
.page-id-1091 .heading--sm h3,
.page-id-1091 .heading--sm h4, */
.page-id-13 .heading--sm h1,
.page-id-13 .heading--sm h2,
.page-id-13 .heading--sm h3,
.page-id-13 .heading--sm h4 {
  color: #5a69b1;
}

.page-id-15 .heading--sm h1,
.page-id-15 .heading--sm h2,
.page-id-15 .heading--sm h3,
.page-id-15 .heading--sm h4 {
  color: #f18c4f;
}

.page-id-3 .heading--sm h1,
.page-id-3 .heading--sm h2,
.page-id-3 .heading--sm h3,
.page-id-3 .heading--sm h4 {
  color: #1ea76b;
}

.page-id-20 .heading--sm h1,
.page-id-20 .heading--sm h2,
.page-id-20 .heading--sm h3,
.page-id-20 .heading--sm h4,
.archive .heading--sm h1,
.archive .heading--sm h2,
.archive .heading--sm h3,
.archive .heading--sm h4,
.single-post .heading--sm h1,
.single-post .heading--sm h2,
.single-post .heading--sm h3,
.single-post .heading--sm h4 {
  color: #ed7486;
}

.post-type-archive-activity .heading--sm h1,
.post-type-archive-activity .heading--sm h2,
.post-type-archive-activity .heading--sm h3,
.post-type-archive-activity .heading--sm h4,
.single-activity .heading--sm h1,
.single-activity .heading--sm h2,
.single-activity .heading--sm h3,
.single-activity .heading--sm h4 {
  color: #f6ad37;
}


/* 一般社団法人中部大学同窓会 */
.headingShortUnderline {
  margin-bottom: 3rem;
  padding: 0.25em 1rem 1.25em;
  position: relative;
  text-align: center;
  letter-spacing: 0.1em;
}
.headingShortUnderline::after {
  background-color: #ab58b7;
  background-image: linear-gradient(to right, #8a359a, #cc7bd3);;
  content: "";
  height: 4px;
  position: absolute;
    bottom: 0;
    left: 50%;
  transform: translateX(-50%);
  width: 90px;
}



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

/* .table--basic {} */

.table--basic th,
.table--basic td {
  border-top: 1px solid #ccc;
}

.table--basic tr:last-child th,
.table--basic tr:last-child td {
  border-bottom: 1px solid #ccc;
}

.table--basic th {
  font-weight: 700;
  width: 8.5em;
}

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



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

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

.link-btn {
  background-color: #666;
  color: #f5f5f5;
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.75rem;
  position: relative;
  transition: all 0.15s ease 0s;
  vertical-align: middle;
}

.link-btn--pink {
  background-color: #ed7486;
}

.link-btn--orange {
  background-color: #f6ad37;
}

.link-btn:focus,
.link-btn:hover {
  color: #fff;
  opacity: 0.8;
}

.link-btn::after {
  content: "\f054";
  display: inline-block;
  font-family: FontAwesome;
  padding-left: 0.5rem;
}


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

.link-btn--pdf {
  background-color: #eee;
  border-radius: 0.25rem;
  color: #f18c4f;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  padding: 0.375rem 0.75rem;
  transition: all 0.15s ease 0s;
  /* vertical-align: middle; */
}

.link-btn--pdf:focus,
.link-btn--pdf:hover {
  background-color: #f2f2f2;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);/*下*/
  color: #ffa36a;
}

.link-btn--pdf::after {
  content: url("./img/icon_pdf.png");
  display: inline-block;
  padding-left: 0.5rem;
  position: relative;
  top: 6px;
}


/* ### ライトなリンクボタン
---------------------------------------- */

.link-btn--light {
  background-color: #eee;
  border-radius: 0.25rem;
  color: #f18c4f;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  padding: 0.375rem 0.75rem;
  text-align: center;
  transition: all 0.15s ease 0s;
  /* vertical-align: middle; */
}

.link-btn--light:focus,
.link-btn--light:hover {
  background-color: #f2f2f2;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);/*下*/
  color: #ffa36a;
}



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

.embed-google-map {
  display: block;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.embed-google-map::before {
  content: "";
  display: block;
  padding-top: 75%;/*縦横比*/
  padding-top: 56.25%;/*縦横比*/
}

.embed-google-map iframe {
  border: 0;
  height: 100%;
  position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
  width: 100%;
}



/* ## 縦積みナビ
============================================================ */

.stacked-nav__fluid {
  display: none;/*非表示*/
}

@media (min-width: 992px) {
  .stacked-nav__fluid {
    display: block;/*表示用*/
  }
}

.stacked-nav__fluid {
  margin-bottom: 1.5rem;
}

.stacked-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
}

.stacked-nav > .nav-link {
  background-color: #fff;
  color: #333;
  padding: 1rem 1.8rem 0.9rem 1rem;
  position: relative;
  transition: all 0.15s ease 0s;
  width: 100%;
}

.stacked-nav > .nav-link:hover,
.stacked-nav > .nav-link:focus {
  background-color: #eee;
}

.stacked-nav > .nav-link::after {
  color: #f18c4f;
  content: "\f054";
  font-family: FontAwesome;
  font-size: 0.75rem;
  position: absolute;
    right: 0.75rem;
    top: 1.2rem;
}

/* .page-id-1089 .stacked-nav > .nav-link::after, */
.page-id-7 .stacked-nav > .nav-link::after {
  color: #e1c600;
}

.page-id-9 .stacked-nav > .nav-link::after {
  color: #6cbb5a;
}

.page-id-11 .stacked-nav > .nav-link::after {
  color: #55badb;
}

/* .page-id-1201 .stacked-nav > .nav-link::after, */
.page-id-2967 .stacked-nav > .nav-link::after {
  color: #ab58b7;
}

/* .page-id-1091 .stacked-nav > .nav-link::after, */
.page-id-13 .stacked-nav > .nav-link::after {
  color: #5a69b1;
}

.page-id-15 .stacked-nav > .nav-link::after {
  color: #f18c4f;
}

.page-id-3 .stacked-nav > .nav-link::after {
  color: #1ea76b;
}

.page-id-20 .stacked-nav > .nav-link::after,
.archive .stacked-nav > .nav-link::after,
.single-post .stacked-nav > .nav-link::after {
  color: #ed7486;
}

.post-type-archive-activity .stacked-nav > .nav-link::after,
.single-activity .stacked-nav > .nav-link::after {
  color: #f6ad37;
}

.stacked-nav > .nav-link + .nav-link {
  border-bottom: solid 1px #999;
}

/*アクティブ*/
/* .stacked-nav > .nav-link.active,
.stacked-nav > .nav-link.active:hover,
.stacked-nav > .nav-link.active:focus {
} */

/*見出し*/
.stacked-nav > .stacked-nav__head {
  background-color: #f6dbcb;
  border-radius: 0.25rem;
  color: #f18c4f;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 1.8rem 1.8rem 1.7rem 1rem;
}

/* .page-id-1089 .stacked-nav > .stacked-nav__head, */
.page-id-7 .stacked-nav > .stacked-nav__head {
  background-color: #f9f4cc;
  color: #e1c600;
}

.page-id-9 .stacked-nav > .stacked-nav__head {
  background-color: #e2f1de;
  color: #6cbb5a;
}

.page-id-11 .stacked-nav > .stacked-nav__head {
  background-color: #ddf1f8;
  color: #55badb;
}

/* .page-id-1201 .stacked-nav > .stacked-nav__head, */
.page-id-2967 .stacked-nav > .stacked-nav__head {
  background-color: #eedef1;
  color: #ab58b7;
}

/* .page-id-1091 .stacked-nav > .stacked-nav__head, */
.page-id-13 .stacked-nav > .stacked-nav__head {
  background-color: #dee1ef;
  color: #5a69b1;
}

.page-id-15 .stacked-nav > .stacked-nav__head {
  background-color: #fce8dc;
  color: #f18c4f;
}

.page-id-3 .stacked-nav > .stacked-nav__head {
  background-color: #d2ede1;
  color: #1ea76b;
}

.page-id-20 .stacked-nav > .stacked-nav__head,
.archive .stacked-nav > .stacked-nav__head,
.single-post .stacked-nav > .stacked-nav__head {
  background-color: #fbe3e7;
  color: #ed7486;
}

.post-type-archive-activity .stacked-nav > .stacked-nav__head,
.single-activity .stacked-nav > .stacked-nav__head {
  background-color: #fdefd7;
  color: #f6ad37;
}

.stacked-nav > .stacked-nav__head::after {
  content: "";/*アイコン無し*/
}



/* ## contents-footer
============================================================ */

.contents-footer {
  background-image: url("./img/contents-bottom_bg.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  position: relative;
  margin-top: 1.5rem;
}

@media (min-width: 768px) {
  .contents-footer {
    margin-top: 3rem;
  }
}

.contents-footer__body {
  padding-bottom: 130px;
  width: 100%;
}

.contents-footer__body > p {
  color: #444;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}


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

.gotop {
  position: absolute;
  z-index: 10;
    right: 1rem;
    bottom: 0;
}

.gotop {
  background-color: #1864b2;
  border-radius: 0.25rem 0.25rem 0 0;
  color: #fff;
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
  text-align: center;
  text-decoration: none;
  transition: all 0.15s ease 0s;
}

.gotop::before {
  color: #fff;
  content: "\f077";
  display: inline-block;
  font-family: FontAwesome;
  font-size: 0.875rem;
  padding-right: 0.5rem;
}

.gotop:hover,
.gotop:focus {
  color: #fff;
  opacity: 0.8;
  text-decoration: none;
}



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

.footer {
  background-color: #1864b2;
  color: #fff;
  padding: 3.5rem 0;
  width: 100%;
}


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

.footer__row {
  display: grid;
  gap: 1rem 3rem;
}

@media (min-width: 992px) {
  .footer__row {
    grid-template-columns: 1fr 1fr;
  }
  /* .footer__primary {} */
  /* .footer__secondary {} */
}


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

.footer__logo {
  background-color: #1864b2;
  border: solid 1px #fff;
  color: #fff;
  display: inline-block;
  margin-bottom: 1rem;
  padding: 1rem 0.75rem 1rem 2.5rem;
  position: relative;
  vertical-align: middle;
}

.footer__logo img {
  max-width: 201px;/*ロゴ画像の最大表示幅*/
}

.footer__logo::after {
  color: #fff;
  content: "\f054";
  display: inline-block;
  font-family: FontAwesome;
  font-size: 0.875rem;
  padding-left: 1.75rem;
}

.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__heading {
  border-bottom: 1px solid #fff;
  padding-bottom: 0.25rem;
}


.footer__table {
  border: none;
  color: inherit;
}

.footer__table th,
.footer__table td {
  border: none;
  line-height: 1.8;
  padding: 0.3rem;
}

.footer__table th {
  font-size: 0.875rem;
  font-weight: 500;
  /* width: 9.5em; */
  white-space: nowrap;
  padding-right: 1.5em;
}

.footer__table tr th::before {
  content: url();
  display: inline-block;
  padding-right: 0.5rem;
  vertical-align: middle;
}

.footer__table th.listIconColor01::before {
  content: url("./img/footer_list-icon01.png");
}
.footer__table th.listIconColor02::before {
  content: url("./img/footer_list-icon02.png");
}
.footer__table th.listIconColor03::before {
  content: url("./img/footer_list-icon03.png");
}
.footer__table th.listIconColor04::before {
  content: url("./img/footer_list-icon04.png");
}
.footer__table th.listIconColor05::before {
  content: url("./img/footer_list-icon05.png");
}
.footer__table th.listIconColor06::before {
  content: url("./img/footer_list-icon06.png");
}
.footer__table th.listIconColor07::before {
  content: url("./img/footer_list-icon07.png");
}
.footer__table th.listIconColor08::before {
  content: url("./img/footer_list-icon08.png");
}
.footer__table th.listIconColor09::before {
  content: url("./img/footer_list-icon09.png");
}
.footer__table th.listIconColor10::before {
  content: url("./img/footer_list-icon10.png");
}

.footer__table td {
  font-size: 0.75rem;
}

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


/* ### ちゅとら
---------------------------------------- */

.footer__chutora-box__wrap {
  display: flex;
  justify-content: flex-end;
}

.footer__chutora-box {
  background-color: #fff;
  border-radius: 0.5rem;
  color: #333;
  margin-top: 3.5rem;
  min-height: 1.5rem;
  padding: 1.5rem 3rem 0.5rem;
}

.footer__chutora-box > img {
  margin-top: -5rem;
  /* margin-bottom: 0.75rem; */
}

.footer__chutora-box > p {
  font-size: 0.875rem;
  line-height: 1.6;
}

.footer__chutora-box > p:last-child {
  margin-bottom: 0;
}


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

.copyright__fluid {
  background-color: #1864b2;
  color: #fff;
  padding: 0.75rem;
  width: 100%;
}

.copyright {
  border-top: 1px solid #fff;
  font-size: 0.75rem;
  margin-bottom: 0;
  padding-top: 0.75rem;
  text-align: center;
}




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

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

.page__body img {/*投稿画像用*/
  height: auto;
  max-width: 100%;
}



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

/* ### スライドショー
---------------------------------------- */

.home-slideshow {
  max-width: 1400px;
  margin: 0 auto;
}

/* .home-slideshow img.slider-1126, */
.home-slideshow img.slider-23 {/*★★★ID番号注意！*/
  height: auto;
  width: 100%;
}


/* ### 緊急のお知らせ
---------------------------------------- */

.home-emergency {
  margin-bottom: 1.5rem;
}

.home-emergency__head, .home-emergency__body {
  border: 2px solid #ff3a51;
  padding: 0.5rem;
}

dd.home-emergency__body {
  margin-bottom: 0;
}

.home-emergency__head {
  align-items: center;
  background-color: #ff3a51;
  color: #fff;
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .home-emergency {
    display: flex;
  }
  .home-emergency__head {
    flex: 1 1 10.5em;
    max-width: 10.5em;
  }
  .home-emergency__body {
    flex: 1 1 calc(100% - 10.5em);
    max-width: calc(100% - 10.5em);
  }
}


/* ### 見出し部分
---------------------------------------- */

.home-heading {
  border-top: solid 1px #bbb;
  border-bottom: solid 1px #bbb;
  color: #333;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding: 1rem 1rem 1rem 0.35rem;
  position: relative;
  width: 100%;
}

.home-heading h2 {
  font-size: 1.25rem;
  margin: 0;
  padding-right: 5rem;
}

.home-heading__btn {
  position: absolute;
  right: 0px;
  top: 7px;
}


/* ### 旧レイアウト（お知らせ・トピックス / バナー）
---------------------------------------- */

.home-layout-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
  margin-bottom: 1.5rem;
}

.home-layout-item__posts,
.home-layout-item__banners {
  flex: 0 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}

@media (min-width: 1200px) {
  .home-layout-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .home-layout-item__banners {
    flex: 0 1 515px;
    max-width: 515px;
  }
  .home-layout-item__posts {
    flex: 0 1 calc(100% - 515px - 60px);
    max-width: calc(100% - 515px - 60px);
  }
}


/* ### 新レイアウト（お知らせ・トピックス / 各支部ページ）
---------------------------------------- */

.home-layout01__container {
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
  /* margin-bottom: 1.5rem; */
}

.home-layout01__alumni,
.home-layout01__posts,
.home-layout01__branch {
  margin: 15px;/*ガター幅*/
}

@media (min-width: 1200px) {
  .home-layout01__container {
    display: flex;
  }
  .home-layout01__alumni,
  .home-layout01__posts,
  .home-layout01__branch {
    flex: 0 0 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
    width: calc(100% / 2 - 30px);/*IE*/
  }
}



/* ### 新レイアウト（バナー）
---------------------------------------- */

.home-layout02__container {
  margin-top: 4rem;
  margin-bottom: 1rem;
}

.home-layout02__container a img:hover {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}

.home-layout02__bnr01 {
  max-width: 350px;
  margin: 0 auto 15px;
}

.home-layout02__bnr02 {
  max-width: 350px;
  margin: 0 auto 15px;
}

.home-layout02__officer-bnrs {
  background-image: url("./img/home/officer-bnrs_bg_1.png");
  background-size: 350px 155px;
  background-repeat: no-repeat;
  height: 155px;
  width: 350px;
  margin: 0 auto;
  padding-top: 20px;
}

.home-layout02__bnr-director,
.home-layout02__bnr-delegate,
.home-layout02__bnr-chief {
  margin-left: 140px;
  width: 180px;
}
@media not all and (min-width: 410px) {
  .home-layout02__officer-bnrs {
    background-size: cover;
    background-position: left top;
    width: 100%;
  }
  .home-layout02__bnr-director,
  .home-layout02__bnr-delegate,
  .home-layout02__bnr-chief {
    margin-left: 90px;
  }
}

.home-layout02__bnr-director {
  margin-bottom: 4px;
}

.home-layout02__bnr-delegate {
  margin-bottom: 4px;
}

/*
@media (min-width: 768px) {
}
@media (min-width: 992px) {
} */

@media (min-width: 1200px) {
  .home-layout02__container {
    display: flex;
    justify-content: space-between;
  }
  .home-layout02__bnr01 {
    margin: 0;
    width: 350px;
  }
  .home-layout02__bnr02 {
    margin: 0;
    width: 350px;
  }
  .home-layout02__officer-bnrs {
    margin: 0;
    width: 350px;
  }
}


/* .home-layout03__container {
  margin-bottom: 3rem;
}

.home-layout03__container a img:hover {
  animation: hover-flash 0.3s ease 1;
}
@keyframes hover-flash {
  from {opacity: 1;}
  50% {opacity: 0.7;}
  to {opacity: 1;}
}

.home-layout03__bnr01 {
  max-width: 480px;
  margin: 0 auto 15px;
} */


/* ### お知らせ、トピックス一覧
---------------------------------------- */

/* .posts-table {} */

.posts-table th,
.posts-table td {
  border: none;
  font-size: 0.875rem;
}

.posts-table th {
  width: 13.5rem;
  padding-right: 0;
}

.posts-table td a {
  color: inherit;
}

.posts-table th::after {
  background-color: #666;
  content: "";
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  margin-left: 0.75rem;
  padding: 0.1rem 0.2rem;
  text-align: center;
  width: 5rem;
}

.posts-table th.news::after {
  background-color: #f6ad37;
  content: "お知らせ";
}

.posts-table th.topics::after {
  background-color: #5a69b1;
  content: "トピックス";
}

.posts-table th.cat-delegate::after,
.posts-table th.delegate::after {
  background-color: #58b98e;
  content: "代議員の方";
}

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


/* ### 卒業生の皆様へ一覧
---------------------------------------- */

/* .posts-table_alumni {} */

.posts-table_alumni th,
.posts-table_alumni td {
  border: none;
  font-size: 0.875rem;
}

.posts-table_alumni th {
  width: 8rem;
  padding-right: 0;
}

.posts-table_alumni td a {
  color: inherit;
}

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



/* ### 新各支部リスト
---------------------------------------- */
.home-branch-list__underconstruction {
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: #d8ece3;
  border: 1px solid #fff;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 1.5rem 10px 3rem;
  outline: 10px solid #d8ece3;
  padding: 3rem 0.5rem;
}

.home-branch-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;/*端のガター幅調整*/
  margin-right: -5px;/*端のガター幅調整*/
}

.home-branch-list-btn {
  flex: 0 0 calc(100% / 3 - 10px);
  max-width: calc(100% / 3 - 10px);
  width: calc(100% / 3 - 10px);/*IE*/
}

@media (min-width: 576px) {
  .home-branch-list-btn {
    flex: 0 0 calc(100% / 4 - 10px);
    max-width: calc(100% / 4 - 10px);
    width: calc(100% / 4 - 10px);/*IE*/
  }
}

@media (min-width: 768px) {
  .home-branch-list-btn {
    flex: 0 0 calc(100% / 5 - 10px);
    max-width: calc(100% / 5 - 10px);
    width: calc(100% / 5 - 10px);/*IE*/
  }
}

@media (min-width: 992px) {
  .home-branch-list-btn {
    flex: 0 0 calc(100% / 6 - 10px);
    max-width: calc(100% / 6 - 10px);
    width: calc(100% / 6 - 10px);/*IE*/
  }
}

.home-branch-list-btn {
  background-color: #fff;
  background-image: url("./img/home/branch-list-btn_bg.svg");
  background-repeat: no-repeat;
  background-position: right bottom;
  border: 2px solid #666;
  color: #555;
  display: block;
  font-size: 0.875rem;
  margin: 5px;/*ガター幅*/
  padding: 0.938rem 0.1rem;
  position: relative;
  text-align: center;
  transition: 0.15s;
  /* vertical-align: middle; */
}


.home-branch-list-btn:focus,
.home-branch-list-btn:hover {
  background-color: #eee;
}

.home-branch-list-btn::after {
  color: #555;
  content: "\f054";
  font-family: FontAwesome;
  font-size: 0.5625rem;
  position: absolute;
  right: 4px;
  bottom: 1px;
}

.home-branch-list-btn.hokkaido {
  border-color: #668bff;
  background-image: url("./img/home/branch-list-btn_bg_hokkaido.svg");
  color: #668bff;
}

.home-branch-list-btn.hokkaido:focus,
.home-branch-list-btn.hokkaido:hover {
  background-color: #e0e8ff;
}

.home-branch-list-btn.hokkaido::after {
  color: #668bff;
}

.home-branch-list-btn.tohoku {
  border-color: #73c1ff;
  background-image: url("./img/home/branch-list-btn_bg_tohoku.svg");
  color: #73c1ff;
}

.home-branch-list-btn.tohoku:focus,
.home-branch-list-btn.tohoku:hover {
  background-color: #e3f3ff;
}

.home-branch-list-btn.tohoku::after {
  color: #73c1ff;
}

.home-branch-list-btn.tokyo {
  border-color: #ffab66;
  background-image: url("./img/home/branch-list-btn_bg_tokyo.svg");
  color: #ffab66;
}

.home-branch-list-btn.tokyo:focus,
.home-branch-list-btn.tokyo:hover {
  background-color: #ffeee0;
}

.home-branch-list-btn.tokyo::after {
  color: #ffab66;
}

.home-branch-list-btn.niigata {
  border-color: #ff96e9;
  background-image: url("./img/home/branch-list-btn_bg_niigata.svg");
  color: #ff96e9;
}

.home-branch-list-btn.niigata:focus,
.home-branch-list-btn.niigata:hover {
  background-color: #ffeafb;
}

.home-branch-list-btn.niigata::after {
  color: #ff96e9;
}

.home-branch-list-btn.toyama {
  border-color: #66eba7;
  background-image: url("./img/home/branch-list-btn_bg_toyama.svg");
  color: #66eba7;
}

.home-branch-list-btn.toyama:focus,
.home-branch-list-btn.toyama:hover {
  background-color: #e0fbed;
}

.home-branch-list-btn.toyama::after {
  color: #66eba7;
}

.home-branch-list-btn.sizuoka {
  border-color: #6ad466;
  background-image: url("./img/home/branch-list-btn_bg_sizuoka.svg");
  color: #6ad466;
}

.home-branch-list-btn.sizuoka:focus,
.home-branch-list-btn.sizuoka:hover {
  background-color: #e1f6e0;
}

.home-branch-list-btn.sizuoka::after {
  color: #6ad466;
}

.home-branch-list-btn.hamamatsu {
  border-color: #ff76af;
  background-image: url("./img/home/branch-list-btn_bg_hamamatsu.svg");
  color: #ff76af;
}

.home-branch-list-btn.hamamatsu:focus,
.home-branch-list-btn.hamamatsu:hover {
  background-color: #ffe4ef;
}

.home-branch-list-btn.hamamatsu::after {
  color: #ff76af;
}

.home-branch-list-btn.gifutobu {
  border-color: #805ce6;
  background-image: url("./img/home/branch-list-btn_bg_gifutobu.svg");
  color: #805ce6;
}

.home-branch-list-btn.gifutobu:focus,
.home-branch-list-btn.gifutobu:hover {
  background-color: #e6defa;
}

.home-branch-list-btn.gifutobu::after {
  color: #805ce6;
}

.home-branch-list-btn.kasugai {
  border-color: #a4dc48;
  background-image: url("./img/home/branch-list-btn_bg_kasugai.svg");
  color: #a4dc48;
}

.home-branch-list-btn.kasugai:focus,
.home-branch-list-btn.kasugai:hover {
  background-color: #edf8da;
}

.home-branch-list-btn.kasugai::after {
  color: #a4dc48;
}

.home-branch-list-btn.handa {
  border-color: #d8d206;
  background-image: url("./img/home/branch-list-btn_bg_handa.svg");
  color: #d8d206;
}

.home-branch-list-btn.handa:focus,
.home-branch-list-btn.handa:hover {
  background-color: #f7f6cd;
}

.home-branch-list-btn.handa::after {
  color: #d8d206;
}

.home-branch-list-btn.nishimikawa {
  border-color: #dd7ee9;
  background-image: url("./img/home/branch-list-btn_bg_nishimikawa.svg");
  color: #dd7ee9;
}

.home-branch-list-btn.nishimikawa:focus,
.home-branch-list-btn.nishimikawa:hover {
  background-color: #f8e5fb;
}

.home-branch-list-btn.nishimikawa::after {
  color: #dd7ee9;
}

.home-branch-list-btn.mie {
  border-color: #27dbc7;
  background-image: url("./img/home/branch-list-btn_bg_mie.svg");
  color: #27dbc7;
}

.home-branch-list-btn.mie:focus,
.home-branch-list-btn.mie:hover {
  background-color: #d4f8f4;
}

.home-branch-list-btn.mie::after {
  color: #27dbc7;
}

.home-branch-list-btn.kansai {
  border-color: #be4cd2;
  background-image: url("./img/home/branch-list-btn_bg_kansai.svg");
  color: #be4cd2;
}

.home-branch-list-btn.kansai:focus,
.home-branch-list-btn.kansai:hover {
  background-color: #f2dbf6;
}

.home-branch-list-btn.kansai::after {
  color: #be4cd2;
}

.home-branch-list-btn.shikoku {
  border-color: #1fc9ea;
  background-image: url("./img/home/branch-list-btn_bg_shikoku.svg");
  color: #1fc9ea;
}

.home-branch-list-btn.shikoku:focus,
.home-branch-list-btn.shikoku:hover {
  background-color: #d2f4fb;
}

.home-branch-list-btn.shikoku::after {
  color: #1fc9ea;
}

.home-branch-list-btn.joshi {
  border-color: #ef5180;
  background-image: url("./img/home/branch-list-btn_bg_joshi.svg");
  color: #ef5180;
}

.home-branch-list-btn.joshi:focus,
.home-branch-list-btn.joshi:hover {
  background-color: #fcdce6;
}

.home-branch-list-btn.joshi::after {
  color: #ef5180;
}

.home-branch-list-btn.kenchiku {
  border-color: #ea7439;
  background-image: url("./img/home/branch-list-btn_bg_kenchiku.svg");
  color: #ea7439;
}

.home-branch-list-btn.kenchiku:focus,
.home-branch-list-btn.kenchiku:hover {
  background-color: #fbe3d7;
}

.home-branch-list-btn.kenchiku::after {
  color: #ea7439;
}



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

.home-banners {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;/*中央揃え*/
}

.home-banners a {
  margin: 0 15px 15px;
}

@media (min-width: 1200px) {
  .home-banners {
    justify-content: space-between;/*等間隔*/
  }
  .home-banners a {
    margin: 0;
  }
}


/* ### お知らせ・トピックス / 卒業生の皆様へ
---------------------------------------- */

.home-news {
  background-color: #e7eff7;
  padding: 3rem;
}

/* ### 活動・行事レポートカルーセル
---------------------------------------- */

.home-activity {
  background-color: #f6f2e5;
  padding: 3rem;
}

/* .home-activity__carousel {} */

/*これ以降はslick-theme.cssに記述*/



/* ## 同窓会の概要ページ
============================================================ */

.summary-media-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}

.summary-media-item__txt,
.summary-media-item__img {
  flex: 0 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}

.summary-media-item__img img {
  max-width: 220px;
}

@media (min-width: 768px) {
  .summary-media-container {
    flex-direction: row-reverse;
    flex-wrap: wrap;
  }
  .summary-media-item__img {
    flex: 0 1 220px;
    max-width: 220px;
  }
  .summary-media-item__txt {
    flex: 0 1 calc(100% - 220px - 60px);
    max-width: calc(100% - 220px - 60px);
  }
}


/* ### 役員一覧
---------------------------------------- */

.summary-officer-table {
  border: 1px solid #e1c600;
  margin-bottom: 1.5rem;
}

.summary-officer-table th {
  background-color: #fbf7d9;
  border: 1px solid #e1c600;
  text-align: center;
}

.summary-officer-table td {
  border: 1px solid #e1c600;
}

.summary-officer-table thead th {
  border-bottom: 1px solid #e1c600;
  vertical-align: middle;
}



/* ### 支部長・支部連絡先
---------------------------------------- */

.summary-table {
  border: 1px solid #e1c600;
  margin-bottom: 1.5rem;
}

.summary-table td {
  border: 1px solid #e1c600;
}

.summary-table tr:nth-of-type(odd) {
  background-color: #fbf7d9;
}


/*2列テーブルのレスポンシブ*/
/*-576px*//*max*/
/* @media (max-width: 768px){
  .summary-table td {
    border: none;
    display: block;
    width: 100%;
  }
  .summary-table td {
    padding-top: 3px;
    padding-bottom: 3px;
  }
} */



/* ## 同窓会の歴史ページ
============================================================ */

.history-img {
  margin: 0.5rem 0;
  width: 250px;
}

.history-img--ex {
  margin: 0.5rem 0 1rem;
  width: 100%;
}

@media (min-width: 768px) {
  .history-container {
    padding-left: 290px;
    position: relative;
  }
  .history-img--ex {
    margin-left: -290px;
    width: 800px;
  }
  .history-img {
    position: absolute;
    left: 0;
  }
  .history-img01 {
    top: 0;
  }
  .history-img02 {
    top: 210px;
  }
  .history-img03 {
    top: 420px;
  }
  .history-img04 {
    top: 660px;
  }
  .history-img05 {
    /* bottom: 830px; */
    bottom: 900px;
  }
  .history-img06 {
    bottom: calc(900px - 210px);
  }
  .history-img08 {
    bottom: calc(900px - 210px * 2);
  }
  /* .history-img09 {} */
  .history-img07 {
    bottom: -50px;
  }
  .pb-y2007 {
    padding-bottom: 150px;
  }
  .pb-y2010 {
    padding-bottom: 150px;
  }
}


/* ### 年ブロック
---------------------------------------- */

.history-timeline {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-bottom: 0;
}

.history-timeline__date,
.history-timeline__contents {
  flex: 0 0 auto;
  max-width: 100%;
  width: 100%;
}

.history-timeline__date {
  color: #6cbb5a;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.history-timeline__date br {
  display: none;
}

dd.history-timeline__contents {
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .history-timeline {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .history-timeline__date {
    flex: 1 1 6.5rem;
    max-width: 6.5rem;
    position: relative;
  }
  .history-timeline__date::after {
    color: #f6ad37;
    content: "\f111";
    font-family: FontAwesome;
    font-size: 0.875rem;
    position: absolute;
      right: -0.4rem;
      top: 0.2rem;
  }
  .history-timeline__date br {
    display: block;
  }
  .history-timeline__contents {
    border-left: 1px solid #f6ad37;
    flex: 1 1 calc(100% - 6.5rem);
    max-width: calc(100% - 6.5rem);
  }
}


/* ### 月ブロック
---------------------------------------- */

.history-timeline-content {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-bottom: 1.5rem;
}

.history-timeline-content__month,
.history-timeline-content__body {
  font-size: 0.875rem;
  flex: 0 0 auto;
  max-width: 100%;
  width: 100%;
}

.history-timeline-content__month {
  color: #f6ad37;
  font-weight: 700;
}

@media (min-width: 576px) {
  .history-timeline-content {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .history-timeline-content__month {
    flex: 1 1 5rem;
    max-width: 5rem;
    padding-right: 1rem;
    text-align: right;
  }
  .history-timeline-content__body {
    flex: 1 1 calc(100% - 5rem);
    max-width: calc(100% - 5rem);
  }
}



/* ## 活動・行事レポートページ
============================================================ */

/* ### 一覧
---------------------------------------- */

/* .activity-table {} */

.activity-table th,
.activity-table td {
  border: none;
  font-size: 0.875rem;
}

.activity-table th {
  width: 8.5rem;
  padding-right: 0;
}

.activity-table td a {
  color: inherit;
}

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



/* ## 一般社団法人中部大学同窓会ページ
============================================================ */

.about-greeting {
  background-color: #f6f6f6;
  background-image:
    url("./img/about/line.svg"),
    url("./img/about/line.svg");
  background-repeat:
    no-repeat,
    no-repeat;
  background-position:
    center top 12px,
    center bottom 12px;
  padding: clamp(1rem, 1rem + 2.667vw, 3rem);
}


.teikan {
  line-height: 2;
}
.teikan .article {
  margin-top: 0.5rem;
}
.teikan .article h4 {
  font-size: 1rem;
  font-weight: 500;
}
.teikan .article p {
  /* text-indent: 1em; */
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin-bottom: 0.5rem;
}
.teikan .article p.item {
  /* text-indent: -1em;
  padding-left: 1em; */
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin-bottom: 0;
}
.teikan .plain-list {
  list-style: none;
  /* margin: 0.5rem 0 0.75rem; */
  margin-bottom: 0.5rem;
  padding-left: 1.5em;
}
.teikan .plain-list li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.teikan .plain-list.sub {
  /* margin-top: 0.5em; */
  padding-left: 0;
}



/* ## 事務局紹介ページ
============================================================ */

.info-grid-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
  margin-bottom: 1.5rem;
}

.info-grid-item {
  flex: 0 0 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  width: calc(100% - 15px * 2);
}

@media (min-width: 768px) {
  .info-grid-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .info-grid-container--reverse {
    flex-direction: row-reverse;
  }
  .info-grid-item {
    flex: 0 0 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
  }
}


.table--office {
  font-size: 1.125rem;
}


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

.contact-form-table {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

.contact-form-table tr:nth-child(odd) th,
.contact-form-table tr:nth-child(odd) td {
  background-color: #fafafa;
}

.contact-form-table th,
.contact-form-table td {
  border-top: 1px solid #ddd;
}

.contact-form-table tr:last-child th,
.contact-form-table tr:last-child td {
  border-bottom: 1px solid #ccc;
}

.contact-form-table th {
  font-weight: 500;
  width: 13em;
}

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

.form-input__tel {
  display: inline-block;
  max-width: 6em;
}
.form-input__year {
  display: inline-block;
  max-width: 7em;
}

input[type="submit"].wpcf7-form-control {
  background: #5a69b1;
  border: none;
  border-radius: 0.25rem;
  color: #f5f5f5;
  cursor: pointer;
  display: inline-block;
  font-family: "BIZ UDPGothic", "Meiryo", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;/*基本フォントファミリー*/
  font-weight: 700;
  padding: 0.75rem 4rem;
  transition: all 0.15s ease 0s;
}

input[type="submit"].wpcf7-form-control:hover,
input[type="submit"].wpcf7-form-control:focus {
  color: #fff;
  opacity: 0.8;
}



/* ## 個人情報保護方針ページ
============================================================ */



/* ## 中部大学同窓会誌ページ
============================================================ */










/* ## 議事録ページ
============================================================ */

.minutes-link-btn__container {
  margin: 1.5rem auto 1.5rem;
  width: 80%;
}

.minutes-link-btn {
  background-color: #f5f5f5;
  border: 2px solid #666;
  color: #333;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  padding: 0.75rem 1.5rem 0.75rem 1rem;
  transition: all 0.15s ease 0s;
}

@media (min-width: 768px) {
  .minutes-link-btn {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
}


.post-type-archive-director .minutes-link-btn {
  background-color: #f1f8ff;
  border-color: #678ab4;
}

.post-type-archive-delegate .minutes-link-btn {
  background-color: #ebfaf5;
  border-color: #94c3af;
}

.post-type-archive-chief .minutes-link-btn {
  background-color: #edeee0;
  border-color: #c3c68d;
}


.minutes-link-btn:focus,
.minutes-link-btn:hover {
  background-color: #fafafa;
  color: #333;
  text-decoration: none;
}

.post-type-archive-director .minutes-link-btn:focus,
.post-type-archive-director .minutes-link-btn:hover {
  background-color: #f8fcff;
}

.post-type-archive-delegate .minutes-link-btn:focus,
.post-type-archive-delegate .minutes-link-btn:hover {
  background-color: #f6fdfb;
}

.post-type-archive-chief .minutes-link-btn:focus,
.post-type-archive-chief .minutes-link-btn:hover {
  background-color: #fbfbf4;
}


.minutes-link-btn__title {
  margin-right: 1rem;
  vertical-align: middle;
}

.minutes-link-btn__title::before {
  color: #333;
  content: "\f054";
  display: inline-block;
  font-size: 0.875rem;
  font-family: FontAwesome;
  padding-right: 0.5rem;
  vertical-align: middle;
}

.post-type-archive-director .minutes-link-btn__title::before {
  color: #678ab4;
}

.post-type-archive-delegate .minutes-link-btn__title::before {
  color: #94c3af;
}

.post-type-archive-chief .minutes-link-btn__title::before {
  color: #c3c68d;
}

.minutes-link-btn__title::after {
  content: url("./img/icon_pdf.png");
  display: inline-block;
  padding-left: 0.5rem;
  transform: scale(0.8);
  vertical-align: middle;
}

.minutes-link-btn__date {
  font-size: 0.875rem;
  text-align: right;
}



/* ## WordPress投稿記事
============================================================ */

/* ### ポスト関連
---------------------------------------- */

.type-post {
  margin: 0 0 1.5rem;
}

.post__title {
  background-color: #fff;
  border-top: 1px solid #ccc;
  border-bottom: 3px solid #f18c4f;
  color: #333;
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  padding: 1rem 1rem 1rem 0.35rem;
}

.page-id-20 .post__title,
.archive .post__title,
.single-post .post__title {
  border-bottom: 3px solid #ed7486;
}

.post-type-archive-activity .post__title,
.single-activity .post__title {
  border-bottom: 3px solid #f6ad37;
}

.post__date {
  color: #f18c4f;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: right;
}

.page-id-20 .post__date,
.archive .post__date,
.single-post .post__date {
  color: #ed7486;
}

.post-type-archive-activity .post__date,
.single-activity .post__date {
  color: #f6ad37;
}

/* .post__body {} */


/* ----- 続きを読むボタン ----- */

.post__body a.read-more {
  background-color: #fafafa;
  border: solid 1px #ccc;
  border-radius: 3px;
  color: #555;
  display: inline-block;
  font-weight: 700;
  margin: 12px 0;
  padding: 3px 15px 2px 30px;
  position: relative;
  transition: all 0.15s ease 0s;
}

.post__body a.read-more:hover,
.post__body a.read-more:focus {
  background-color: #eee;
  border: solid 1px #adadad;
  color: #333;
}

.post__body a.read-more::before {
  color: #a77d24;
  content: "\f0da";
  font-family: FontAwesome;
  font-size: 0.875rem;
  position: absolute;
    left: 12px;
    top: 4px;
}


/* ----- 画像 ----- */

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

.post__body img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

.post__body .alignnone,
.post__body img.alignnone {
  display: inline;
}

.post__body .aligncenter,
.post__body img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.75rem;
}

.post__body .alignright,
.post__body img.alignright {
  display: inline;
  float: right;
  margin: 0 0 0.75rem 1.125rem;
}

.post__body .alignleft,
.post__body img.alignleft {
  display: inline;
  float: left;
  margin: 0 1.125rem 0.75rem 0;
}


/* ----- twentyseventeen ----- */

.wp-caption,
.gallery-caption {
  color: #666;
  font-size: 13px;
  font-size: 0.8125rem;
  font-style: italic;
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}


/* ----- カスタムフィールド画像とキャプション ----- */

/* .post-field-img {} */
.post-field-img__container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.post-field-img__item {
  flex: 0 0 calc(100% / 2 - 30px);
  max-width: calc(100% / 2 - 30px);
  width: calc(100% / 2 - 30px);/*IE対策*/
  margin: 15px;/*ガター幅*/
}

.post-field-img__item img {
  height: auto;
  max-width: 100%;
}


/* ----- ページ送り ----- */

.post__pager {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  font-size: 0.875rem;
  list-style: none;
  margin: 4.5rem 0 1.5rem;
  padding-left: 0;
}

.post__next-post,
.post__prev-post {
  flex: 0 1 auto;
  line-height: 1.4;
  margin-bottom: 1rem;
  max-width: 100%;
}

.post__prev-post {
  text-align: right;
}

.post__next-post .fa {
  color: #f18c4f;
  padding-right: 0.25rem;
}

.post__prev-post .fa {
  color: #f18c4f;
  padding-left: 0.25rem;
}

@media (min-width: 768px) {
  .post__pager {
    flex-direction: row;
    justify-content: space-between;
  }
  .post__next-post,
  .post__prev-post {
    flex: 0 1 250px;
    max-width: 250px;
  }
}


/* ----- ページネーション（プラグイン：WP-PageNavi） ----- */

.wp-pagenavi {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 0.875rem;
  margin: 4.5rem 0 3rem;
}

.wp-pagenavi a,
.wp-pagenavi .pages,
.wp-pagenavi .current {
  background-color: #fafafa;
  border: solid 1px #ccc;
  border-radius: 0.25rem;
  font-weight: 700;
  margin-right: 0.5625rem;
  margin-bottom: 0.5625rem;
  padding: 0.5625rem 0.75rem;
  text-align: center;
  text-decoration: none;
  transition: all 0.15s ease 0s;
}

.wp-pagenavi a:hover,
.wp-pagenavi .current {
  background-color: #f18c4f;
  border: solid 1px #f18c4f;
  color: #fff;
}


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

.widgets {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.widgets > li {
  margin-bottom: 2rem;
}

.widgettitle {
  background-color: #f6dbcb;
  border-radius: 0.25rem;
  color: #f18c4f;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 1.8rem 1.8rem 1.7rem 1rem;
}

.page-id-20 .widgettitle,
.archive .widgettitle,
.single-post .widgettitle {
  background-color: #fbe3e7;
  color: #ed7486;
}

.post-type-archive-activity .widgettitle,
.single-activity .widgettitle {
  background-color: #fdefd7;
  color: #f6ad37;
}

.widget ul,
.widgets > li > ul {
  list-style: none;
  margin-bottom: 1.5rem;
  padding-left: 0;
}

.widget ul > li,
.widgets > li > ul > li {
  border-bottom: solid 1px #999;
  padding: 1rem 1.8rem 0.9rem 1rem;
  position: relative;
}

.widget ul > li > a,
.widgets > li > ul > li > a {
  color: inherit;
}

.widget ul > li::after,
.widgets > li > ul > li::after {
  color: #f18c4f;
  content: "\f054";
  font-family: FontAwesome;
  font-size: 0.75rem;
  position: absolute;
    right: 0.75rem;
    top: 1.2rem;
}

.page-id-20 .widget ul > li::after,
.page-id-20 .widgets > li > ul > li::after,
.archive .widget ul > li::after,
.archive .widgets > li > ul > li::after,
.single-post .widget ul > li::after,
.single-post .widgets > li > ul > li::after {
  color: #ed7486;
}

.post-type-archive-activity .widget ul > li::after,
.post-type-archive-activity .widgets > li > ul > li::after,
.single-activity .widget ul > li::after,
.single-activity .widgets > li > ul > li::after {
  color: #f6ad37;
}

.widget select,
.widgets select {
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #bbb;
  border-radius: 0.25rem;
  color: #444;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  height: calc(1.5em + 0.75rem + 2px);
  line-height: 1.5;
  padding: 0.375rem 0.75rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  width: 100%;
}


/* ### 検索関連
---------------------------------------- */

/* ----- 検索フォーム ----- */

.search-text {
  color: #666;
  line-height: 1.5;
  margin-top: 0.375rem;
}

.search-form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 290px;
}

.search-field {
  background-image: url("./img/icon_search.png");
  background-repeat: no-repeat;
  background-position: 9px 50%;
  border-radius: 1rem;
  flex: 1 1 calc(100% - 4.5em);
  max-width: calc(100% - 4.5em);
  margin-right: 0.375rem;
  padding-left: 30px;
  width: calc(100% - 4.5em);/*IE対策*/
}

.search-submit {
  background-color: #ed7486;
  border: none;
  border-radius: 1rem;
  color: #fff;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 700;
  flex: 1 1 4.5em;
  max-width: 4.5em;
  width: 4.5em;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}


/* ----- 検索結果 ----- */

.search-result-pagetitle {
  background-color: #f5f5f5;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  padding: 9px 15px;
  margin-bottom: 1.125rem;
}

.search-result-pagetitle span {
  color: #f00;
  font-weight: bold;
}
