@charset "UTF-8";

/* elements
----------------------------------------------- */
html {
  height: 100%;
  font-size: 90%;
}

body {
  width: 100%;
  margin: 0 auto;
  line-height: 1.5;
  color: #333;
  font-size: 90%;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

h1,
h2,
h3,
h4,
h5 {
  font-size: 120%;
  font-weight: bold;
}

img {
  border-style: none;
  vertical-align: bottom;
}

strong {
  font-weight: bold;
}

pre {
  font-family: SimHei, "ＭＳ ゴシック", monospace;
}

table {
  border-collapse: collapse;
  border-spacing: 0px;
  empty-cells: show;
}

ul {
  list-style-type: none;
  list-style-position: outside;
}

li {
  list-style-position: outside;
}

blockquote:before {
  content: "”";
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 150%;
  font-weight: bold;
}

blockquote {
  position: relative;
  margin-bottom: 20px;
  padding: 25px 20px 20px;
  border: 1px solid #ccc;
  box-shadow: 0 5px 5px #f2f2f2;
}

em {
  font-style: italic;
  font-weight: bold;
}

sup {
  font-size: 70%;
  vertical-align: super;
}

sub {
  font-size: 70%;
  vertical-align: sub;
}

rp,
rt {
  font-size: 80%;
  text-decoration: none;
}

a {
  color: #003399;
  background-color: transparent;
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: underline;
}

a img[src$=".gif"]:hover,
a img[src$=".gif"]:focus,
a img[src$=".jpg"]:hover,
a img[src$=".jpg"]:focus,
a img[src$=".png"]:hover,
a img[src$=".png"]:focus {
  opacity: 0.9;
  filter: alpha(style=0, opacity=90);
}

/* midashi
----------------------------------------------- */
.body {
  padding: 0 15px;
}

.body .first-elm {
  margin-top: 0 !important;
}

.body h2,
.body h3,
.body h4,
.body h5 {
  margin-bottom: 15px;
  font-weight: bold;
}

.body h2 {
  margin-top: 30px;
  margin-left: -15px;
  margin-right: -15px;
  padding: 5px 15px;
  border-radius: 8px;
  background-color: #eee8db;
  font-size: 120%;
  text-decoration: none;
}

.body h3 {
  margin-top: 20px;
  padding: 5px 10px;
  border-left: 6px solid #0bbf00;
  font-size: 115%;
}

.body h4 {
  padding: 3px 10px;
  border-bottom: 1px dashed #ccc;
  font-size: 105%;
}

.body h5 {
  font-size: 110%;
  font-weight: bold;
}

.body p {
  margin-bottom: 1em;
}

.body p.indent {
  text-indent: 1em;
}

.body p.hanging-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.body p img {
  margin-bottom: 0;
}

.body img {
  margin-bottom: 10px;
}

.body img.external {
  margin: 0 0 0.25em 0.25em !important;
  vertical-align: bottom;
}

.body hr {
  height: 0px;
  border: none;
  border-bottom: 1px solid #ccc;
}

.body ul {
  margin: 0 15px 15px 2em;
  list-style-type: disc;
}

.body ul ul {
  list-style-type: circle;
}

.body ol {
  margin: 0 15px 15px 2.5em;
}

.body li {
  margin-bottom: 5px;
}

.body dl {
  margin: 5px 1em 15px;
}

.body dl dt {
  margin-top: 10px;
  font-weight: bold;
}

.body table {
  width: auto;
  max-width: 100%;
  margin: 0 0 15px;
  border: 1px solid #333;
}

.body table th,
.body table td {
  padding: 5px;
  border: 1px solid #333;
}

.body table th {
  background-color: #ffcccc;
  text-align: center;
}

.body table td.midashi {
  background-color: #fff4f4;
  text-align: center;
}

/*
.body strong {
  color: #000;
}
*/
/* 表のプロパティの行揃え */
.body table[align="center"] {
  margin-left: auto;
  margin-right: auto;
}

.body table[align="right"] {
  margin-left: auto;
  margin-right: 0;
}

.body table[align="left"] {
  margin-left: 0;
  margin-right: auto;
}

.body table caption {
  font-weight: bold;
  text-align: center;
}

.body th,
.body td {
  padding: 5px 20px 5px 0;
  vertical-align: middle;
  word-wrap: break-word;
}

.body th {
  text-align: left;
}

.body table p {
  margin-left: 0;
  padding: 0;
  text-indent: 0;
}

.body table ul,
.body table ol {
  margin: 0 0 5px 20px;
}

.pagination {
  text-align: center;
}

/* RSS Atom
---------------------- */
.feed {
  text-align: right;
}

.feed a {
  display: inline-block;
  /display: inline;
  /zoom: 1;
  padding: 0px 4px;
  background-color: #BF4500;
  color: #fff;
  font-size: 95%;
  text-decoration: none;
}

/* mceTmpl
----------------------------------------------- */
.mceTmpl:before,
.mceTmpl:after {
  content: "";
  display: table;
}

.mceTmpl:after {
  clear: both;
}

.mceTmpl {
  overflow: unset !important;
  zoom: 1;
}

.mceTmpl.first-elm h1,
.mceTmpl.first-elm h2,
.mceTmpl.first-elm h3 {
  margin-top: 0 !important;
}

/* clearfix
----------------------------------------------- */
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

/* pdf
-------------------------------------- */
h2 a.iconFile {
  padding: 6px 0 5px 22px;
  color: #fff;
}

h3 a.iconFile {
  padding: 6px 0 5px 22px;
  background-position: left 12px;
}

h4 a.iconFile {}

a.iconFile {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/ic-hanyo.gif);
  background-position: left 8px;
  background-repeat: no-repeat;
  display: inline-block;
  padding: 6px 0 5px 18px;
}

