@charset "UTF-8";
/*
Theme Name: 佐賀大学医学部看護学科 生涯発達看護学講座
Theme URI: http://www.adultgeront.med.saga-u.ac.jp/
Author: SWITCH UP
Description: 佐賀大学医学部看護学科 生涯発達看護学講座 WebサイトのWordPressテーマです。
Version: 1.0
*/
/* ==================================================
[Style]
	 1. Reset
	 2. Animation
	 3. Base
	 4. Module
	 5. Theme
	 6. Layout
	 7. Slick
	 8. Header
	 9. Footer
	10. Index
	11. News
	12. Teacher Blog
	13. Acute
	14. Chronic
	15. Geriatric
	16. Staff
	17. Education
	18. Region
	19. Contact
	20. Privacy
	
	97. Error
	98. WordPress
	99. Print
================================================== */
/* --------------------------------------------------
	 1. Reset
-------------------------------------------------- */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* --------------------------------------------------
	 2. Animation
-------------------------------------------------- */
@-webkit-keyframes hover-pagetop {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
  }
  50% {
    -webkit-transform: scale(0.9) rotate(180deg);
    transform: scale(0.9) rotate(180deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(360deg);
    transform: scale(1) rotate(360deg);
  }
}
@keyframes hover-pagetop {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
  }
  50% {
    -webkit-transform: scale(0.9) rotate(180deg);
    transform: scale(0.9) rotate(180deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(360deg);
    transform: scale(1) rotate(360deg);
  }
}

@-webkit-keyframes scroll-down {
  0% {
    top: -100px;
  }
  50%,
  100% {
    top: 100px;
  }
}

@keyframes scroll-down {
  0% {
    top: -100px;
  }
  50%,
  100% {
    top: 100px;
  }
}

/* --------------------------------------------------
	 3. Base
-------------------------------------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media all and (min-width: 740px), print {
  html {
    font-size: 16px;
  }
}

@media only screen and (max-width: 739px) {
  html {
    font-size: 14px;
  }
}

body {
  color: #000;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.8;
  word-break: normal;
  overflow-wrap: normal;
  word-wrap: normal;
  background-color: transparent;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

a {
  outline: none;
  word-break: break-all;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a:link, a:visited {
  color: #13a3a1;
  text-decoration: underline;
}

a:hover, a:active {
  color: #f3ba08;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

em, dl, i, address {
  font-style: normal;
}

sup, sub {
  font-size: 0.75rem;
  line-height: 1.35;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

em {
  font-style: italic;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1rem;
  font-family: inherit;
}

table th, table td {
  text-align: left;
  vertical-align: middle;
  padding: 1em;
}

table th {
  font-weight: normal;
}

table td {
  word-break: break-all;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

select,
textarea,
input[type="text"],
input[type="tel"],
input[type="date"],
input[type="email"],
input[type="password"] {
  margin: 5px;
  padding: 6px;
  font-size: 1rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 0.25rem;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

textarea,
input[type="text"],
input[type="tel"],
input[type="date"],
input[type="email"],
input[type="password"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="text"].align-left,
input[type="tel"].align-left {
  text-align: left;
}

input[type="text"].align-center,
input[type="tel"].align-center {
  text-align: center;
}

input[type="text"].align-right,
input[type="tel"].align-right {
  text-align: right;
}

input[type="radio"], input[type="checkbox"] {
  margin: 3px 0 5px 5px;
  outline: none;
  cursor: pointer;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
  padding: 0 8px 0 2px;
  cursor: pointer;
}

input:-moz-placeholder, textarea:-moz-placeholder {
  color: #999999;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #999999;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #999999;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #999999;
}

p {
  min-height: 1.8em;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

figcaption {
  padding-top: .5em;
}

iframe {
  max-width: 100%;
}

pre {
  white-space: normal;
}

/* --------------------------------------------------
	 4. Module
-------------------------------------------------- */
a[target="_blank"]::after, a[href$=".doc"]::after, a[href$=".docx"]::after, a[href$=".xls"]::after, a[href$=".xlsx"]::after, a[href$=".pdf"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin: 0 .5em;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: contain;
}

a[target="_blank"].non-style::after, a[href$=".doc"].non-style::after, a[href$=".docx"].non-style::after, a[href$=".xls"].non-style::after, a[href$=".xlsx"].non-style::after, a[href$=".pdf"].non-style::after {
  display: none;
}

a[target="_blank"]::after {
  background-image: url(image/icon_window.png);
}

a[href$=".doc"]::after, a[href$=".docx"]::after, a[href$=".xls"]::after, a[href$=".xlsx"]::after, a[href$=".pdf"]::after {
  width: 40px;
}

a[href$=".doc"]::after, a[href$=".docx"]::after {
  background-image: url(image/icon_word.png);
}

a[href$=".xls"]::after, a[href$=".xlsx"]::after {
  background-image: url(image/icon_excel.png);
}

a[href$=".pdf"]::after {
  background-image: url(image/icon_pdf.png);
}

@media all and (min-width: 740px), print {
  a img {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
  a:hover img {
    opacity: 0.8;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mr-6 {
  margin-right: 6rem !important;
}

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

.ml-6 {
  margin-left: 6rem !important;
}

.m-6 {
  margin: 6rem !important;
}

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

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

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

.pr-6 {
  padding-right: 6rem !important;
}

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

.pl-6 {
  padding-left: 6rem !important;
}

.p-6 {
  padding: 6rem !important;
}

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

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

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

.mr-7 {
  margin-right: 7rem !important;
}

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

.ml-7 {
  margin-left: 7rem !important;
}

.m-7 {
  margin: 7rem !important;
}

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

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

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

.pr-7 {
  padding-right: 7rem !important;
}

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

.pl-7 {
  padding-left: 7rem !important;
}

.p-7 {
  padding: 7rem !important;
}

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

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

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

.mr-8 {
  margin-right: 8rem !important;
}

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

.ml-8 {
  margin-left: 8rem !important;
}

.m-8 {
  margin: 8rem !important;
}

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

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

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

.pr-8 {
  padding-right: 8rem !important;
}

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

.pl-8 {
  padding-left: 8rem !important;
}

.p-8 {
  padding: 8rem !important;
}

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

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

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

.mr-9 {
  margin-right: 9rem !important;
}

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

.ml-9 {
  margin-left: 9rem !important;
}

.m-9 {
  margin: 9rem !important;
}

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

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

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

.pr-9 {
  padding-right: 9rem !important;
}

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

.pl-9 {
  padding-left: 9rem !important;
}

.p-9 {
  padding: 9rem !important;
}

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

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

.gothic {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

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

.text-green {
  color: #13a3a1 !important;
}

.text-blue {
  color: #3266a2 !important;
}

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

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

.bg-orange {
  background-color: #fce498 !important;
}

.bg-green {
  background-color: #c5f0ef !important;
}

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

.bg-red {
  background-color: #f7a7ab !important;
}

.bg-gray {
  background-color: #fcfcfc !important;
}

.text-big {
  font-size: 1.25rem !important;
}

.text-large {
  font-size: 1.125rem !important;
}

.text-normal {
  font-size: 1rem !important;
}

.text-small {
  font-size: 0.875rem !important;
}

.text-little {
  font-size: 0.75rem !important;
}

.text-normal {
  font-weight: normal !important;
}

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

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

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.clear-both {
  clear: both;
}

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

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

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

table {
  width: 100%;
}

table.table {
  margin: 1em 0;
  font-size: 0.9375rem;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
}

table.table.text-center td {
  text-align: center;
}

table.table.text-right td {
  text-align: right;
}

table.table.fixed {
  table-layout: fixed;
}

@media only screen and (max-width: 739px) {
  table.table.vertical > thead > tr > th,
  table.table.vertical > thead > tr > td,
  table.table.vertical > tbody > tr > th,
  table.table.vertical > tbody > tr > td,
  table.table.vertical > tfoot > tr > th,
  table.table.vertical > tfoot > tr > td {
    display: block;
    white-space: normal !important;
    width: 100%;
  }
  table.table.vertical th {
    width: 100%;
  }
  table.table.vertical td {
    border-left: none;
  }
}

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

table.table th.nowrap,
table.table td.nowrap {
  white-space: nowrap;
}

@media all and (min-width: 740px), print {
  table.table th:empty,
  table.table td:empty {
    min-height: 3.744em;
  }
}

@media only screen and (max-width: 739px) {
  table.table th,
  table.table td {
    min-height: 2.79em;
  }
}

table.table th {
  width: 10em;
  color: #000;
  text-align: center;
  white-space: nowrap;
  background-color: #f6f6f6;
}

table.table td {
  border-left: 1px solid #ccc;
}

table.table thead,
table.table tfoot {
  line-height: 1.4;
}

table.table thead th,
table.table tfoot th {
  background-color: #e9e9e9;
}

div.focus-text, div.attention-text {
  margin: 1em auto;
  padding: 1em 1.5em;
  font-size: 0.9375rem;
  border-radius: .25em;
}

@media only screen and (max-width: 739px) {
  div.focus-text, div.attention-text {
    padding: 1.5em 3em;
  }
}

div.focus-text .title, div.attention-text .title {
  margin-bottom: .5em;
  font-size: 1.125rem;
  font-weight: bold;
}

div.focus-text .ul,
div.focus-text .ol, div.attention-text .ul,
div.attention-text .ol {
  padding-left: 1em;
}

div.focus-text .scroll, div.attention-text .scroll {
  padding: 1.5em 2em;
  max-height: 12em;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

div.focus-text {
  background-color: #f3f5f7;
  border: 1px solid transparent;
}

div.focus-text .title {
  color: #3360bd;
}

div.attention-text {
  background-color: #ffe0e0;
  border: 1px solid transparent;
}

div.attention-text .title {
  color: #c50000;
}

ul.ul {
  margin-left: 1.5em;
}

ul.ul > li {
  position: relative;
  padding-left: .25em;
}

ul.ul > li::before {
  position: absolute;
  left: -.95em;
  top: .75em;
  display: block;
  content: "";
  width: .5em;
  height: .5em;
  background-color: #f3ba08;
  border: 2px solid #f3ba08;
  border-radius: 50%;
}

ul.ul > li > ul,
ul.ul > li > ol {
  margin-left: 1.25em;
}

ul.ul > li > ul > li::before {
  background-color: transparent;
}

ul.simple-ul {
  margin-left: 1.25em;
  padding: 1em 0;
}

ul.simple-ul > li {
  position: relative;
  padding: .2em 0 .2em .25em;
}

ul.simple-ul > li::before {
  position: absolute;
  left: -1em;
  top: .2em;
  display: block;
  content: "・";
}

ul.simple-ul > li > ul,
ul.simple-ul > li > ol {
  margin-left: 1.25em;
}

ul.simple-ul > li > ul > li::before {
  background-color: transparent;
}

ol.ol {
  margin-left: 1.5em;
  list-style: decimal;
}

ol.ol.lower-latin {
  list-style: lower-latin;
}

ol.ol.upper-alpha {
  list-style: upper-alpha;
}

ol.ol.lower-roman {
  list-style: lower-roman;
}

ol.ol.upper-roman {
  list-style: upper-roman;
}

ol.ol > li {
  padding-left: .25em;
}

ol.ol > li > ul,
ol.ol > li > ol {
  margin-left: 1.25em;
}

dl.dl > dt {
  font-weight: bold;
}

dl.dl > dd {
  margin-left: 1em;
}

dl.dl > dd + dt {
  padding-top: .5em;
}

@media only screen and (max-width: 739px) {
  .only-pc-tab {
    display: none;
  }
}

@media only screen and (max-width: 959px) {
  .only-pc {
    display: none;
  }
}

@media all and (min-width: 960px), print {
  .only-tab {
    display: none;
  }
}

@media only screen and (max-width: 739px) {
  .only-tab {
    display: none;
  }
}

@media all and (min-width: 740px), print {
  .only-sp {
    display: none;
  }
}

.text-indent,
div.notes {
  margin-left: 1em;
  text-indent: -1em;
}

ul.notes li {
  margin-left: 1em;
  text-indent: -1em;
}

.notes {
  padding: .5em 0;
  color: #666666;
  font-size: 0.875rem;
}

.btn {
  overflow: hidden;
  position: relative;
  display: inline-block !important;
  padding: 1em 3.5em 1em 2em;
  max-width: 90%;
  color: #000 !important;
  font-size: 1rem;
  text-align: center;
  text-decoration: none !important;
  background-color: #f3ba08;
  border: none;
  outline: none;
  cursor: pointer;
}

@media all and (min-width: 740px), print {
  .btn {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .btn:hover {
    background-color: #f8c31d;
  }
}

.btn::after {
  position: absolute;
  top: 50%;
  right: 1em;
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin: -10px .25em 0 !important;
  width: 20px;
  height: 20px;
  background: transparent url(image/icon_arrow.png) no-repeat center center;
  background-size: contain;
  border: 1px solid #000;
  border-radius: 50%;
}

.btn[target="_blank"]::after, .btn[href$=".doc"]::after, .btn[href$=".docx"]::after, .btn[href$=".xls"]::after, .btn[href$=".xlsx"]::after, .btn[href$=".pdf"]::after {
  margin: -.25em .25em 0;
  width: 20px;
  height: 20px;
  border: none;
  border-radius: 0;
}

.btn[href$=".doc"], .btn[href$=".docx"], .btn[href$=".xls"], .btn[href$=".xlsx"], .btn[href$=".pdf"] {
  padding-right: 4.5em;
}

.btn[href$=".doc"]::after, .btn[href$=".docx"]::after, .btn[href$=".xls"]::after, .btn[href$=".xlsx"]::after, .btn[href$=".pdf"]::after {
  width: 40px;
}

.btn[href$=".doc"]::after, .btn[href$=".docx"]::after {
  background-image: url(image/icon_word.png) !important;
}

.btn[href$=".xls"]::after, .btn[href$=".xlsx"]::after {
  background-image: url(image/icon_excel.png) !important;
}

.btn[href$=".pdf"]::after {
  background-image: url(image/icon_pdf.png) !important;
}

.pagination {
  padding-top: 3em;
}

@media only screen and (max-width: 739px) {
  .pagination {
    margin-left: -20px;
    margin-right: -20px;
  }
}

.pagination ul {
  text-align: center;
  font-size: 0;
}

.pagination li {
  display: inline-block;
  vertical-align: middle;
  font-size: 1rem;
}

.pagination li > a,
.pagination li > span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 4px;
  padding: .5em 1em;
  text-align: center;
  line-height: 1.4;
  border: 1px solid #f3ba08;
}

.pagination li > a {
  color: #f3ba08;
  font-weight: bold;
  text-decoration: none;
  background-color: #fff;
}

@media all and (min-width: 740px), print {
  .pagination li > a {
    -webkit-transition: color 0.2s, background-color 0.2s;
    transition: color 0.2s, background-color 0.2s;
  }
  .pagination li > a:hover {
    color: #fff;
    background-color: #f3ba08;
  }
}

.pagination li > span {
  color: #fff;
  font-weight: bold;
  background-color: #f3ba08;
}

.pagination li.next a {
  padding-right: 2em;
}

.pagination li.next a::after {
  position: absolute;
  top: 50%;
  right: 1em;
  display: block;
  content: "";
  width: .5em;
  height: .5em;
  margin-top: -.25em;
  border-top: 1px solid #f3ba08;
  border-right: 1px solid #f3ba08;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media all and (min-width: 740px), print {
  .pagination li.next a::after {
    -webkit-transition: border-color 0.2s;
    transition: border-color 0.2s;
  }
  .pagination li.next a:hover::after {
    border-color: #fff;
  }
}

.pagination li.prev a {
  padding-left: 2em;
}

.pagination li.prev a::before {
  position: absolute;
  top: 50%;
  left: 1em;
  display: block;
  content: "";
  width: .5em;
  height: .5em;
  margin-top: -.25em;
  border-top: 1px solid #f3ba08;
  border-left: 1px solid #f3ba08;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media all and (min-width: 740px), print {
  .pagination li.prev a::before {
    -webkit-transition: border-color 0.2s;
    transition: border-color 0.2s;
  }
  .pagination li.prev a:hover::before {
    border-color: #fff;
  }
}

@media only screen and (max-width: 739px) {
  .scroll-table {
    margin-bottom: 1rem;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .scroll-table::-webkit-scrollbar {
    width: 10px;
  }
  .scroll-table::-webkit-scrollbar-track {
    background-color: #e2e2e2;
  }
  .scroll-table::-webkit-scrollbar-thumb {
    background-color: #f6f6f6;
  }
  .scroll-table table {
    margin-bottom: 0;
  }
  .scroll-table th,
  .scroll-table td {
    white-space: nowrap;
  }
}

.list-news a,
.list-teacherblog a {
  position: relative;
  display: block;
  padding: .5em;
  color: #000;
  text-decoration: none;
}

.list-news a::after,
.list-teacherblog a::after {
  display: none;
}

@media all and (min-width: 740px), print {
  .list-news a,
  .list-teacherblog a {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .list-news a:hover,
  .list-teacherblog a:hover {
    background-color: #f2f2f2;
  }
}

.list-news span,
.list-teacherblog span {
  display: inline-block;
  vertical-align: middle;
}

.list-news .date,
.list-teacherblog .date {
  margin-right: .5em;
}

.list-news .category,
.list-news .new,
.list-teacherblog .category,
.list-teacherblog .new {
  padding: .5em .25em;
  font-size: 0.75rem;
  line-height: 1;
  text-align: center;
}

.list-news .category,
.list-teacherblog .category {
  margin-right: .5em;
  width: 6em;
}

.list-news .new,
.list-teacherblog .new {
  width: 4em;
  color: #fff;
  background-color: #e91c24;
}

.list-news .title,
.list-teacherblog .title {
  display: block;
  padding-top: .25em;
}

.list-news li,
.list-teacherblog li {
  border-bottom: 1px solid #afafaf;
}

.list-news li > span,
.list-teacherblog li > span {
  position: relative;
  display: block;
  padding: .5em;
}

.list-news .category.news {
  background-color: #f3ba08;
}

.list-news .category.event {
  color: #fff;
  background-color: #3266a2;
}

.list-teacherblog .category.news {
  background-color: #f3ba08;
}

.list-teacherblog .category.event {
  color: #fff;
  background-color: #13a3a1;
}

.page-link {
  padding: 1.5em 0;
}

@media all and (min-width: 740px), print {
  .page-link {
    padding: 3em 0;
  }
}

.page-link nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.page-link a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 2%;
  padding: 1em 2.5em 1em 1em;
  color: #000;
  text-align: center;
  text-decoration: none;
  border: 1px solid #f3ba08;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

.page-link a::after {
  position: absolute;
  right: .75em;
  top: 50%;
  display: block;
  content: "";
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: transparent url(image/icon_arrow.png) no-repeat center center;
  background-size: contain;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media all and (min-width: 960px), print {
  .page-link a {
    width: 32%;
  }
  .page-link a:nth-child(3n+1) {
    margin-left: 0;
  }
  .page-link a:nth-child(n+4) {
    margin-top: 2%;
  }
  .page-link a:hover {
    background-color: #fce498;
  }
}

@media only screen and (max-width: 959px) {
  .page-link a {
    width: 49%;
  }
  .page-link a:nth-child(2n+1) {
    margin-left: 0;
  }
  .page-link a:nth-child(n+3) {
    margin-top: 2%;
  }
}

.image-text-content .image {
  text-align: center;
}

@media all and (min-width: 740px), print {
  .image-text-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .image-text-content .image {
    width: 36.36364%;
  }
  .image-text-content .text {
    width: 59.09091%;
  }
}

@media only screen and (max-width: 739px) {
  .image-text-content .image {
    margin-bottom: 2em;
  }
  .image-text-content .image:empty {
    margin-bottom: 0;
  }
  .image-text-content .image img {
    max-width: 400px;
  }
}

.list-image {
  padding-top: 2em;
}

@media all and (min-width: 740px), print {
  .list-image {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .list-image li {
    margin-left: 2%;
    width: 49%;
  }
  .list-image li:nth-child(2n+1) {
    margin-left: 0;
  }
  .list-image li:nth-child(n+3) {
    margin-top: 2%;
  }
}

@media only screen and (max-width: 739px) {
  .list-image li + li {
    margin-top: 1em;
  }
}

.research-achievement dt {
  margin-bottom: .5em;
  font-size: 1.125rem;
  font-weight: bold;
}

.research-achievement dd {
  padding: 1em;
  -webkit-box-shadow: 0.25em 0.25em 1em 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0.25em 0.25em 1em 0 rgba(0, 0, 0, 0.1);
}

.research-achievement dd + dt {
  margin-top: 2em;
}

.research-achievement dd + dd {
  margin-top: 1em;
}

/* --------------------------------------------------
	 5. Theme
-------------------------------------------------- */
body.admin-bar #wpadminbar {
  position: fixed !important;
}

body.admin-bar #header {
  top: 46px;
}

@media all and (min-width: 780px), print {
  body.admin-bar #header {
    top: 32px;
  }
}

a[href^="tel:"] {
  color: #000;
}

@media all and (min-width: 740px), print {
  a[href^="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}

#page-title {
  overflow: hidden;
  position: relative;
  height: 240px;
}

@media all and (min-width: 740px), print {
  #page-title {
    height: 360px;
  }
}

#page-title::before, #page-title::after {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  content: "";
}

#page-title::before {
  left: 0;
  right: 75%;
  background: transparent url(image/gradation_bg.png) repeat-x center center;
  background-size: auto 100%;
  -webkit-transform: skew(-15deg) scale(1.5);
  transform: skew(-15deg) scale(1.5);
  z-index: 1;
}

#page-title::after {
  left: 25%;
  right: 0;
  background: transparent no-repeat center center;
  background-size: cover;
  z-index: 0;
}

#page-title .inner {
  height: 100%;
}

#page-title h1 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  position: absolute;
  top: 50%;
  margin-top: -20px;
  width: 100%;
  height: 30px;
  background: transparent no-repeat left center;
  background-size: contain;
  z-index: 2;
}

@media all and (min-width: 740px), print {
  #page-title h1 {
    height: 40px;
  }
}