a.iconPdf {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/ic-pdf.gif);
}

a.iconDoc,
a.iconDocx {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/ic-word.gif);
}

a.iconJtd {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/ic-ichitarou.gif);
}

a.iconXls {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/ic-excel.gif);
}

/* =========================================================
  piece
========================================================= */
/*
#main .piece {
  margin-bottom: 20px;
}
*/

/* accessibility-tool
----------------------------------------------- */
#accessibilityTool {
  padding-bottom: 3px;
  background: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/bg-header_line.png) left bottom repeat-x #f2f2f2;
}

#accessibilityTool .pieceBody {
  width: 900px;
  margin: 0 auto;
  padding: 6px 0 3px;
  font-size: 12px;
  text-align: right;
}

#accessibilityTool rp,
#accessibilityTool rt {
  display: none;
}

/* block-skip
---------------------- */
#nocssread a {
  display: inline-block;
  /display: inline;
  /zoom: 1;
  vertical-align: middle;
  width: 0;
  height: 0;
  overflow: hidden;
}

#nocssread a:focus,
#nocssread a.show {
  width: auto;
  height: auto;
  padding: 0 10px;
}

/* tools
---------------------- */
#accessibilityTool a,
#accessibilityTool span,
#accessibilityTool ul {
  display: inline-block;
  /display: inline;
  /zoom: 1;
  color: #333;
  vertical-align: middle;
}

#accessibilityTool ul {
  display: inline-block;
  /display: inline;
  /zoom: 1;
}

#accessibilityTool ul {
  padding-bottom: 5px;
}

#accessibilityTool ul li {
  display: inline-block;
  /display: inline;
  /zoom: 1;
  margin-left: .1em;
  *margin-right: 3px;
  padding: 0;
  vertical-align: middle;
}

#accessibilityTool img {
  margin: 0 2px;
  vertical-align: middle;
}

/* font-size */
#accessibilityTool ul.fontSize {
  padding-bottom: 0;
}

#accessibilityTool .fontSize li a {
  display: block;
  height: 0;
  padding-top: 19px;
  overflow: hidden;
}

a#fontSmall {
  width: 46px;
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/text_s01.gif);
  background-repeat: no-repeat;
}

a#fontSmall:hover {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/text_s02.gif);
}

a#fontMiddle {
  width: 40px;
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/text_m01.gif);
  background-repeat: no-repeat;
}

a#fontMiddle:hover {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/text_m02.gif);
}

a#fontLarge {
  width: 46px;
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/text_l01.gif);
  background-repeat: no-repeat;
}

a#fontLarge:hover {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/text_l02.gif);
}

/* theme-color */
#accessibilityTool .themeColor li a {
  display: block;
  width: 17px;
  height: 0;
  padding-top: 19px;
  overflow: hidden;
}

#themeBlack {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/bg-black.gif);
  background-repeat: no-repeat;
}