article {
  padding-bottom: 2em;
}

@media all and (min-width: 740px), print {
  article {
    padding-bottom: 4em;
  }
}

article h2,
article h3,
article h4,
article h5,
article h6 {
  position: relative;
  margin-top: 2em;
  margin-bottom: .5em;
}

article h2:first-child,
article h3:first-child,
article h4:first-child,
article h5:first-child,
article h6:first-child {
  margin-top: 0;
}

article h2 + h3,
article h3 + h4,
article h4 + h5,
article h5 + h6 {
  margin-top: 0;
}

article h2 {
  margin-bottom: 1em;
  font-size: 1.625rem;
}

article h2::after {
  display: block;
  content: "";
  height: 2px;
  background-color: #f3ba08;
}

article h3 {
  color: #13a3a1;
  font-size: 1.5rem;
}

article h4 {
  font-size: 1.25rem;
}

article h5 {
  font-size: 1.125rem;
}

article h6 {
  font-size: 1rem;
}

@media all and (min-width: 740px), print {
  article h2 {
    font-size: 1.75rem;
  }
  article h3 {
    font-size: 1.625rem;
  }
  article h4 {
    font-size: 1.375rem;
  }
  article h5 {
    font-size: 1.25rem;
  }
  article h6 {
    font-size: 1.125rem;
  }
}

#primary > .reading {
  background: transparent url(image/reading_bg.jpg) no-repeat center center;
  background-size: cover;
}

#primary > .reading .frame {
  padding: 2em;
  background-color: rgba(255, 255, 255, 0.65);
  border: 1px solid #000;
}

@media all and (min-width: 960px), print {
  #primary > .reading .frame {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  #primary > .reading .frame .text {
    width: 30em;
  }
  #primary > .reading .frame .button {
    width: calc(100% - 32em);
  }
}

@media only screen and (max-width: 959px) {
  #primary > .reading .frame .button {
    padding-top: 2em;
  }
}

#primary > .reading h2 {
  margin-bottom: .5em;
  font-size: 1.25rem;
}

#primary > .reading h2::after {
  display: none;
}

#primary > .reading .button a {
  display: block;
  margin: 0 auto;
  padding: 1em 0;
  max-width: 260px;
  color: #000;
  text-align: center;
  text-decoration: none;
  background-color: #f3ba08;
}

#primary > .reading .button a::before {
  display: inline-block;
  content: "";
  vertical-align: middle;
  margin-right: .5em;
  width: 30px;
  height: 30px;
  background: transparent url(image/icon_reading.png) no-repeat center center;
  background-size: contain;
}

#primary > .reading .button a::after {
  display: none;
}

@media all and (min-width: 740px), print {
  #primary > .reading .button a {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  #primary > .reading .button a:hover {
    background-color: #f8c936;
  }
}

section {
  position: relative;
  padding: 1.5em 0;
}

@media all and (min-width: 740px), print {
  section {
    padding: 3em 0;
  }
}

@media all and (min-width: 740px), print {
  table {
    max-width: 1100px;
  }
}

@media only screen and (max-width: 739px) {
  table {
    width: 100% !important;
  }
}

div.focus-text {
  border: 1px solid transparent;
}

div.attention-text {
  border: 1px solid transparent;
}

blockquote {
  position: relative;
  margin: 1em 0;
  padding: 1.5em;
  font-size: 0.875rem;
  background-color: #f6f6f6;
}

/* --------------------------------------------------
	 6. Layout
-------------------------------------------------- */
#all {
  overflow: hidden;
}

#content,
#footer {
  position: relative;
  clear: both;
}

#content .inner,
#footer .inner {
  position: relative;
  margin: 0 auto;
}

@media all and (min-width: 740px), print {
  #content .inner,
  #footer .inner {
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1140px;
  }
}

@media only screen and (max-width: 739px) {
  #content .inner,
  #footer .inner {
    padding-left: 10px;
    padding-right: 10px;
    min-width: 340px;
  }
}

#content {
  padding-top: 60px;
}

@media all and (min-width: 960px), print {
  #content {
    padding-top: 140px;
  }
}

@media only screen and (min-width: 740px) and (max-width: 959px) {
  #content {
    padding-top: 120px;
  }
}

#breadline {
  padding: .5em 0;
}

#breadline ul {
  font-size: 0;
}

#breadline li {
  display: inline-block;
  vertical-align: middle;
  padding: 5px 0;
  font-size: 0.875rem;
}

#breadline li a {
  font-weight: bold;
}

#breadline li .divider {
  padding: 0 10px;
}

@media only screen and (max-width: 739px) {
  #breadline {
    display: none;
  }
}

#pagetop {
  position: fixed;
  right: 1em;
  bottom: 2em;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  z-index: 10;
}

#pagetop.fixed {
  pointer-events: auto;
  opacity: 1;
}

#pagetop a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 40px;
  height: 40px;
  position: relative;
  background: rgba(19, 163, 161, 0.5) url(image/pagetop.png) no-repeat center center;
  background-size: contain;
  border-radius: 50%;
}

@media all and (min-width: 740px), print {
  #pagetop a {
    width: 60px;
    height: 60px;
    -webkit-transition: background-color 0.2s, -webkit-transform 0.2s;
    transition: background-color 0.2s, -webkit-transform 0.2s;
    transition: background-color 0.2s, transform 0.2s;
    transition: background-color 0.2s, transform 0.2s, -webkit-transform 0.2s;
  }
  #pagetop a:hover {
    background-color: rgba(19, 163, 161, 0.8);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

/* --------------------------------------------------
	 7. Slick
-------------------------------------------------- */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track::before, .slick-track::after {
  content: "";
  display: table;
}

.slick-track::after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-prev,
.slick-next {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 40%;
  padding: 0;
  line-height: 0;
  border: none;
  outline: none;
  background: transparent no-repeat center center;
  background-size: contain;
  cursor: pointer;
  z-index: 1;
}

.slick-prev::before, .slick-prev::after,
.slick-next::before,
.slick-next::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  background: transparent no-repeat center center;
  background-size: contain;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.slick-prev::after,
.slick-next::after {
  opacity: 0;
}

.slick-prev:hover::before,
.slick-next:hover::before {
  opacity: 0;
}

.slick-prev:hover::after,
.slick-next:hover::after {
  opacity: 1;
}

.slick-prev.slick-disabled::before,
.slick-next.slick-disabled::before {
  display: none;
}

.slick-prev {
  left: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.slick-next {
  right: 0;
}

.slick-dots {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none;
  counter-reset: number 0;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 30px;
  margin: 0 5px;
  padding: 0;
  text-align: center;
  cursor: pointer;
}

.slick-dots li button {
  display: block;
  border: 0;
  outline: none;
  color: transparent;
  font-size: 0;
  background: transparent;
  outline: none;
  cursor: pointer;
}

.slick-dots li button:hover::after, .slick-dots li button:focus::after {
  background-color: #f3ba08;
}

.slick-dots li button::after {
  display: block;
  content: "";
  width: 30px;
  height: 5px;
  background-color: #c9c9c9;
}

.slick-dots li.slick-active button::after {
  background-color: #f3ba08;
}

/* --------------------------------------------------
	 8. Header
-------------------------------------------------- */
@media only screen and (max-width: 739px) {
  body.menu-opened {
    overflow: hidden;
  }
  body.menu-opened #header .menu::before {
    opacity: 0;
  }
  body.menu-opened #header .menu span::before, body.menu-opened #header .menu span::after {
    -webkit-transition: margin-top 0.2s, -webkit-transform 0.2s 0.2s;
    transition: margin-top 0.2s, -webkit-transform 0.2s 0.2s;
    transition: margin-top 0.2s, transform 0.2s 0.2s;
    transition: margin-top 0.2s, transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
  }
  body.menu-opened #header .menu span::before {
    margin-top: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  body.menu-opened #header .menu span::after {
    margin-top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  body.menu-opened #header .global-menu {
    opacity: 1;
    pointer-events: auto;
  }
}

#header {
  position: fixed;
  left: 0;
  top: 0;
  padding: 10px;
  width: 100%;
  height: 60px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.2);
  z-index: 15;
}

@media all and (min-width: 960px), print {
  #header {
    height: 140px;
  }
}

@media only screen and (min-width: 740px) and (max-width: 959px) {
  #header {
    height: 120px;
  }
}

#header .logo a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 13.46154%;
  background: transparent url(image/logo.png) no-repeat center center;
  background-size: contain;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

@media all and (min-width: 740px), print {
  #header .logo {
    width: 520px;
  }
  #header .logo a:hover {
    opacity: .8;
  }
}

@media only screen and (min-width: 740px) and (max-width: 959px) {
  #header .logo {
    width: 416px;
  }
}

@media only screen and (max-width: 739px) {
  #header .logo {
    width: 285px;
  }
}

@media all and (min-width: 740px), print {
  #header .menu {
    display: none;
  }
}

@media only screen and (max-width: 739px) {
  #header .menu {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    z-index: 25;
  }
  #header .menu::before {
    position: absolute;
    left: 20%;
    top: 50%;
    display: block;
    content: "";
    width: 60%;
    height: 2px;
    background-color: #f3ba08;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
  #header .menu span {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 0;
    top: 0;
  }
  #header .menu span::before, #header .menu span::after {
    position: absolute;
    left: 20%;
    top: 50%;
    display: block;
    content: "";
    width: 60%;
    height: 2px;
    background-color: #f3ba08;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: background-color 0.2s, margin-top 0.2s 0.2s, -webkit-transform 0.2s;
    transition: background-color 0.2s, margin-top 0.2s 0.2s, -webkit-transform 0.2s;
    transition: background-color 0.2s, margin-top 0.2s 0.2s, transform 0.2s;
    transition: background-color 0.2s, margin-top 0.2s 0.2s, transform 0.2s, -webkit-transform 0.2s;
  }
  #header .menu span::before {
    margin-top: -15%;
  }
  #header .menu span::after {
    margin-top: 15%;
  }
}

@media only screen and (max-width: 739px) {
  #header .global-menu {
    position: fixed;
    left: 0;
    top: 0;
    padding: 80px 0 200px;
    width: 100%;
    height: 100vh;
    background: transparent url(image/gradation_bg.png) repeat-x center center;
    background-size: auto 100%;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 20;
  }
}

#header .nav a {
  display: block;
  padding: .5em;
  color: #000;
  text-decoration: none;
}

@media all and (min-width: 740px), print {
  #header .nav {
    text-align: right;
  }
  #header .nav li {
    display: inline-block;
  }
  #header .nav li.index {
    display: none;
  }
  #header .nav a::after {
    display: block;
    content: "";
    margin: .25em auto 0;
    width: 0;
    height: 2px;
    background-color: #f3ba08;
    -webkit-transition: width 0.2s;
    transition: width 0.2s;
  }
  #header .nav a:hover::after {
    width: 100%;
  }
}

@media all and (min-width: 740px), print {
  #header .nav a {
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 739px) {
  #header .nav {
    margin: 0 auto 2em;
    width: 80%;
    border-top: 1px solid #afafaf;
  }
  #header .nav li {
    border-bottom: 1px solid #afafaf;
  }
}

#header .banner a {
  display: block;
  padding: .75em 0;
  text-align: center;
  text-decoration: none;
}

#header .banner a::before {
  display: inline-block;
  content: "";
  vertical-align: middle;
  margin-right: .5em;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: contain;
}

#header .banner .teacherblog a {
  color: #fff;
  background-color: #13a3a1;
}

#header .banner .teacherblog a::before {
  background-image: url(image/icon_teacherblog.png);
}

#header .banner .contact a {
  color: #000;
  background-color: #f3ba08;
}

#header .banner .contact a::before {
  background-image: url(image/icon_contact.png);
}

@media all and (min-width: 740px), print {
  #header .banner {
    position: absolute;
    right: 0;
    top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  #header .banner li {
    width: 200px;
  }
  #header .banner a {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  #header .banner .teacherblog a:hover {
    background-color: #16bab8;
  }
  #header .banner .contact a:hover {
    background-color: #f8c31d;
  }
}

@media only screen and (min-width: 740px) and (max-width: 959px) {
  #header .banner li {
    width: 140px;
  }
  #header .banner a {
    font-size: 0.875rem;
  }
}