#themeBlue {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/bg-blue.gif);
  background-repeat: no-repeat;
}

#themeWhite {
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/default/bg-white.gif);
  background-repeat: no-repeat;
}

/* navigationNotice
----------------------------------------------- */
#navigationNotice {
  width: 100%;
  padding: 5px 0;
  background-color: #dddddd;
  font-weight: bold;
  text-align: center;
}

#commonHeader+#navigationNotice {
  display: none;
}

/* yomiage
----------------------------------------------- */
#navigationTalkPlayer {
  position: absolute;
}

#navigationTalkPlayer audio {
  position: relative;
  top: 30px;
  left: -55px;
}

/*
*html #navigationTalkPlayer audio {
  top: 30px;
}
#navigationTalkPlayer:not(\*|*) {
  position: absolute;
}
#navigationTalkPlayer audio:not(\*|*) {
  position: relative;
  top: 30px;
  left: -55px;
}
html:first-child #navigationTalkPlayer {
  position: absolute;
}
html:first-child #navigationTalkPlayer audio {
  position: relative;
  top: 30px;
  left: -55px;
}
*/

/* common-header
----------------------------------------------- */
#commonHeader {
  width: 900px;
  margin: 0 auto;
  padding: 15px 0;
}

#commonHeader h1 {
  float: left;
  margin-top: 15px;
}

#commonHeader h1 a {
  display: block;
  width: 470px;
  height: 56px;
}

#commonHeader h1 a ruby {
  display: none;
}

#commonHeader .menu {
  float: right;
  text-align: right;
  font-size: 14px !important;
}

#commonHeader .upperMenu a {
  display: inline-block;
  margin-bottom: 10px;
  padding: 7px 10px 7px 25px;
  border: 1px solid #b3b3b3;
  background: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/ic-aroww_gry.png) 10px center no-repeat;
  color: #333;
}

#commonHeader .lowerMenu ul li {
  display: inline-block;
  margin-left: 10px;
  padding: 1px 0 1px 10px;
  background: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/ic-aroww.png) left 0.45em no-repeat;
  vertical-align: middle;
}

#commonHeader .lowerMenu ul li a {
  color: #333;
}

/* global-navi
----------------------------------------------- */
#globalNavi {
  width: 900px;
  margin: 0 auto 15px;
}

#page-schools-tokubetsuShien-index #globalNavi {
  margin: 0 auto 30px;
}

#globalNavi ul {
  display: flex;
}

#globalNavi li {
  /*
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  */
  flex-basis: 150px;
  box-sizing: border-box;
}

#globalNavi ul li:before,
#globalNavi ul li:last-child:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -15px;
  display: block;
  width: 1px;
  height: 30px;
  background: #ccc;
}

#globalNavi ul li:last-child:after {
  left: auto;
  right: 0 !important;
}

#globalNavi ul li {
  position: relative;
}

#globalNavi ul li a {
  display: block;
  margin: 0 10px;
  padding: 5px 3px 10px;
  border-radius: 10px;
  color: #333;
  font-size: 105%;
  font-weight: normal;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.35s ease 0s, color 0.35s ease 0s;
}

#globalNavi ul li a:hover,
#globalNavi ul li.current a,
body[id^="page-schools-tokubetsuShien-oshirase"] #globalNavi ul li.navi1 a,
body[id^="page-schools-tokubetsuShien-docs"] #globalNavi ul li.navi1 a,
body[id^="page-schools-tokubetsuShien-event"] #globalNavi ul li.navi1 a,
body[id^="page-schools-tokubetsuShien-info"] #globalNavi ul li.navi1 a,
body[id^="page-schools-tokubetsuShien-parents"] #globalNavi ul li.navi1 a,
body[id^="page-schools-tokubetsuShien-intro"] #globalNavi ul li.navi2 a,
body[id^="page-schools-tokubetsuShien-research"] #globalNavi ul li.navi3 a,
body[id^="page-schools-tokubetsuShien-consult"] #globalNavi ul li.navi4 a,
body[id^="page-schools-tokubetsuShien-training"] #globalNavi ul li.navi5 a,
body[id^="page-schools-tokubetsuShien-suginoko"] #globalNavi ul li.navi6 a,
/* new */
body[id^="page-schools-tokubetsuShien-info"] #globalNavi ul li.navi01 a,
body[id^="page-schools-tokubetsuShien-intro"] #globalNavi ul li.navi02 a,
body[id^="page-schools-tokubetsuShien-research"] #globalNavi ul li.navi03 a,
body[id^="page-schools-tokubetsuShien-consult"] #globalNavi ul li.navi04 a,
body[id^="page-schools-tokubetsuShien-training"] #globalNavi ul li.navi05 a,
body[id^="page-schools-tokubetsuShien-suginoko"] #globalNavi ul li.navi06 a,
body[id^="page-schools-tokubetsuShien-katsudou"] #globalNavi ul li.navi07 a,
body[id^="page-schools-tokubetsuShien-career"] #globalNavi ul li.navi08 a,
body[id^="page-schools-tokubetsuShien-news"] #globalNavi ul li.navi09 a,
body[id^="page-schools-tokubetsuShien-bosai"] #globalNavi ul li.navi10 a,
body[id^="page-schools-tokubetsuShien-steamic"] #globalNavi ul li.navi11 a {
  background-color: #e4f5ff;
}