@media only screen and (max-width: 739px) {
  #header .banner li {
    margin: 0 auto;
    width: 80%;
  }
  #header .banner li + li {
    margin-top: 1em;
  }
}

/* --------------------------------------------------
	 9. Footer
-------------------------------------------------- */
#footer {
  padding-top: 4em;
}

#footer .logo {
  margin: 0 auto 1em;
}

#footer .logo a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 23.68421%;
  background: transparent url(image/logo_vertical.png) no-repeat center center;
  background-size: contain;
}

@media all and (min-width: 740px), print {
  #footer .logo {
    width: 380px;
  }
}

@media only screen and (max-width: 739px) {
  #footer .logo {
    width: 285px;
  }
}

#footer .link {
  text-align: center;
}

#footer .link a {
  display: block;
  color: #000;
  text-decoration: none;
}

@media all and (min-width: 740px), print {
  #footer .link a:hover {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 739px) {
  #footer .link {
    margin-left: -10px;
    margin-right: -10px;
    text-align: left;
    border-top: 1px dotted #afafaf;
  }
  #footer .link li {
    border-bottom: 1px dotted #afafaf;
  }
  #footer .link a {
    padding: 1em 1.5em;
  }
}

#footer .copyright {
  padding: 3em 0;
  font-size: 0.75rem;
  text-align: center;
}

@media all and (min-width: 740px), print {
  #footer .content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  #footer .content .information {
    width: 400px;
  }
  #footer .content .link {
    width: calc(100% - 430px);
  }
  #footer address,
  #footer .tel {
    font-size: 0.875rem;
  }
  #footer .link {
    text-align: left;
  }
  #footer .link li {
    margin-bottom: .5em;
    padding-left: 1em;
    display: inline-block;
  }
}

@media only screen and (max-width: 939px) {
  #footer .information {
    margin-bottom: 2em;
  }
  #footer address,
  #footer .tel {
    margin: 0 auto;
    width: 20em;
  }
}

/* --------------------------------------------------
	10. Index
-------------------------------------------------- */
@media only screen and (max-width: 739px) {
  body.index #header .nav li.index a {
    background-color: rgba(243, 186, 8, 0.5);
  }
}

article.index {
  padding-bottom: 0;
}

article.index h2::after {
  display: none;
}

article.index .main-visual {
  margin-bottom: 2em;
}

@media all and (min-width: 740px), print {
  article.index .main-visual {
    margin-bottom: 4em;
  }
}

article.index .main-visual #slider-main-image {
  overflow: hidden;
}

article.index .main-visual #slider-main-image .slide span {
  display: block;
  height: 400px;
  background: transparent no-repeat center center;
  background-size: cover;
}

@media all and (min-width: 740px), print {
  article.index .main-visual #slider-main-image .slide span {
    height: 580px;
  }
}

@media all and (min-width: 740px), print {
  article.index .main-visual #slider-main-image {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  article.index .main-visual #slider-main-image::before {
    display: block;
    content: "";
    width: 30%;
    background: transparent url(image/gradation_bg.png) repeat-x center center;
    background-size: auto 100%;
    -webkit-transform: skew(-15deg) scale(1.5);
    transform: skew(-15deg) scale(1.5);
    z-index: 1;
  }
  article.index .main-visual #slider-main-image .slick-list {
    width: 70%;
  }
}

article.index .main-visual #slider-main-text .title {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
}

article.index .main-visual #slider-main-text .title::before {
  display: block;
  content: "";
  height: 40px;
  background: transparent no-repeat left center;
  background-size: contain;
}

@media all and (min-width: 740px), print {
  article.index .main-visual #slider-main-text .title::before {
    height: 60px;
  }
}

@media only screen and (max-width: 739px) {
  article.index .main-visual #slider-main-text .title {
    padding: 1rem;
    background-color: rgba(255, 238, 202, 0.6);
  }
}

article.index .main-visual #slider-main-text p {
  text-shadow: 0 0 2px #fff;
}

@media only screen and (max-width: 739px) {
  article.index .main-visual #slider-main-text p {
    display: none;
  }
}

article.index .main-visual #slider-main-text .slide:nth-child(1) .title::before {
  background-image: url(image/slide01_title.png);
}

article.index .main-visual #slider-main-text .slide:nth-child(2) .title::before {
  background-image: url(image/slide02_title.png);
}

article.index .main-visual #slider-main-text .slide:nth-child(3) .title::before {
  background-image: url(image/slide03_title.png);
}

article.index .main-visual #slider-main-text .slick-dots li button:hover::before, article.index .main-visual #slider-main-text .slick-dots li button:focus::before {
  color: #000;
}

article.index .main-visual #slider-main-text .slick-dots li button::before {
  display: block;
  margin-bottom: .25em;
  width: 30px;
  color: #c9c9c9;
  font-size: 1rem;
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
}

article.index .main-visual #slider-main-text .slick-dots li.slick-active button::before {
  color: #000;
}

@media all and (min-width: 740px), print {
  article.index .main-visual #slider-main-text {
    position: absolute;
    left: 20px;
    top: -460px;
    width: 420px;
    z-index: 5;
  }
  article.index .main-visual #slider-main-text .title {
    margin-bottom: 4rem;
  }
  article.index .main-visual #slider-main-text .slick-list {
    margin-bottom: 4em;
  }
}

@media only screen and (max-width: 739px) {
  article.index .main-visual #slider-main-text {
    margin-left: -10px;
    margin-right: -10px;
  }
  article.index .main-visual #slider-main-text .slick-dots {
    position: absolute;
    right: 2rem;
    bottom: 1.5rem;
    text-align: right;
  }
}

article.index .main-visual .reading {
  position: absolute;
  right: 20px;
  bottom: 100px;
}

article.index .main-visual .reading a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 120px;
}

article.index .main-visual .reading a::before {
  display: block;
  content: "";
  padding-top: 100%;
  background: #fff url(image/reading.png) no-repeat center center;
  background-size: contain;
  border: 3px solid #f3ba08;
  border-radius: 50%;
}

article.index .main-visual .reading a::after {
  display: none;
}

@media all and (min-width: 740px), print {
  article.index .main-visual .reading a {
    width: 170px;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  article.index .main-visual .reading a::before {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  article.index .main-visual .reading a:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  article.index .main-visual .reading a:hover::before {
    background-color: #fef7e2;
  }
}

@media all and (min-width: 740px), print {
  article.index .main-visual .reading {
    bottom: -60px;
  }
}

article.index section.news-teacherblog .more a {
  color: #000;
  text-decoration: none;
}

article.index section.news-teacherblog .more a::after {
  display: inline-block;
  content: "";
  vertical-align: middle;
  margin-left: .5em;
  width: 20px;
  height: 20px;
  background: transparent url(image/icon_arrow.png) no-repeat center center;
  background-size: contain;
  border: 1px solid #000;
  border-radius: 50%;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

@media all and (min-width: 740px), print {
  article.index section.news-teacherblog {
    margin-bottom: 1.5em;
  }
  article.index section.news-teacherblog .nav {
    display: none;
  }
  article.index section.news-teacherblog .content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  article.index section.news-teacherblog .content h2 {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    margin-bottom: 2rem;
  }
  article.index section.news-teacherblog .content h2::before, article.index section.news-teacherblog .content h2::after {
    display: block;
    content: "";
    background: transparent no-repeat left center;
    background-size: contain;
  }
  article.index section.news-teacherblog .content h2::before {
    height: 40px;
  }
  article.index section.news-teacherblog .content h2::after {
    height: 35px;
  }
  article.index section.news-teacherblog .content > .news,
  article.index section.news-teacherblog .content > .teacherblog {
    position: relative;
    width: 48%;
  }
  article.index section.news-teacherblog .content .news h2::before {
    background-image: url(image/news_title.png);
  }
  article.index section.news-teacherblog .content .news h2::after {
    background-image: url(image/news_title_en.png);
  }
  article.index section.news-teacherblog .content .teacherblog h2::before {
    background-image: url(image/teacherblog_title.png?ts=20250508);
  }
  article.index section.news-teacherblog .content .teacherblog h2::after {
    background-image: url(image/teacherblog_title_en.png);
  }
  article.index section.news-teacherblog .content .more {
    position: absolute;
    right: .5em;
    top: .5em;
  }
  article.index section.news-teacherblog .content .more a::after {
    width: 25px;
    height: 25px;
  }
  article.index section.news-teacherblog .content .more a:hover::after {
    background-color: #fce498;
  }
}

@media only screen and (max-width: 739px) {
  article.index section.news-teacherblog .nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  article.index section.news-teacherblog .nav li {
    width: 48%;
  }
  article.index section.news-teacherblog .nav li.active a {
    background-color: #f3ba08;
    opacity: 1;
  }
  article.index section.news-teacherblog .nav a {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    display: block;
    content: "";
    height: 50px;
    background: #e2e2e2 no-repeat center center;
    background-size: auto 40%;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    opacity: .75;
  }
  article.index section.news-teacherblog .nav .news a {
    background-image: url(image/news_title.png);
  }
  article.index section.news-teacherblog .nav .teacherblog a {
    background-image: url(image/teacherblog_title.png?ts=20250508);
  }
  article.index section.news-teacherblog .content .news,
  article.index section.news-teacherblog .content .teacherblog {
    display: none;
  }
  article.index section.news-teacherblog .content .news.active,
  article.index section.news-teacherblog .content .teacherblog.active {
    display: block;
  }
  article.index section.news-teacherblog .content h2 {
    display: none;
  }
  article.index section.news-teacherblog .content .list-news,
  article.index section.news-teacherblog .content .list-teacherblog {
    padding: 1em 0 2em;
  }
  article.index section.news-teacherblog .content .more {
    text-align: right;
  }
}

article.index section.introduction h2 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  margin-bottom: 2rem;
  height: 60px;
  background: transparent url(image/introduction_title.png) no-repeat center center;
  background-size: contain;
}

@media all and (min-width: 740px), print {
  article.index section.introduction h2 {
    height: 80px;
  }
}

@media all and (min-width: 960px), print {
  article.index section.introduction p {
    margin: 0 auto;
    width: 90%;
  }
}

article.index section.area a,
article.index div.banner a {
  display: block;
  text-decoration: none;
}

article.index section.area a span,
article.index div.banner a span {
  display: block;
}

article.index section.area a .title,
article.index div.banner a .title {
  position: relative;
  font-size: 1.25rem;
  padding: .5em 0;
  color: #000;
  text-align: center;
  text-decoration: none;
  border-bottom: 1px solid #afafaf;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

article.index section.area a .title::after,
article.index div.banner a .title::after {
  position: absolute;
  right: .5em;
  top: 50%;
  display: block;
  content: "";
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: #fff url(image/icon_arrow.png) no-repeat center center;
  background-size: contain;
  border: 1px solid #000;
  border-radius: 50%;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

@media all and (min-width: 740px), print {
  article.index section.area a .title::after,
  article.index div.banner a .title::after {
    margin-top: -15px;
    width: 30px;
    height: 30px;
  }
}

@media all and (min-width: 740px), print {
  article.index section.area a:hover .title::after,
  article.index div.banner a:hover .title::after {
    background-color: #fce498;
  }
}

@media all and (min-width: 740px), print {
  article.index section.area .inner {
    max-width: 1440px !important;
  }
}

article.index section.area h2 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  margin-bottom: 2rem;
  height: 60px;
  background: transparent url(image/area_title.png) no-repeat center center;
  background-size: contain;
}

@media all and (min-width: 740px), print {
  article.index section.area h2 {
    height: 80px;
  }
}

@media all and (min-width: 740px), print {
  article.index section.area .nursing {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  article.index section.area .nursing li {
    width: 32.5%;
  }
}

article.index section.area .nursing li .image {
  overflow: hidden;
  position: relative;
  margin-bottom: .5em;
  height: 200px;
}

@media all and (min-width: 740px), print {
  article.index section.area .nursing li .image {
    height: 360px;
  }
}

article.index section.area .nursing li .image::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  background: transparent no-repeat center center;
  background-size: cover;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}

article.index section.area .nursing li.acute .image::before {
  background-image: url(image/area_acute.jpg);
}

article.index section.area .nursing li.chronic .image::before {
  background-image: url(image/area_chronic.jpg);
}

article.index section.area .nursing li.geriatric .image::before {
  background-image: url(image/area_geriatric.jpg);
}

article.index section.area .nursing li p {
  padding-top: .5em;
}

@media all and (min-width: 740px), print {
  article.index section.area .nursing li a:hover .image::before {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media only screen and (max-width: 739px) {
  article.index section.area .nursing li + li {
    padding-top: 2em;
  }
}

article.index div.banner {
  padding: 2em 0;
  background: transparent url(image/gradation_bg.png) repeat-x center center;
  background-size: auto 100%;
}

@media all and (min-width: 740px), print {
  article.index div.banner {
    padding: 4em 0;
  }
}

@media all and (min-width: 740px), print {
  article.index div.banner .banner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  article.index div.banner .banner li {
    width: 32.5%;
  }
}

article.index div.banner .banner li .image {
  overflow: hidden;
  position: relative;
  margin-bottom: .5em;
  height: 140px;
  background: transparent no-repeat center center;
  background-size: cover;
}

@media all and (min-width: 740px), print {
  article.index div.banner .banner li .image {
    height: 200px;
  }
}

article.index div.banner .banner li .image::before, article.index div.banner .banner li .image::after {
  position: absolute;
  display: block;
  content: "";
}

article.index div.banner .banner li .image::before {
  top: -50%;
  right: -50%;
  bottom: -50%;
  left: -50%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.2)), color-stop(55%, rgba(0, 0, 0, 0.2)), color-stop(55%, rgba(243, 186, 8, 0.7)), to(rgba(243, 186, 8, 0.7)));
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 55%, rgba(243, 186, 8, 0.7) 55%, rgba(243, 186, 8, 0.7) 100%);
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 55%, rgba(243, 186, 8, 0.7) 55%, rgba(243, 186, 8, 0.7) 100%);
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
  z-index: 2;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}

@media all and (min-width: 740px), print {
  article.index div.banner .banner li .image::before {
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.2)), color-stop(50%, rgba(0, 0, 0, 0.2)), color-stop(50%, rgba(243, 186, 8, 0.7)), to(rgba(243, 186, 8, 0.7)));
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(243, 186, 8, 0.7) 50%, rgba(243, 186, 8, 0.7) 100%);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(243, 186, 8, 0.7) 50%, rgba(243, 186, 8, 0.7) 100%);
  }
}

article.index div.banner .banner li .image::after {
  right: .5em;
  bottom: .5em;
  width: 210px;
  height: 80px;
  background: transparent no-repeat center center;
  background-size: contain;
  z-index: 2;
}

article.index div.banner .banner li.staff .image {
  background-image: url(image/banner_staff.jpg);
}

article.index div.banner .banner li.staff .image::after {
  background-image: url(image/banner_staff_title.png);
}

article.index div.banner .banner li.education .image {
  background-image: url(image/banner_education.jpg);
}

article.index div.banner .banner li.education .image::after {
  background-image: url(image/banner_education_title.png);
}

article.index div.banner .banner li.region .image {
  background-image: url(image/banner_region.jpg);
}

article.index div.banner .banner li.region .image::after {
  background-image: url(image/banner_region_title.png);
}

@media all and (min-width: 740px), print {
  article.index div.banner .banner li a:hover .image::before {
    -webkit-transform: translate3d(10%, 0, 0) rotate(20deg);
    transform: translate3d(10%, 0, 0) rotate(20deg);
  }
}

@media only screen and (max-width: 739px) {
  article.index div.banner .banner li + li {
    padding-top: 2em;
  }
}

/* --------------------------------------------------
	11. News
-------------------------------------------------- */
body.post-type-archive-news #page-title::after {
  background-image: url(image/news/main_bg.jpg);
}

body.post-type-archive-news #page-title h1 {
  background-image: url(image/news/main_title.png);
}

#page-title.news::after {
  background-image: url(image/news/main_bg.jpg);
}

#page-title.news h1 {
  background-image: url(image/news/main_title.png);
}

@media all and (min-width: 740px), print {
  article.news section .inner {
    max-width: 940px !important;
  }
}

article.news section.detail > .inner > .date-category {
  margin-bottom: 1em;
}

article.news section.detail > .inner > .date-category span {
  display: inline-block;
  vertical-align: middle;
}

article.news section.detail > .inner > .date-category .date {
  margin-right: .5em;
}

article.news section.detail > .inner > .date-category .category {
  padding: .5em .25em;
  width: 6em;
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
}

article.news section.detail > .inner > .date-category .category.news {
  background-color: #f3ba08;
}

article.news section.detail > .inner > .date-category .category.event {
  color: #fff;
  background-color: #3266a2;
}

article.news section.detail > .inner > .contents::after {
  display: block;
  content: "";
  clear: both;
}