#sideMenu .pieceBody ul li a {
  position: relative;
  padding-left: 36px;
  /* 三角の分 */
  display: block;
}

#sideMenu .pieceBody ul li a::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 2px solid #2aa86f;
  border-bottom: 2px solid #2aa86f;
  transform: translateY(-50%) rotate(-45deg);
  /* ▶ っぽい矢印 */
}

#globalNavi ul li a span {
  display: block;
  margin-top: 5px;
}

/* common-footer
----------------------------------------------- */
#commonFooter {
  position: relative;
  width: 900px;
  margin: 0 auto;
  padding: 20px 0 80px;
  border-top: 1px solid #b3b3b3;
}

#commonFooter .address span {
  display: block;
  margin-bottom: 5px;
}

#commonFooter .copy {
  position: absolute;
  right: 0;
  bottom: 80px;
  font-size: 90%;
}

/* bread-crumbs
----------------------------------------------- */
#breadCrumbs {
  width: 900px;
  margin: 25px auto;
}

#breadCrumbs ol,
#breadCrumbs li {
  list-style: none;
}

#breadCrumbs li {
  display: inline-block;
  margin: 0;
}

#breadCrumbs li:not(:first-child):before {
  content: ">";
  margin: 0 4px 0 3px;
}

/* page-title
----------------------------------------------- */
#pageTitle .pieceBody {
  margin-bottom: 15px;
  border-bottom: 3px solid #47ba91;
}

#pageTitle .pieceBody h1 {
  font-size: 145%;
  font-weight: bold;
}

/* side-menu
----------------------------------------------- */
#sideMenu {
  margin-bottom: 20px;
  border: 1px solid #ccc;
}

#sideMenu li {
  border-bottom: 1px dotted #ccc;
}

#sideMenu li:last-child {
  border-bottom: none;
}

#sideMenu li a {
  display: block;
  padding: 15px 5px 15px 30px;
  background: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/ic-aroww.png) 12px 20px no-repeat;
  color: #333;
}

#sideMenu .pieceBody>ul>li.current>a {
  background-color: #e5f5ff;
}

#sideMenu li li.current a {
  color: #e00;
}

#sideMenu li li {
  border-bottom: none;
}

#sideMenu li li a {
  padding: 5px 5px 5px 40px;
  background-position: 25px 10px;
}

#sideMenu li ul {
  display: none;
}

body[id^="page-schools-tokubetsuShien-parents-all-"] #sideMenu li ul.all,
body[id^="page-schools-tokubetsuShien-parents-sho-"] #sideMenu li ul.sho,
body[id^="page-schools-tokubetsuShien-parents-chu-"] #sideMenu li ul.chu,
body[id^="page-schools-tokubetsuShien-parents-kou-"] #sideMenu li ul.kou {
  display: block;
}

/* attention
----------------------------------------------- */
#attention {
  width: 900px;
  margin: 0 auto 20px;
  padding: 10px;
  box-sizing: border-box;
  background: #fff2cc;
  text-align: center;
}

#attention a {
  font-size: 150%;
}

/* keyvisual
----------------------------------------------- */
#keyvisual {
  width: 900px;
  margin: 0 auto;
  padding-bottom: 50px;
}