article.news section.detail > .inner > .contents table {
  font-size: 0.9375rem;
  background-color: #fff;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

article.news section.detail > .inner > .contents table th,
article.news section.detail > .inner > .contents table td {
  padding: .5em;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
}

@media only screen and (max-width: 739px) {
  article.news section.detail > .inner > .contents table th,
  article.news section.detail > .inner > .contents table td {
    min-height: 2.79em;
  }
}

article.news section.detail > .inner > .contents table th {
  color: #000;
  text-align: center;
  white-space: nowrap;
  background-color: #f6f6f6;
}

article.news section.detail > .inner > .contents table thead {
  line-height: 1.4;
}

article.news section.detail > .inner > .contents table thead th {
  background-color: #e9e9e9;
}

article.news section.detail > .inner > .contents ul,
article.news section.detail > .inner > .contents ol {
  margin-left: 1.5em;
  padding: .25em 0;
}

article.news section.detail > .inner > .contents ul {
  list-style-type: disc;
}

article.news section.detail > .inner > .contents ol {
  list-style: decimal;
}

article.news section.detail > .inner > .buttons {
  padding-top: 4em;
  text-align: center;
}

/* --------------------------------------------------
	12. Teacher Blog
-------------------------------------------------- */
body.teacherblog #header .banner li.teacherblog a, body.post-type-archive-teacherblog #header .banner li.teacherblog a {
  background-color: #108c8a;
}

body.post-type-archive-teacherblog #page-title::after {
  background-image: url(image/teacherblog/main_bg.jpg);
}

body.post-type-archive-teacherblog #page-title h1 {
  background-image: url(image/teacherblog/main_title.png?ts=20250508);
}

#page-title.teacherblog::after {
  background-image: url(image/teacherblog/main_bg.jpg);
}

#page-title.teacherblog h1 {
  background-image: url(image/teacherblog/main_title.png?ts=20250508);
}

@media all and (min-width: 740px), print {
  article.teacherblog section .inner {
    max-width: 940px !important;
  }
}

article.teacherblog section.detail > .inner > .date-category {
  margin-bottom: 1em;
}

article.teacherblog section.detail > .inner > .date-category span {
  display: inline-block;
  vertical-align: middle;
}

article.teacherblog section.detail > .inner > .date-category .date {
  margin-right: .5em;
}

article.teacherblog section.detail > .inner > .date-category .category {
  padding: .5em .25em;
  width: 6em;
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
}

article.teacherblog section.detail > .inner > .date-category .category.news {
  background-color: #f3ba08;
}

article.teacherblog section.detail > .inner > .date-category .category.event {
  color: #fff;
  background-color: #13a3a1;
}

article.teacherblog section.detail > .inner > .contents::after {
  display: block;
  content: "";
  clear: both;
}

article.teacherblog section.detail > .inner > .contents table {
  font-size: 0.9375rem;
  background-color: #fff;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

article.teacherblog section.detail > .inner > .contents table th,
article.teacherblog section.detail > .inner > .contents table td {
  padding: .5em;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
}

@media only screen and (max-width: 739px) {
  article.teacherblog section.detail > .inner > .contents table th,
  article.teacherblog section.detail > .inner > .contents table td {
    min-height: 2.79em;
  }
}

article.teacherblog section.detail > .inner > .contents table th {
  color: #000;
  text-align: center;
  white-space: nowrap;
  background-color: #f6f6f6;
}

article.teacherblog section.detail > .inner > .contents table thead {
  line-height: 1.4;
}

article.teacherblog section.detail > .inner > .contents table thead th {
  background-color: #e9e9e9;
}

article.teacherblog section.detail > .inner > .contents ul,
article.teacherblog section.detail > .inner > .contents ol {
  margin-left: 1.5em;
  padding: .25em 0;
}

article.teacherblog section.detail > .inner > .contents ul {
  list-style-type: disc;
}

article.teacherblog section.detail > .inner > .contents ol {
  list-style: decimal;
}

article.teacherblog section.detail > .inner > .buttons {
  padding-top: 4em;
  text-align: center;
}

/* --------------------------------------------------
	13. Acute
-------------------------------------------------- */
@media all and (min-width: 740px), print {
  body.acute #header .nav li.acute a::after {
    width: 100%;
  }
}

@media only screen and (max-width: 739px) {
  body.acute #header .nav li.acute a {
    background-color: rgba(243, 186, 8, 0.5);
  }
}

#page-title.acute::after {
  background-image: url(image/acute/main_bg.jpg);
}

#page-title.acute h1 {
  background-image: url(image/acute/main_title.png);
}

/* --------------------------------------------------
	14. Chronic
-------------------------------------------------- */
@media all and (min-width: 740px), print {
  body.chronic #header .nav li.chronic a::after {
    width: 100%;
  }
}

@media only screen and (max-width: 739px) {
  body.chronic #header .nav li.chronic a {
    background-color: rgba(243, 186, 8, 0.5);
  }
}

#page-title.chronic::after {
  background-image: url(image/chronic/main_bg.jpg);
}

#page-title.chronic h1 {
  background-image: url(image/chronic/main_title.png);
}

/* --------------------------------------------------
	15. Geriatric
-------------------------------------------------- */
@media all and (min-width: 740px), print {
  body.geriatric #header .nav li.geriatric a::after {
    width: 100%;
  }
}

@media only screen and (max-width: 739px) {
  body.geriatric #header .nav li.geriatric a {
    background-color: rgba(243, 186, 8, 0.5);
  }
}

#page-title.geriatric::after {
  background-image: url(image/geriatric/main_bg.jpg);
}

#page-title.geriatric h1 {
  background-image: url(image/geriatric/main_title.png);
}

article.geriatric section #slider-image {
  margin-bottom: 1em;
}

article.geriatric section #slider-image .slick-prev::before,
article.geriatric section #slider-image .slick-next::before {
  background-image: url(image/geriatric/icon_arrow_white.png);
}

article.geriatric section #slider-image .slick-prev::after,
article.geriatric section #slider-image .slick-next::after {
  background-image: url(image/geriatric/icon_arrow_orange.png);
}

@media only screen and (max-width: 739px) {
  article.geriatric section #slider-image .slick-prev,
  article.geriatric section #slider-image .slick-next {
    width: 30px;
    height: 30px;
  }
}

article.geriatric section #slider-thumb .slick-track {
  -webkit-transform: translate3d(0px, 0px, 0px) !important;
  transform: translate3d(0px, 0px, 0px) !important;
}

article.geriatric section #slider-thumb .slide {
  padding: 0 .25em;
  cursor: pointer;
  opacity: .5;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

article.geriatric section #slider-thumb .slide.slick-current {
  opacity: 1;
}

article.geriatric section #slider-thumb .slide:hover {
  opacity: 1;
}

/* --------------------------------------------------
	16. Staff
-------------------------------------------------- */
@media all and (min-width: 740px), print {
  body.staff #header .nav li.staff a::after {
    width: 100%;
  }
}

@media only screen and (max-width: 739px) {
  body.staff #header .nav li.staff a {
    background-color: rgba(243, 186, 8, 0.5);
  }
}

#page-title.staff::after {
  background-image: url(image/staff/main_bg.jpg);
}

#page-title.staff h1 {
  background-image: url(image/staff/main_title.png);
}

@media all and (min-width: 740px), print {
  article.staff section .inner {
    max-width: 940px !important;
  }
}

article.staff section .link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

article.staff section .link a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 2%;
  padding: 1em 2.5em 1em 1em;
  color: #000;
  text-align: center;
  text-decoration: none;
  border: 1px solid #f3ba08;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

article.staff section .link a::after {
  position: absolute;
  right: .75em;
  top: 50%;
  display: block;
  content: "";
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: transparent url(image/icon_arrow.png) no-repeat center center;
  background-size: contain;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media all and (min-width: 960px), print {
  article.staff section .link a:hover {
    background-color: #fce498;
  }
}

@media only screen and (max-width: 959px) {
  article.staff section .link a {
    width: 49%;
  }
  article.staff section .link a:nth-child(2n+1) {
    margin-left: 0;
  }
  article.staff section .link a:nth-child(n+3) {
    margin-top: 2%;
  }
}

@media all and (min-width: 960px), print {
  article.staff section .link.staff a {
    width: 23.5%;
  }
  article.staff section .link.staff a:nth-child(4n+1) {
    margin-left: 0;
  }
  article.staff section .link.staff a:nth-child(n+5) {
    margin-top: 2%;
  }
}

@media all and (min-width: 960px), print {
  article.staff section .link.graduate a {
    width: 32%;
  }
  article.staff section .link.graduate a:nth-child(3n+1) {
    margin-left: 0;
  }
  article.staff section .link.graduate a:nth-child(n+4) {
    margin-top: 2%;
  }
}

@media only screen and (max-width: 959px) {
  article.staff section .link.graduate a {
    min-height: 5.75em;
  }
}

article.staff section .persons h4 {
  padding-left: .5em;
  border-left: 4px solid #f3ba08;
}

article.staff section .persons h4 a {
  font-size: 1rem;
}

article.staff section .persons .table a {
  color: #000;
}

/* --------------------------------------------------
	17. Education
-------------------------------------------------- */
@media all and (min-width: 740px), print {
  body.education #header .nav li.education a::after {
    width: 100%;
  }
}