/* ===== keyvisual: Swiper ナビ・ドットをグリーンに統一 ===== */
:root {
  --kv-green: #2fa34a;
  /* ここを周りの緑に合わせて微調整 */
}

/* 矢印（左右） */
#keyvisual .swiper-button-prev,
#keyvisual .swiper-button-next {
  color: var(--kv-green) !important;
  /* Swiper矢印は color */
}

/* 矢印の太さ/視認性UP（必要なら） */
#keyvisual .swiper-button-prev::after,
#keyvisual .swiper-button-next::after {
  font-size: 44px;
  /* 矢印サイズ */
  font-weight: 900;
  /* 見た目を太く */
}

/* ドット（通常） */
#keyvisual .swiper-pagination-bullet {
  background: var(--kv-green) !important;
  opacity: .35;
  /* 非アクティブは薄く */
}

/* ドット（アクティブ） */
#keyvisual .swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.15);
}

/* visitor-menu
----------------------------------------------- */
#visitorMenu {
  margin-bottom: 30px;
}

#visitorMenu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#visitorMenu li {
  flex-basis: 210px;
  margin-top: 15px;
}

#visitorMenu li:nth-child(-n+3) {
  margin-top: 0;
}

#visitorMenu li a {
  display: block;
}

/* recent-docs
----------------------------------------------- */
#recentDocs {
  position: relative;
  margin-bottom: 20px;
}

#recentDocs .pieceHeader {
  margin-bottom: 15px;
  border-bottom: 3px solid #47ba91;
}

#recentDocs .pieceHeader h2 {
  font-size: 145%;
  font-weight: bold;
}

#recentDocs .pieceBody .feed {
  position: absolute;
  top: 5px;
  right: 0;
}

#recentDocs .pieceBody li {
  margin-bottom: 15px;
}

#recentDocs .pieceBody li:last-child {
  margin-bottom: 30px;
}

#recentDocs .pieceBody li span.separator,
#recentDocs .pieceBody li span.unit {
  display: none;
}

#recentDocs .pieceBody .links a {
  display: block;
  padding: 10px 0;
  background: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/ic-aroww_gry.png) 12px center no-repeat #f2f2f2;
  color: #333;
  text-align: center;
}

/* top-katsudo
----------------------------------------------- */
#topKatsudo .pieceHeader {
  margin-bottom: 15px;
  border-bottom: 3px solid #47ba91;
}

#topKatsudo .pieceHeader h2 {
  font-size: 145%;
  font-weight: bold;
}

/* top-menu
----------------------------------------------- */
#topMenu .pieceBody ul li {
  margin-bottom: 15px;
}

#topMenu .pieceBody ul li:last-child {
  margin-bottom: 25px;
}

/* calendarDailyLinks
----------------------------------------------- */
#calendarDailyLinks {
  padding: 10px;
  border-radius: 5px;
  background-image: url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/ic-calendar.png), url(https://www.naruto-u.ac.jp/schools/tokubetsu-shien/wp-content/themes/naruto-tokushi/images/ic-calendar.png);
  background-position: left 7px top 5px, right 5px top 7px;
  background-repeat: no-repeat;
  background-color: #eee8db;
}

#calendarDailyLinks .pieceHeader h2 {
  margin-bottom: 5px;
  font-size: 105%;
  font-weight: bold;
  text-align: center;
}

#calendarDailyLinks .pieceBody {
  padding: 12px;
  background-color: #fff;
}

#calendarDailyLinks .pieceBody .month {
  margin-bottom: 5px;
  font-size: 105%;
  font-weight: normal;
  text-align: center;
}

#calendarDailyLinks .pieceBody .calendar .wdays:before,
#calendarDailyLinks .pieceBody .calendar .wdays:after,
#calendarDailyLinks .pieceBody .calendar .days .week:before,
#calendarDailyLinks .pieceBody .calendar .days .week:after {
  content: "";
  display: table;
}

#calendarDailyLinks .pieceBody .calendar .wdays:after,
#calendarDailyLinks .pieceBody .calendar .days .week:after {
  clear: both;
}

#calendarDailyLinks .pieceBody .calendar .wdays,
#calendarDailyLinks .pieceBody .calendar .days .week {
  zoom: 1;
}

#calendarDailyLinks .calendar .wdays .wday,
#calendarDailyLinks .calendar .days .day {
  display: block;
  float: left;
  width: 14.28%;
  padding: 3px 2px;
  text-align: center;
  box-sizing: border-box;
}

#calendarDailyLinks .calendar .wdays .wday.sun {
  background-color: #fee7f1;
  color: #e90000;
}

#calendarDailyLinks .calendar .wdays .wday.sat {
  background-color: #e5f6fd;
  color: #3666f8;
}

#calendarDailyLinks .calendar .days .day.sun {
  background-color: #fee7f1;
  color: #e90000;
}

#calendarDailyLinks .calendar .days .day.holiday {
  color: #e90000;
}

#calendarDailyLinks .calendar .days .day.sat {
  background-color: #e5f6fd;
  color: #3666f8;
}

#calendarDailyLinks .calendar .days .day.prevMonth,
#calendarDailyLinks .calendar .days .day.nextMonth {
  text-indent: -9999px;
}

#calendarDailyLinks .calendar .days a.day {
  text-decoration: underline;
}

#calendarDailyLinks .links {
  margin-top: 10px;
}

/* calendarMonthlyLinks
----------------------------------------------- */
#calendarMonthlyLinks .pieceHeader h2 {
  margin-bottom: 10px;
  padding: 5px 10px;
  border-left: 6px solid #47ba91;
  font-size: 115%;
  font-weight: bold;
}

#calendarMonthlyLinks ul li .year {
  display: block;
  margin: 5px 0;
  padding-left: 5px;
  border-bottom: 2px solid #ccc;
  color: #333;
}

#calendarMonthlyLinks ul li .month:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  width: 0;
  height: 0;
  margin-top: -5px;
  border-left: 5px solid #47ba91;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

#calendarMonthlyLinks ul li .month {
  position: relative;
  display: block;
  padding: 3px 3px 3px 20px;
  color: #333;
}

#calendarMonthlyLinks ul li .month:hover {
  background-color: #e5f5ff;
}

/* =========================================================
  content
========================================================= */

/* contentArticleDocs, contentArticleRecentDocs
----------------------------------------------- */
.contentArticleRecentDocs {
  position: relative;
}

.contentArticleRecentDocs .feed {
  position: absolute;
  top: -47px;
  right: 0;
}

.contentArticleDocs .docs h2.date,
.contentArticleRecentDocs .docs h2.date {
  padding: 5px 15px;
  border-radius: 8px;
  background-color: #eee8db;
  font-size: 120%;
  text-decoration: none;
}

.contentArticleDocs .docs ul,
.contentArticleRecentDocs .docs ul {
  margin-bottom: 20px;
  padding: 0 10px;
}

.contentArticleDocs .docs li,
.contentArticleRecentDocs .docs li {
  padding: 10px;
  border-bottom: 1px dotted #ccc;
}

.contentArticleDocs .docs li span.attributes,
.contentArticleRecentDocs .docs li span.attributes {
  display: none;
}

/* contentArticleDoc
----------------------------------------------- */
.contentArticleDoc .header {
  margin-bottom: 35px;
  border-bottom: 3px solid #47ba91;
}

.contentArticleDoc .header h1 {
  margin-bottom: 10px;
  font-size: 145%;
  font-weight: bold;
}

.contentArticleDoc .header .publishedAt {
  padding: 0 10px 10px;
  text-align: right;
}

.contentArticleDoc .body,
.contentArticleDoc .maps,
.contentArticleDoc .rels,
.contentArticleDoc .tags {
  margin: 0 0 30px;
}

.contentArticleDoc .maps h2,
.contentArticleDoc .rels h2,
.contentArticleDoc .tags h2 {
  margin-bottom: 15px;
  padding: 5px 15px;
  border-radius: 8px;
  background-color: #eee8db;
  font-size: 120%;
  text-decoration: none;
}

.contentArticleDoc .maps h3 {
  margin: -5px 0 5px;
  font-weight: normal;
}

.contentArticleDoc .rels ul,
.contentArticleDoc .tags div {
  padding: 0 15px;
}

.contentArticleDoc .rels li,
.contentArticleDoc .tags div a {
  position: relative;
  display: inline-block;
  /display: inline;
  /zoom: 1;
  margin: 0 15px 3px 0;
  padding-left: 12px;
}

.contentArticleDoc .rels li:before,
.contentArticleDoc .tags div a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 0;
  margin-top: -5px;
  border-left: 5px solid #47ba91;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