@media only screen and (max-width: 739px) {
  body.education #header .nav li.education a {
    background-color: rgba(243, 186, 8, 0.5);
  }
}

#page-title.education::after {
  background-image: url(image/education/main_bg.jpg);
}

#page-title.education h1 {
  background-image: url(image/education/main_title.png);
}

article.education section .content {
  padding-top: 2em;
}

article.education section .undergraduate,
article.education section .graduate {
  padding: 1.5em 1em;
  text-align: center;
  background: transparent url(image/gradation_bg.png) repeat-x center center;
  background-size: auto 100%;
}

@media only screen and (max-width: 739px) {
  article.education section .undergraduate,
  article.education section .graduate {
    margin-left: -10px;
    margin-right: -10px;
  }
}

article.education section h3 {
  margin-bottom: 1em;
  color: #000;
  font-size: 1.25rem;
}

article.education section .subject {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

article.education section .subject li {
  padding: .5em 0;
  background-color: #fff;
  border: 1px solid #afafaf;
}

@media all and (min-width: 960px), print {
  article.education section p {
    margin: 0 auto;
    width: 80%;
  }
  article.education section .content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  article.education section .subject li {
    width: 100%;
  }
  article.education section .undergraduate {
    width: 70.90909%;
  }
  article.education section .undergraduate .subject li {
    margin-left: 2%;
    width: 49%;
  }
  article.education section .undergraduate .subject li:nth-child(2n+1) {
    margin-left: 0;
  }
  article.education section .undergraduate .subject li:nth-child(n+3) {
    margin-top: 2%;
  }
  article.education section .graduate {
    width: 25.45455%;
  }
  article.education section .graduate .subject li:nth-child(n+2) {
    margin-top: 6%;
  }
}

@media only screen and (max-width: 959px) {
  article.education section .subject li {
    margin-left: 2%;
    width: 49%;
  }
  article.education section .subject li:nth-child(2n+1) {
    margin-left: 0;
  }
  article.education section .subject li:nth-child(n+3) {
    margin-top: 2%;
  }
  article.education section .undergraduate {
    margin-bottom: 2em;
  }
}

/* --------------------------------------------------
	18. Region
-------------------------------------------------- */
@media all and (min-width: 740px), print {
  body.region #header .nav li.region a::after {
    width: 100%;
  }
}

@media only screen and (max-width: 739px) {
  body.region #header .nav li.region a {
    background-color: rgba(243, 186, 8, 0.5);
  }
}

#page-title.region::after {
  background-image: url(image/region/main_bg.jpg);
}

#page-title.region h1 {
  background-image: url(image/region/main_title.png);
}

article.region section .button {
  padding-top: 1em;
}

@media only screen and (max-width: 739px) {
  article.region section .button {
    text-align: center;
  }
}

article.region section .ul-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

article.region section .ul-link li {
  margin-left: 2%;
}

@media all and (min-width: 960px), print {
  article.region section .ul-link li {
    width: 23.5%;
  }
  article.region section .ul-link li:nth-child(4n+1) {
    margin-left: 0;
  }
  article.region section .ul-link li:nth-child(n+5) {
    margin-top: 2%;
  }
}

@media only screen and (min-width: 740px) and (max-width: 959px) {
  article.region section .ul-link li {
    width: 32%;
  }
  article.region section .ul-link li:nth-child(3n+1) {
    margin-left: 0;
  }
  article.region section .ul-link li:nth-child(n+4) {
    margin-top: 2%;
  }
}

@media only screen and (max-width: 739px) {
  article.region section .ul-link li {
    width: 49%;
  }
  article.region section .ul-link li:nth-child(2n+1) {
    margin-left: 0;
  }
  article.region section .ul-link li:nth-child(n+3) {
    margin-top: 4%;
  }
}

article.region section .ul-link a {
  color: #000;
}

/* --------------------------------------------------
	19. Contact
-------------------------------------------------- */
body.contact #header .banner li.contact a {
  background-color: #daa707;
}

#page-title.contact::after {
  background-image: url(image/contact/main_bg.jpg);
}

#page-title.contact h1 {
  background-image: url(image/contact/main_title.png);
}

@media all and (min-width: 740px), print {
  article.contact section .inner {
    max-width: 940px !important;
  }
}

article.contact section .message {
  margin-bottom: 2em;
}

article.contact section label {
  display: inline-block;
  margin-right: 1em;
  cursor: pointer;
}

article.contact section .required {
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  margin-left: 1em;
  padding: .25em .5em;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1;
  background-color: #e91c24;
}

@media all and (min-width: 740px), print {
  article.contact section input[name="fullname"] {
    width: 12em;
  }
}

@media only screen and (max-width: 739px) {
  article.contact section input[name="fullname"] {
    width: 98%;
  }
}

article.contact section input[name="zip"] {
  width: 8em;
}

@media all and (min-width: 740px), print {
  article.contact section input[name="kana"],
  article.contact section input[name="city"],
  article.contact section input[name="block"] {
    width: 20em;
  }
}

@media only screen and (max-width: 739px) {
  article.contact section input[name="kana"],
  article.contact section input[name="city"],
  article.contact section input[name="block"] {
    width: 98%;
  }
}

@media all and (min-width: 740px), print {
  article.contact section input[name="tel"] {
    width: 10em;
  }
}

@media only screen and (max-width: 739px) {
  article.contact section input[name="tel"] {
    width: 98%;
  }
}

article.contact section input[name="building"],
article.contact section input[name="email"],
article.contact section input[name="email_confirm"],
article.contact section textarea {
  width: 98%;
}

@media all and (min-width: 740px), print {
  article.contact section table th {
    width: 18em;
  }
}

article.contact section .errors {
  color: #e91c24;
}

article.contact section .privacy {
  margin: 2em auto .5em;
  padding: 2em 1em;
  max-width: 500px;
  text-align: center;
  background-color: #f3f5f7;
}

article.contact section .privacy input[type="checkbox"] {
  display: none;
  -webkit-appearance: checkbox;
  cursor: pointer;
}

article.contact section .privacy input[type="checkbox"] + span {
  position: relative;
  vertical-align: top;
  display: inline-block;
  padding-left: 30px;
}

article.contact section .privacy input[type="checkbox"] + span::before {
  position: absolute;
  left: 0;
  top: 4px;
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background-color: #fff;
  border: 1px solid #afafaf;
  border-radius: 2px;
}

article.contact section .privacy input[type="checkbox"]:checked + span::after {
  position: absolute;
  left: 8px;
  top: -2px;
  display: block;
  content: "";
  width: 12px;
  height: 22px;
  border-right: 3px solid #3266a2;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
  border-bottom: 3px solid #3266a2;
}

article.contact section .buttons {
  padding-top: 2em;
  text-align: center;
}

article.contact section .buttons form {
  display: inline-block;
}

article.contact section .buttons button {
  width: 12em;
  text-align: center;
}

article.contact section .buttons button.send {
  color: #fff !important;
  background-color: #13a3a1;
}

article.contact section .buttons button.send::after {
  border-color: #fff;
  background-image: url(image/icon_arrow_white.png) !important;
}

article.contact section .buttons button.send:hover {
  background-color: #16bab8;
}

article.contact section .buttons button[disabled] {
  color: gray !important;
  background-color: #ccc;
  border-color: transparent;
}

article.contact section .buttons button[disabled]::after {
  opacity: .5;
}

/* --------------------------------------------------
	20. Privacy
-------------------------------------------------- */
#page-title.privacy::after {
  background-image: url(image/privacy/main_bg.jpg);
}

#page-title.privacy h1 {
  background-image: url(image/privacy/main_title.png);
}

@media all and (min-width: 740px), print {
  article.privacy section .inner {
    max-width: 940px !important;
  }
}

/* --------------------------------------------------
	97. Error
-------------------------------------------------- */
#page-title.error::after {
  background-image: url(image/error/main_bg.jpg);
}

#page-title.error h1 {
  background-image: url(image/error/main_title.png);
}

@media all and (min-width: 740px), print {
  article.error section .inner {
    max-width: 940px !important;
  }
}

/* --------------------------------------------------
	98. WordPress
-------------------------------------------------- */
.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.alignleft {
  float: left;
}

.alignright {
  float: right;
}

img.aligncenter {
  margin: 0 auto 1.5em;
}

img.alignleft {
  margin: 0 1.5em 1em 0;
}

img.alignright {
  margin: 0 0 1em 1.5em;
}

/* --------------------------------------------------
	99. Print
-------------------------------------------------- */
@media print {
  * {
    -webkit-print-color-adjust: exact !important;
  }
  body {
    zoom: .8;
  }
}