/* address
----------------------------------------------- */
.inquiry {
  padding-bottom: 15px;
  border: 1px solid #ccc;
  background-color: #fff;
}

.inquiry h2 {
  margin-bottom: 15px;
  padding: 10px;
  background-color: #f2f2f2;
  font-size: 135%;
  font-weight: normal;
  line-height: 1.1;
}

.inquiry>div {
  margin-left: 15px;
}

.tel,
.fax,
.email {
  display: inline;
}

.department,
.section {
  font-weight: bold;
}

/* back
----------------------------------------------- */
.back {
  clear: both;
  margin: 40px auto 0;
  text-align: center;
}

.back a {
  display: inline-block;
  /display: inline;
  /zoom: 1;
  padding: 8px 70px;
  border: 1px solid #ccc;
  background: #ffffff;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ffffff 0%, #f2f2f2 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f2f2f2', GradientType=0);
  /* IE6-9 */
}

/* contentArticleTags
----------------------------------------------- */
.contentArticleTags .search {
  margin: 0 0 20px;
  border: 1px solid #ccc;
  background-color: #f2f2f2;
}

.contentArticleTags .search th {
  padding: 0 15px 0;
}

.contentArticleTags .search th,
.contentArticleTags .search td {
  padding: 15px;
}

.contentArticleTags .search .submitters input {
  padding: 2px 10px;
  cursor: pointer;
}

.contentArticleTags .hit {
  padding: 5px 15px;
  border-radius: 8px;
  background-color: #eee8db;
  font-size: 120%;
  text-decoration: none;
}

.contentArticleTags li {
  padding: 10px;
  border-bottom: 1px dashed #ccc;
}

/* calendarEvents
----------------------------------------------- */
.calendarEvents h2 {
  margin-bottom: 15px;
  padding: 5px 15px;
  border-radius: 8px;
  background-color: #eee8db;
  font-size: 120%;
  text-decoration: none;
}

.calendarEvents .pagination {
  margin-bottom: 15px;
  padding-right: 5px;
  text-align: right;
}

.calendarEvents .pagination.lowerPagination {
  margin-top: 15px;
  margin-bottom: 0;
}

/* event_list 日別一覧 */
.calendarEvents div.date {
  border-bottom: 1px solid #b3b3b3;
}

.calendarEvents div.date:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

.calendarEvents div.date .day {
  float: left;
  width: 8em;
  height: 35px;
  margin-right: 10px;
  padding-top: 13px;
  padding-left: 15px;
}

.calendarEvents div.date .sat {
  color: #3366ff;
}

.calendarEvents div.date .sun,
.calendarEvents div.date .holiday {
  color: #ff0000;
}

.calendarEvents div.date .events {
  padding-top: 13px;
  padding-bottom: 13px;
  overflow: hidden;
}

.calendarEvents div.date .events li {
  display: inline-block;
  list-style-type: none;
}

.calendarEvents div.date .events li:after {
  content: ",";
}

.calendarEvents div.date .events li:last-child:after {
  content: "";
}

.calendarEvents div.date .events li a {
  text-decoration: underline;
}

/* contentPage
----------------------------------------------- */
.body .normal-box {
  margin-bottom: 2em;
  padding: 25px 20px 20px;
  border: 1px solid #ccc;
  box-shadow: 0 5px 5px #f2f2f2;
  background-color: #fff;
}

.body .img-box:before,
.body .img-box:after {
  content: "";
  display: table;
}

.body .img-box:after {
  clear: both;
}

.body .img-box {
  zoom: 1;
}

.body .img-box {
  display: table;
  display: block\9;
  width: 100%;
  margin: 2em 0;
  padding: 10px;
  border: 1px solid #ccc;
  box-shadow: 0 5px 5px #f2f2f2;
  background-color: #fff;
  box-sizing: border-box;
}

.body .normal-box .img-box {
  margin: 2em 1em;
}

.body .img-box img {
  display: table-cell;
  display: block\9;
  float: left\9;
  margin: 0 15px 0 0;
  vertical-align: middle;
}

.body .img-box p {
  display: table-cell;
  display: block\9;
  width: 100%;
  width: auto\9;
  margin: 0;
  margin: 1em 0 0\9;
  vertical-align: middle;
}

.body .qa-box {
  margin: 2em 0;
  padding: 15px 20px 10px;
  border: 1px solid #ccc;
  box-shadow: 0 5px 5px #f2f2f2;
  background-color: #fff;
}

.body .qa-box dt {
  position: relative;
  top: -28px;
  display: inline-block;
  margin: 0;
  padding: 0 10px;
  background-color: #fff;
  font-weight: bold;
}

.body .qa-box dd {
  position: relative;
  top: -15px;
  padding-left: 10px;
}

/* intro */
.body table.timetable {
  width: 100%;
  table-layout: fixed;
}

/* tableWrap */
.body .tableWrap {
  width: 100%;
  overflow-y: hidden;
  overflow-x: auto;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-overflow-scrolling: touch;
}

.body .tableWrap table {
  width: 150% !important;
  max-width: none;
}

/* CKEditor templates
----------------------------------------------- */
.temp1,
.temp2,
.temp3,
.temp4 {
  clear: both;
  margin-bottom: 20px;
}

.temp1 .thumb {
  float: left;
  margin-bottom: 10px;
  margin-right: 20px;
}

.temp1 ul,
.temp1 ol {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
}

.temp2 .thumb {
  float: right;
  margin-bottom: 10px;
  margin-left: 20px;
}

.temp3,
.temp4 {
  text-align: center;
}

.temp3 dl,
.temp4 dl {
  display: inline-block;
  margin: 0 5px;
  vertical-align: bottom;
}

.temp3 dl {
  max-width: 48%;
}

.temp4 dl {
  max-width: 31%;
}

.temp3 dl dt,
.temp4 dl dt {
  margin-bottom: 10px;
  text-align: center;
}

.temp3 dl dd,
.temp4 dl dd {
  text-align: center;
}

table.temp5 {
  width: 100%;
}

.temp7 {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #ffaaaa;
  background-color: #fff3f3;
}

.temp7 p {
  margin: 0 0 10px;
}

/* ===== ファイルブロック全体を整形（ファイル名 + ボタン） ===== */
.wp-block-file {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  /* 画面が狭い時に折り返す */
  margin: 12px 0 18px;
}

/* ファイル名リンク（左の R2kenkyuannai など） */
.wp-block-file>a:not(.wp-block-file__button) {
  font-weight: 700;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  /* 長いファイル名でも崩れない */
  white-space: nowrap;
}

/* ダウンロードボタン */
.wp-block-file__button {
  appearance: none;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  /* ここをブランドカラーにしてもOK */
  color: #fff;
  transition: transform .08s ease, opacity .2s ease;
}

/* ホバー */
.wp-block-file__button:hover {
  opacity: .9;
  transform: translateY(-1px);
}

/* フォーカス（アクセシビリティ） */
.wp-block-file__button:focus-visible {
  outline: 3px solid rgba(0, 0, 0, .25);
  outline-offset: 3px;
}

/* モバイルは縦積みにしたい場合 */
@media (max-width: 520px) {
  .wp-block-file {
    align-items: stretch;
  }

  .wp-block-file>a:not(.wp-block-file__button) {
    white-space: normal;
  }

  .wp-block-file__button {
    width: 100%;
    justify-content: center;
  }
}

/* ===== ページ下部リンクボタン（スクショ寄せ） ===== */
/* ===== ページ下部リンクボタン（横並び） ===== */
.page-links {
  margin: 48px 0 20px;
  display: flex;
  flex-direction: row;
  /* ← 横並び */
  justify-content: center;
  /* 中央寄せ */
  align-items: center;
  gap: 28px;
  /* ボタン間の余白 */
  flex-wrap: wrap;
  /* 画面が狭い時は折り返し */
}

.page-links__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 420px;
  /* 横並び時はやや細め推奨 */
  max-width: 46%;
  /* 2つ横並びに収まるように */
  height: 72px;

  border: 1px solid #bfbfbf;
  border-radius: 0;
  background: #fff;

  color: #0b45c8;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .02em;

  transition: background .15s ease, opacity .15s ease;
}

.page-links__btn:hover {
  background: #f6f6f6;
}

/* スマホだけ縦並びに戻す */
@media (max-width: 768px) {
  .page-links {
    flex-direction: column;
    gap: 16px;
  }

  .page-links__btn {
    width: 340px;
    max-width: 90%;
    height: 54px;
  }
}