@charset "UTF-8";
/******************************************************************

Site Name: 京都教育申博_申博sunbet官网-彩客网手机版推荐附属図書館
Author: M.Tonomura LeapIn Corp.

******************************************************************/
/*********************
IMPORTING PARTIALS/
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.

*********************/
@import url('https://www.kyokyo-u.ac.jp/library/assets_c/css/normalize.min.css');
@import url('https://www.kyokyo-u.ac.jp/library/assets_c/css/jquery.bxslider.min.css');
/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/******************************************************************
Site Name:
Author:

Stylesheet: Typography

Need to import a font or set of icons for your site? Drop them in
here or just use this to establish your typographical grid. Or not.
Do whatever you want to...GOSH!

Helpful Articles:
http://trentwalton.com/2012/06/19/fluid-type/
http://ia.net/blog/responsive-typography-the-basics/
http://alistapart.com/column/responsive-typography-is-a-physical-discipline

******************************************************************/
/*********************
FONT FACE (IN YOUR FACE)
*********************/
/*  To embed your own fonts, use this syntax
  and place your fonts inside the
  library/fonts folder. For more information
  on embedding fonts, go to:
  http://www.fontsquirrel.com/
  Be sure to remove the comment brackets.
*/
/*
The following is based of Typebase:
https://github.com/devinhunt/typebase.css
I've edited it a bit, but it's a nice starting point.
*/
/*
   i imported this one in the functions file so bones would look sweet.
   don't forget to remove it for your site.
  */
/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
}

span, p, pre, a, li {
  line-height: 1.5;
  text-align: justify;
  letter-spacing: 0.01em;
}

p, pre {
  padding: 0 1em;
}

.underline {
  position: relative;
  margin-bottom: 40px;
}

.underline::after {
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  content: "";
  height: 2px;
  width: 50px;
  background-color: #a9a9a9;
}

.t_bold {
  font-weight: 600;
}

.t_smaller {
  font-size: 1.1rem;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Grid Stylesheet

I've seperated the grid so you can swap it out easily. It's
called at the top the style.scss stylesheet.

There are a ton of grid solutions out there. You should definitely
experiment with your own. Here are some recommendations:

http://gridsetapp.com - Love this site. Responsive Grids made easy.
http://susy.oddbird.net/ - Grids using Compass. Very elegant.
http://gridpak.com/ - Create your own responsive grid.
https://github.com/dope/lemonade - Neat lightweight grid.


The grid below is a custom built thingy I modeled a bit after
Gridset. It's VERY basic and probably shouldn't be used on
your client projects. The idea is you learn how to roll your
own grids. It's better in the long run and allows you full control
over your project's layout.

******************************************************************/
.last-col {
  float: right;
  padding-right: 0 !important;
}

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .m-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .m-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .m-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .m-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .m-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
}

/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .t-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .t-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .t-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .t-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .t-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .t-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .t-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .t-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .t-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
}

/* Landscape to small desktop */
@media (min-width: 1024px) {
  .d-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .d-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .d-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .d-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .d-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .d-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .d-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .d-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .d-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .d-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
  .d-1of6 {
    float: left;
    padding-right: 0.75em;
    width: 16.6666666667%;
  }
  .d-1of7 {
    float: left;
    padding-right: 0.75em;
    width: 14.2857142857%;
  }
  .d-2of7 {
    float: left;
    padding-right: 0.75em;
    width: 28.5714286%;
  }
  .d-3of7 {
    float: left;
    padding-right: 0.75em;
    width: 42.8571429%;
  }
  .d-4of7 {
    float: left;
    padding-right: 0.75em;
    width: 57.1428572%;
  }
  .d-5of7 {
    float: left;
    padding-right: 0.75em;
    width: 71.4285715%;
  }
  .d-6of7 {
    float: left;
    padding-right: 0.75em;
    width: 85.7142857%;
  }
  .d-1of8 {
    float: left;
    padding-right: 0.75em;
    width: 12.5%;
  }
  .d-1of9 {
    float: left;
    padding-right: 0.75em;
    width: 11.1111111111%;
  }
  .d-1of10 {
    float: left;
    padding-right: 0.75em;
    width: 10%;
  }
  .d-1of11 {
    float: left;
    padding-right: 0.75em;
    width: 9.09090909091%;
  }
  .d-1of12 {
    float: left;
    padding-right: 0.75em;
    width: 8.33%;
  }
}

/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
hr {
  border: none;
  height: 1px !important;
  border-top-style: dashed;
  border-top-width: 1px;
  width: 100%;
}

form {
  display: inline-block;
}

.smenu_cat {
  display: none;
}

.header {
  width: 100%;
}

.header-inner {
  position: relative;
}

.header-bar {
  position: relative;
  width: 100%;
}

.header-bar-inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1365px;
  margin: 0 auto;
}

.header-main {
  position: relative;
  width: 100%;
  height: 400px;
}

.header-main .bx-wrapper {
  margin: 0 !important;
  border: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.header-main .header-content {
  position: relative;
  width: 100% !important;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.header-slider {
  position: relative;
  width: 100%;
  height: 400px;
}

.smenu_wrap {
  position: relative;
  width: 100%;
  -webkit-box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.3);
  margin-bottom: 8px;
  min-height: 133px;
}

.smenu_wrap > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.smenu_wrap > div {
  position: relative;
  text-align: right;
  min-height: 119px;
  height: 100%;
}

.smenu_wrap > div .smenu_header {
  height: 20px;
  margin-top: -1px;
  color: #fff;
  text-align: left;
  padding-left: 5px;
  font-size: smaller;
}

.smenu_wrap > div .smenu_main {
  min-height: 91px;
  position: relative;
  text-align: left;
  font-size: medium;
}

.smenu_wrap > div .smenu_main strong {
  position: absolute;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 14px;
  padding-left: 25px;
  font-size: medium;
}

.smenu_wrap > div .smenu_main strong::before {
  content: '';
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.smenu_wrap > div .smenu_links {
  display: inline-block;
  position: absolute;
  bottom: 2px;
  right: 0;
  z-index: 2;
  padding: 0px 10px;
  margin-bottom: 3px;
  text-align: right;
}

.smenu_wrap > div .smenu_links > a {
  font-weight: 600;
  font-size: small;
  color: #000;
}

.smenu_wrap > div .smenu_links > a.smenu_sub {
  /*background: -moz-linear-gradient(50% 0% -9180deg, rgba(255, 255, 200, 1) 0%, rgba(245, 246, 64, 1) 100%);*/
  background: -ms-linear-gradient(-9180deg, #ffffc8 0%, #f5f640 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFC8', endColorstr='#F5F640' ,GradientType=0)";
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffc8), to(#f5f640));
  background: linear-gradient(18180deg, #ffffc8 0%, #f5f640 100%);
  border-style: solid;
  border-color: #c6cd21;
  border-color: #c6cd21;
  border-width: 1px;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFC8', endColorstr='#F5F640', GradientType=0);
  -webkit-box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.3);
  border-radius: 4px;
  text-align: center;
  padding: 2px 10px;
}

.smenu_wrap > div .smenu_links > a:hover {
  text-decoration: none;
}

.news-meta {
  margin-bottom: 8px;
}

.news-meta > span, .news-meta > p, .news-meta > pre {
  position: relative;
  vertical-align: middle;
}

.news-meta > span.news-date, .news-meta > p.news-date, .news-meta > pre.news-date {
  margin-right: 9px;
}

.news-meta > span.news_blog, .news-meta > p.news_blog, .news-meta > pre.news_blog {
  border-radius: 4px;
  font-size: small;
  padding: 1px 9px;
  display: block;
}

img[usemap] {
  max-width: 100%;
  height: auto;
}

body.archive .pagenator {
  text-align: center;
  background-color: white;
  padding: 1rem;
}

body.archive .pagenator li {
  display: inline-block;
  list-style: none;
}

.tab-wrap {
  -webkit-transition: 0.3s -webkit-box-shadow ease;
  transition: 0.3s -webkit-box-shadow ease;
  transition: 0.3s box-shadow ease;
  transition: 0.3s box-shadow ease, 0.3s -webkit-box-shadow ease;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  list-style: none;
  background-color: #fff;
  margin: 3rem 0;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tab {
  display: none;
}

.tab:checked:nth-of-type(1) ~ .tab__content:nth-of-type(1) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(2) ~ .tab__content:nth-of-type(2) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(3) ~ .tab__content:nth-of-type(3) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(4) ~ .tab__content:nth-of-type(4) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(5) ~ .tab__content:nth-of-type(5) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(6) ~ .tab__content:nth-of-type(6) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(7) ~ .tab__content:nth-of-type(7) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(8) ~ .tab__content:nth-of-type(8) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(9) ~ .tab__content:nth-of-type(9) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:checked:nth-of-type(10) ~ .tab__content:nth-of-type(10) {
  opacity: 1;
  position: relative;
  top: 0;
  z-index: 100;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  text-shadow: 0 0 0;
}

.tab:not(:first-of-type):not(:last-of-type) + label {
  border-radius: 0;
}

.tab:checked + label {
  background-color: #2d61e9;
  -webkit-box-shadow: 0 1px 0 #f4f4f4 inset;
          box-shadow: 0 1px 0 #f4f4f4 inset;
  color: white;
  cursor: default;
}

.tab:checked + label:hover {
  background-color: #2d61e9;
}

.tab + label {
  -webkit-box-flex: 3;
      -ms-flex-positive: 3;
          flex-grow: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid white;
}

@media (min-width: 768px) {
  .tab + label {
    width: auto;
  }
}

.tab + label:hover {
  background-color: #f9f9f9;
  -webkit-box-shadow: 0 1px 0 #f4f4f4 inset;
          box-shadow: 0 1px 0 #f4f4f4 inset;
}

.tab__content {
  padding: 4rem 2rem;
  background-color: transparent;
  position: absolute;
  width: 100%;
  z-index: -1;
  opacity: 0;
  left: 0;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Base Mobile Stylesheet

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible. This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
/*********************
GENERAL STYLES
*********************/
* {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-print-color-adjust: exact;
}

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

html {
  font-size: 62.5%;
}

body {
  font-family: "ヒラギノ角ゴ Pro", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: justify;
  color: #444444;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  visibility: hidden;
}

a,
a:visited {
  /* on hover */
  /* on click */
  /* mobile tap color */
}

a:link,
a:visited:link {
  /*
    this highlights links on iPhones/iPads.
    so it basically works like the :hover selector
    for mobile devices.
    */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

.content-width, .content-inner {
  max-width: 96%;
  margin: 0 auto;
}

.bx-wrapper .bx-next,
.bx-wrapper .bx-prev {
  display: none;
}

p {
  padding: initial;
}

p + h1,
ol + h1,
ul + h1,
blockquote + h1,
a + h1,
img + h1 {
  margin-top: 7rem;
}

p + h2,
ol + h2,
ul + h2,
blockquote + h2,
a + h2,
img + h2 {
  margin-top: 4rem;
}

p + h3,
ol + h3,
ul + h3,
blockquote + h3,
a + h3,
img + h3 {
  margin-top: 4rem;
  margin-bottom: 1.7em;
}

p + h4,
ol + h4,
ul + h4,
blockquote + h4,
a + h4,
img + h4 {
  margin-top: 4rem;
}

p + h5,
ol + h5,
ul + h5,
blockquote + h5,
a + h5,
img + h5 {
  margin-top: 4rem;
  margin-bottom: 1.33em;
}

p + h6,
ol + h6,
ul + h6,
blockquote + h6,
a + h6,
img + h6 {
  margin-top: 4rem;
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  text-rendering: optimizelegibility;
  /*
  if you're going to use webfonts, be sure to check your weights
  http://css-tricks.com/watch-your-font-weight/
  */
  /* removing text decoration from all headline links */
}

h1,
.h1 {
  position: relative;
  border-radius: 4px;
  font-weight: 600;
  font-size: 22px;
  background-color: #e6d0e8;
  border-color: #cda1d1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 9px 10px 8px 61px;
  font-weight: 600;
  font-size: 22px;
  border-width: 5px;
  border-right-width: 0;
  border-left-width: 0;
  border-style: solid;
  margin: 2em 0 1.5em;
}

h1::before,
.h1::before {
  content: '';
  position: absolute;
  top: -6px;
  left: -1px;
  display: block;
  width: 100%;
  height: calc(100% + 10px);
  border-radius: 5px;
  border: 1px solid #a1a1a1;
  z-index: 1;
}

h1::after,
.h1::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 18px;
  content: '';
  width: 1.9em;
  height: 1em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-book-purple.svg');
}

h2,
.h2 {
  position: relative;
  color: #a85bae;
  font-size: 22px;
  font-weight: 600;
  padding-left: 10px;
  line-height: 35px;
}

h2::after,
.h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 4px;
  background-color: #a85bae;
}

h3,
.h3 {
  position: relative;
  color: #a85bae;
  font-size: 18px;
}

h3::after,
.h3::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #e6d0e8;
}

h4,
.h4 {
  color: #a85bae;
  font-size: 16px;
}

h4::before,
.h4::before {
  content: '■ ';
}

h5,
.h5 {
  font-size: 16px;
}

h5::before,
.h5::before {
  color: #a85bae;
  content: '? ';
}

h6,
.h6 {
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 0.4rem;
}

h6::before,
.h6::before {
  color: #a85bae;
  display: inline-block;
  content: '- ';
}

blockquote {
  position: relative;
  padding: 30px 15px 8px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-style: italic;
  background: #fff;
  margin-right: 0;
  margin-left: 0;
  border: 1px solid gray;
  -webkit-box-shadow: 2px 2px 5px -3px rgba(0, 0, 0, 0.4);
          box-shadow: 2px 2px 5px -3px rgba(0, 0, 0, 0.4);
}

blockquote:before {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 3px;
  vertical-align: middle;
  content: '“';
  font-family: sans-serif;
  font-size: 90px;
  line-height: 1;
}

blockquote p {
  padding: 0;
  margin: 10px 0;
  line-height: 1.7;
}

a {
  cursor: pointer;
  color: #444444;
}

div[data-img-src] {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

article {
  font-size: 1.6rem;
}

article h1:first-child {
  margin-top: 1em;
}

article a {
  color: blue;
}

article a:hover {
  opacity: .7;
}

article a:visited {
  color: purple;
}

article table {
  text-align: center;
  display: block;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
}

article th {
  background-color: #f3e8f4;
}

article td,
article th {
  font-weight: 500;
  min-width: 164px;
  max-width: 250px;
  min-height: 46px;
  border: 1px solid #a1a0a0;
  padding: 15px 10px;
}

article tr.bg-gray td,
article tr.bg-gray th {
  background-color: #f5f5f5;
}

article img {
  display: block;
}

article img.mt-image-right {
  margin: 0 auto;
  height: auto !important;
}

article img.mt-image-left {
  margin: 0 auto;
  height: auto !important;
}

article img.mt-image-center {
  height: auto !important;
}

article ul {
  padding-left: 0;
}

article ul li {
  list-style: none;
}

article ul li::before {
  content: '? ';
  font-size: 2em;
  line-height: 21px;
  vertical-align: text-bottom;
  color: #82148c;
  display: inline-block;
}

article ul li p span, article ul li p p, article ul li p pre {
  line-height: 1;
}

article ol {
  counter-reset: list;
  list-style-type: none;
  padding-left: 1rem;
}

article ol li {
  counter-increment: list;
}

article ol li::before {
  content: counter(list) ".";
  color: #82148c;
  margin-right: 4px;
}

article .link-to-edit-page {
  text-align: right;
  width: 100%;
}

article hr {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
img {
  max-width: 100%;
}

#container {
  width: 100%;
  padding: 0;
  margin: 0;
  background: #fff;
  -webkit-transition-property: all 0.3s 0.5s;
  transition-property: all 0.3s 0.5s;
  z-index: 2;
  position: relative;
}

#container-inner {
  background-color: #ebebeb;
}

.footer_image {
  position: relative;
  height: 100px;
  width: 100%;
  margin-bottom: 10em;
}

.footer_image > div {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  max-width: 1600px;
  width: 100vw;
  height: 100px;
  background-size: cover;
  background-position: center;
}

#calendar-settings,
#calendar-dates {
  display: none;
}

.news {
  margin-bottom: 80px;
}

.news.urgent {
  margin-bottom: 0px;
}

.news.urgent li:last-child {
  border: none;
}

.news.urgent .news-perma {
  color: #ff0000;
}

.news-main {
  margin-bottom: 40px;
  margin-top: 10px;
}

.news-ul {
  margin-top: 0;
  list-style: none;
  padding-left: 0;
}

.news-li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #a1a1a1;
}

.news-date {
  font-size: 13px;
  -ms-flex-preferred-size: 100px;
      flex-basis: 100px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: 1px solid #a1a1a1;
  line-height: 23px;
  text-align: center;
  border-radius: 4px;
}

.news-perma {
  margin-left: 22px;
  color: #4691ff;
  font-size: 15px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-decoration: none !important;
}

.news-title {
  position: relative;
  z-index: 0;
  border: #a1a1a1 1px solid;
  border-radius: 3px;
  padding: 5px 5px 5px 15px;
  position: relative;
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
}

.news-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  display: block;
  background: #6A0071;
  width: 7px;
  z-index: -1;
}

.news-title-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.news-title-right .blue-arrow, .news-title-right .subnavi li, .subnavi .news-title-right li {
  font-size: 13px;
  margin-right: 17px;
}

.news-title-right img {
  width: 65px;
  vertical-align: middle;
}

.external-icon {
  position: relative;
  font-size: 14px;
  text-decoration: none !important;
  margin-right: 12px;
  display: inline-block;
}

.external-icon::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 3px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-tile.svg');
}

.tab:checked + label {
  background-color: #6A0071;
}

.tab:checked + label:hover {
  background-color: #6A0071;
}

.search-bar form, .header-main .tab-wrap .tab__content form, .drawer-menu .tab__content form, .content-left .tab__content form {
  width: 100%;
}

.search-bar input[type='submit'], .header-main .tab-wrap .tab__content input[type='submit'], .drawer-menu .tab__content input[type='submit'], .content-left .tab__content input[type='submit'] {
  display: none;
}

.search-bar label, .header-main .tab-wrap .tab__content label, .drawer-menu .tab__content label, .content-left .tab__content label {
  display: block;
  position: relative;
  margin-bottom: 0;
  padding-right: 44px;
  background-color: #82148c;
  height: 44px;
  border: #444444 solid 1px;
}

.search-bar label::before, .header-main .tab-wrap .tab__content label::before, .drawer-menu .tab__content label::before, .content-left .tab__content label::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 14px;
  content: '';
  width: 16px;
  height: 16px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-search.png');
}

.search-bar label input, .header-main .tab-wrap .tab__content label input, .drawer-menu .tab__content label input, .content-left .tab__content label input {
  border: none;
  height: 42px;
  width: 100%;
}

.left-fade-line, .header-title-left {
  background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(25%, #fff), color-stop(75%, #fff), to(#fff));
  background-image: linear-gradient(to right, transparent, #fff 25%, #fff 75%, #fff);
  background-position: center;
  background-repeat: no-repeat;
}

.right-fade-line, .header-title-right {
  background-image: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(25%, #fff), color-stop(75%, #fff), to(#fff));
  background-image: linear-gradient(to left, transparent, #fff 25%, #fff 75%, #fff);
  background-position: center;
  background-repeat: no-repeat;
}

.header-title {
  position: absolute;
  top: 50%;
  left: 50%;
  color: white;
  font-size: 24px;
  text-shadow: 0 0 black;
  z-index: 2;
  font-weight: 600;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-family: 'YuMincho', 'Yu Mincho', 'Noto Serif JP', serif;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);
}

.header-title span, .header-title p, .header-title pre {
  width: 200%;
  height: 1px;
  display: inline-block;
  position: absolute;
  top: 50%;
}

.header-title span::before, .header-title p::before, .header-title pre::before {
  position: absolute;
  content: '';
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 1px;
  height: 0.9em;
  background: white;
  display: inline-block;
}

.header-title-left {
  left: -70px;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}

.header-title-left::before {
  right: 0;
}

.header-title-right {
  right: -70px;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}

.header-title-right::before {
  left: 0;
}

.header-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff;
}

.header-bar-inner {
  padding: 10px;
}

.header-bar-inner-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-bar-inner-right {
  display: none;
}

.header-character {
  display: none;
}

.header-main {
  margin-top: 70px;
}

.header-main .tab-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  margin: 0;
  border-radius: 3px;
  overflow: hidden;
  width: 90%;
  max-width: 800px;
}

.header-main .tab-wrap h2 {
  display: none;
}

.header-main .tab-wrap .tab + label {
  background: rgba(0, 0, 0, 0.4);
  color: white;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.header-main .tab-wrap .tab:checked + label {
  background: white;
  color: #444444;
}

.header-main .tab-wrap .tab__content {
  background-color: #fff;
  padding: 20px;
}

.header-main .tab-wrap .tab__content-title {
  font-size: 14px;
  font-weight: 300;
}

.header-main .tab-wrap .tab__content-wrap {
  max-width: 520px;
  width: 100%;
}

.header-main .tab-wrap .tab__content-footer {
  text-align: right;
  margin: 10px 0;
}

.header-main .tab-wrap .tab__content .link-to-edit-page {
  display: none;
}

.header-main .tab-wrap .tab__content > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.header-main .tab-wrap .link-to-edit-page {
  display: none;
}

.header-logo {
  max-width: 393px;
  margin-right: 20px;
}

.header-logo img {
  vertical-align: bottom;
}

#footer {
  padding: 16px;
  background-color: #BB9AD3;
  text-align: center;
}

#footer .copyright {
  color: #6A0071;
  font-size: 12px;
}

body.home .content {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

body.home .news.urgent {
  margin-top: 40px;
}

body.search-result .search-results-container {
  padding: 2rem;
  background-color: #fff;
  border: #e5e5e5 1px solid;
}

body.search-result .search-results-container li {
  list-style: none;
  padding: 1rem;
}

body.search-result .content-nav {
  text-align: center;
  padding: 1rem 0.5rem;
}

.content-left {
  background-color: #f5f5f5;
  padding: 20px;
}

.content-right {
  background-color: #fff;
}

.content-inner {
  padding: 1px 0 50px;
}

#content {
  margin: 0 auto;
  width: 100%;
}

.mb-t {
  margin-bottom: 2em;
}

.mb-c {
  margin-bottom: 6em;
}

.pb-c {
  padding-bottom: 4em;
}

.calendar-hide,
#prev-year {
  display: none;
}

.note {
  margin-left: 1.3rem;
  margin-right: 1rem;
  width: 100%;
}

.left {
  float: left;
}

.right {
  float: right;
}

.inner {
  position: relative;
  padding: 4em 1em;
  margin: 0;
  width: 100%;
}

.wrapper {
  margin-bottom: 9em;
}

.w-100 {
  width: 100%;
}

.bb-gray {
  border-bottom: #b3b3b3 1px solid;
}

/* Style the Image Used to Trigger the Modal */
.img-container {
  border-radius: 5px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.img-container:hover {
  opacity: 0.7;
}

a > img:hover {
  opacity: 0.7;
}

/* The Modal (background) */
.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  padding-top: 100px;
  /* Location of the box */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.8);
  /* Black w/ opacity */
  z-index: 99999;
}

/* Modal Content (Image) */
.modal-content {
  margin: auto;
  display: block;
  width: 100%;
  max-width: 700px;
}

/* Caption of Modal Image (Image Text) - Same Width as the Image */
#caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  height: 150px;
}

/* Add Animation - Zoom in the Modal */
.modal-content,
#caption {
  -webkit-animation-name: zoom;
          animation-name: zoom;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes zoom {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

/* The Close Button */
/*
 menu drawer
 */
/* drawer menu */
.drawer-menu {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  -webkit-transform: translateX(-300px);
          transform: translateX(-300px);
  max-height: 100%;
  z-index: 100;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  padding: 0;
  background: #fff;
  opacity: 1;
  overflow: hidden;
}

.drawer-menu.menu-open {
  display: block;
  -webkit-transform: none;
          transform: none;
}

.drawer-menu .news-date {
  display: none;
}

.drawer-menu .subnavi ul {
  padding-left: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.drawer-menu .subnavi li {
  -ms-flex-preferred-size: 42%;
      flex-basis: 42%;
  margin-left: 20px;
}

.drawer-menu .drawer-menu-wrapper {
  position: relative;
  height: 100vh;
  padding-bottom: 100px;
  overflow-y: scroll;
}

.drawer-menu .tab-wrap {
  margin-top: 0;
  margin-bottom: 24px;
}

.drawer-menu .tab-wrap {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: none;
}

.drawer-menu .tab__content {
  padding: 0;
}

.drawer-menu .tab__content-title,
.drawer-menu .tab__content h2,
.drawer-menu .tab__content .link-to-edit-page {
  display: none;
}

.drawer-menu .tab__content-footer {
  text-align: right;
}

.drawer-menu .tab + label {
  font-size: 14px;
  background: none;
  padding: 0;
  line-height: 1;
  border-left: #454444 1px solid;
  padding-left: 6px;
  padding-bottom: 4px;
  padding-top: 4px;
  margin-bottom: 3px;
  border: none;
  background: white;
}

.drawer-menu .tab + label:first-of-type {
  border-left: 0;
  padding-left: 0;
}

.drawer-menu .tab:checked + label {
  color: #82148c;
  background: none !important;
}

.mbgnavi a + ul {
  display: none;
}

.mbgnavi > ul > li > a {
  background-color: #dab9dd;
}

.mbgnavi ul {
  padding: 0;
  list-style: none;
}

.mbgnavi a {
  text-decoration: none !important;
  padding: 10px;
  display: block;
  text-align: center;
  background-color: #e6d0e8;
  border-bottom: 1px solid white;
}

/* menu button - label tag */
.menu-btn {
  display: block;
  font-size: 10px;
  text-align: center;
  cursor: pointer;
  z-index: 3;
  position: relative;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  color: #7f1080;
}

.menu-btn .bar {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 40px;
  height: 5px;
  background: #7f1080;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.menu-btn .bar.middle {
  top: 15px;
  opacity: 1;
}

.menu-btn .bar.bottom {
  top: 30px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}

.menu-btn .menu-btn__text {
  position: absolute;
  bottom: -12px;
  left: 4px;
  margin: auto;
  color: #7f1080;
  font-weight: 600;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  display: block;
  visibility: visible;
  opacity: 1;
  text-align: center;
  font-size: 10px;
}

.menu-btn.menu-open .top {
  width: 56px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.menu-btn.menu-open .middle {
  opacity: 0;
}

.menu-btn.menu-open .bottom {
  width: 56px;
  top: 38px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.menu-btn.menu-open .menu-btn__text {
  opacity: 0;
}

.menu-cover {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 50;
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.menu-cover.menu-open {
  opacity: 1;
  pointer-events: auto;
}

.smnavi-btn {
  text-align: left;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: #ebebeb;
  z-index: 30;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 20px;
  border-top: 1px solid #a2a1a1;
}

body.home .smnavi-btn {
  display: none;
}

.smnavi-btn .topfg-toggle-icon {
  display: inline-block;
  margin-right: 5px;
}

.smnavi-btn .menu-btn__text {
  font-weight: 600;
  font-size: 0.9em;
  color: #7f1080;
}

.smnavi-menu {
  background-color: #f5f5f5;
  padding: 10px;
}

body.blog .footer_image > div {
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/riyou_v2.png');
}

body.blog .header-content {
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/ippin_v.jpg');
}

body.blog .inner {
  background-color: #f7f4f2;
}

body.blog .inner::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
}

body.blog h2 {
  color: white;
  margin-bottom: 0;
  font-size: 3.5em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 4px;
  z-index: 2;
}

body.blog h3 {
  margin-bottom: 0;
  font-size: 2.5em;
}

body.blog .date {
  text-decoration: underline;
  font-size: 1.1rem;
  text-align: right;
}

.gnavi {
  display: none;
  position: relative;
  z-index: 200;
  height: 55px;
  background-color: #e6d0e8;
}

.gnavi ul {
  display: none;
  padding: 0;
  margin: 0;
  height: 100%;
  list-style: none;
}

.gnavi li {
  position: relative;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  border-top: 1px solid #fff;
}

.gnavi li:hover > ul {
  display: block;
}

.gnavi a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  color: #444444;
  text-decoration: none !important;
  background-color: #e6d0e8;
  padding: 0 15px;
}

.gnavi a:hover {
  color: #444444;
  background-color: #fde4ff;
}

.gnavi > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.gnavi > ul > li {
  position: relative;
  border: 0;
}

.gnavi > ul > li::before, .gnavi > ul > li:last-child::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 41px;
  width: 1px;
  background-color: #a2a1a1;
}

.gnavi > ul > li:last-child::after {
  left: auto;
  right: 0;
}

.gnavi > ul > li > ul > li > ul {
  position: absolute;
  width: 100%;
  right: calc(-100% - 1px);
  top: 0;
}

.gnavi > ul > li > ul > li > ul > li:first-child {
  border: 0;
}

.gnavi > ul > li:last-child > ul > li > ul {
  left: calc(-100% - 1px);
  right: auto;
}

.blue-arrow, .subnavi li {
  position: relative;
  margin-left: 20px;
}

.blue-arrow::before, .subnavi li::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -16px;
  content: '?';
  color: #4691ff;
}

body:not(.home) .slider-1,
body:not(.home) .slider-2,
body:not(.home) .slider-3,
body:not(.home) .slider-4,
body:not(.home) .header-main .tab-wrap,
body:not(.home) .content-left,
body:not(.home) .mobile-footer-banner {
  display: none;
}

body:not(.home) .header-main {
  height: 180px;
  overflow: hidden;
}

body:not(.home) .header-slider {
  height: 180px;
}

.calendar {
  text-align: center;
  width: 100%;
  margin-bottom: 40px;
}

.calendar td,
.calendar th {
  font-size: 13px;
  height: 30px;
}

.calendar .sun {
  color: #ff0000;
}

.calendar .sat {
  color: #4691ff;
}

.calendar tbody td {
  border-top: whitesmoke 1px solid;
  border-right: whitesmoke 1px solid;
}

.calendar th {
  position: relative;
  background-color: #fff;
}

.calendar th::before {
  content: '';
  position: absolute;
  left: -1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 50%;
  width: 1px;
  background-color: #a2a1a1;
}

.calendar th:first-child::before {
  content: none;
}

.calendar-link {
  font-size: 13px;
  text-align: right;
}

.calendar-link a {
  text-decoration: none !important;
}

.calendar-opening-time {
  font-size: 17px;
  margin-bottom: 42px;
  background-color: #e6d0e8;
  border: 2px solid #c189c6;
  border-radius: 5px;
  font-weight: 600;
  padding: 10px 0;
  text-align: center;
}

.calendar-title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 25px;
}

.calendar-yyyymm {
  font-weight: 600;
  font-size: 15px;
  padding: 9px 0 5px;
}

.calendar-table {
  border-collapse: collapse;
  width: 100%;
}

.calendar-table-container {
  background: #fff;
  margin-bottom: 6px;
}

.calendar-footer {
  font-size: 11px;
}

.calendar-label-time {
  vertical-align: middle;
}

.calendar-label-tile {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
}

.topfg {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-bottom: 16px;
  border: 1px solid #a1a1a1;
  border-radius: 4px;
  position: relative;
}

.topfg.purple .topfg-title {
  background-color: #e6d0e8;
  border-color: #cda1d1;
}

.topfg.purple .topfg-a::before {
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-book-purple.svg');
}

.topfg.orange .topfg-title {
  background-color: #fce8d2;
  border-color: #f7c58f;
}

.topfg.orange .topfg-a::before {
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-book-orange.svg');
}

.topfg.green .topfg-title {
  background-color: #d9f8d2;
  border-color: #c7e190;
}

.topfg.green .topfg-a::before {
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-book-green.svg');
}

.topfg.blue .topfg-title {
  background-color: #dae9ff;
  border-color: #b5d3ff;
}

.topfg.blue .topfg-a::before {
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-book-blue.svg');
}

.topfg::before {
  position: absolute;
  content: '';
  right: -2px;
  bottom: -2px;
  border: 6px solid white;
}

.topfg::after {
  position: absolute;
  content: '';
  right: -1px;
  bottom: -1px;
  border-bottom: 11px solid transparent;
  border-left: 11px solid #a1a1a1;
}

.topfg-content {
  overflow: hidden;
  height: 136px;
}

.topfg-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.topfg-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5px 15px;
  font-weight: 600;
  font-size: 18px;
  border-width: 5px;
  border-right-width: 0;
  border-left-width: 0;
  border-style: solid;
}

.topfg-ul {
  list-style: none;
  padding-left: 23px;
}

.topfg-a {
  display: inline-block;
  position: relative;
  font-size: 15px;
  text-decoration: none;
  margin: 3px 30px;
}

.topfg-a::before {
  position: absolute;
  top: 2px;
  left: -30px;
  content: '';
  width: 25px;
  height: 16px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.topfg-toggle-icon {
  border: 1px solid #a1a1a1;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  background-color: #fff;
  position: relative;
  cursor: pointer;
}

.topfg-toggle-icon span, .topfg-toggle-icon p, .topfg-toggle-icon pre {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  background: #4a93ff;
  position: absolute;
  top: 9px;
  left: 5px;
  width: 10px;
  height: 1px;
}

.topfg-toggle-icon span:nth-child(2), .topfg-toggle-icon p:nth-child(2), .topfg-toggle-icon pre:nth-child(2) {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.topfg-fading::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 31px;
  border-radius: 5px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.9)), color-stop(50%, rgba(255, 255, 255, 0.9)), to(#fff));
  background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
}

.topfg-footer-toggle {
  display: inline-block;
  position: absolute;
  bottom: 13px;
  right: 15px;
  background-color: #a1a1a1;
  line-height: 21px;
  border-radius: 10px;
  color: #fff;
  font-size: 12px;
  width: 70px;
  text-align: center;
  cursor: pointer;
}

.topfg.open .topfg-toggle-icon span, .topfg.open .topfg-toggle-icon p, .topfg.open .topfg-toggle-icon pre {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.topfg.open .topfg-toggle-icon span:nth-child(2), .topfg.open .topfg-toggle-icon p:nth-child(2), .topfg.open .topfg-toggle-icon pre:nth-child(2) {
  -webkit-transform: rotate(360deg);
          transform: rotate(360deg);
}

.topfg.open .topfg-fading::before {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.mobile-footer-banner {
  padding: 70px 0;
}

.mobile-footer-banner .sideb {
  display: block;
}

.snavi > ul > li > a {
  display: none;
}

.snavi > ul > ul > li > ul {
  border-top: 1px solid #c7c7c7;
}

.snavi > ul > ul > li > a {
  position: relative;
  padding-left: 10px;
}

.snavi > ul > ul > li > a::before {
  display: inline-block;
  vertical-align: text-bottom;
  content: '';
  width: 25px;
  height: 1em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('https://www.kyokyo-u.ac.jp/library/uploads/dev/icon-book-purple.svg');
}

.snavi a {
  color: #454444;
  font-size: 16px;
  line-height: 1.7;
  text-align: left;
  text-decoration: none !important;
  padding: 10px 20px;
  text-overflow: ellipsis;
  display: block;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.snavi a:hover {
  background-color: #e6d0e8;
}

.snavi ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.snavi li {
  border-bottom: 1px solid #c7c7c7;
}

.snavi li:first-child {
  border-bottom: 1px solid #c7c7c7;
}

.snavi li ul li:last-child {
  border-bottom: 0;
}

.snavi-title {
  position: relative;
  text-align: center;
  font-weight: 600;
  color: #ffffff;
  background-color: #cda1d1;
  font-size: 18px;
  line-height: 3;
}

.snavi-title::before, .snavi-title::after {
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  height: 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(30%, #fff), color-stop(70%, #fff), to(transparent));
  background-image: linear-gradient(to right, transparent, #fff 30%, #fff 70%, transparent);
  background-position: center;
  background-repeat: no-repeat;
}

.snavi-title::before {
  top: 9px;
}

.snavi-title::after {
  bottom: 9px;
}

.subnavi li {
  display: inline-block;
  list-style: none;
  font-size: 15px;
  margin-left: 40px;
}

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

.sideb {
  display: none;
  text-align: center;
}

.sideb-img {
  -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
  background: white;
}

.sideb-item {
  margin-bottom: 14px;
  display: inline-block;
}

.content-left hr {
  background: #c7c7c7;
  border: 0;
  margin-bottom: 25px;
}

.content-left .calendar-opening-time {
  margin-top: 0;
  margin-bottom: 12px;
}

.content-left .news-main,
.content-left .tab-wrap {
  margin-top: 0;
  margin-bottom: 24px;
}

.content-left .news-date {
  display: none;
}

.content-left .news-ul {
  margin-top: 0;
}

.content-left .tab-wrap {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: none;
}

.content-left .tab__content {
  padding: 0;
}

.content-left .tab__content-title,
.content-left .tab__content h2,
.content-left .tab__content .link-to-edit-page {
  display: none;
}

.content-left .tab__content-footer {
  text-align: right;
}

.content-left .tab + label {
  font-size: 14px;
  background: none;
  padding: 0;
  line-height: 1;
  border-left: #454444 1px solid;
  padding-left: 6px;
  padding-bottom: 4px;
  padding-top: 4px;
  margin-bottom: 3px;
  border: none;
  background: white;
}

.content-left .tab + label:first-of-type {
  border-left: 0;
  padding-left: 0;
}

.content-left .tab:checked + label {
  color: #82148c;
  background: none !important;
}

.content-left .external-icon {
  margin-right: 4px;
}

.content-left .calendar-footer,
.content-left .calendar-table-container {
  display: block;
}

#calendar-link {
  display: none;
}

.breadcrumb {
  font-size: 13px;
  margin-top: 10px;
}

body.archive .news-title .blue-arrow, body.archive .news-title .subnavi li, .subnavi body.archive .news-title li,
body.single .news-title .blue-arrow,
body.single .news-title .subnavi li,
.subnavi body.single .news-title li {
  display: none;
}

/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media (min-width: 481px) {
  /******************************************************************
Site Name:
Author:

Stylesheet: 481px and Up Stylesheet

This stylesheet is loaded for larger devices. It's set to
481px because at 480px it would load on a landscaped iPhone.
This isn't ideal because then you would be loading all those
extra styles on that same mobile connection.

A word of warning. This size COULD be a larger mobile device,
so you still want to keep it pretty light and simply expand
upon your base.scss styles.

******************************************************************/
}

/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media (min-width: 768px) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Tablet & Small Desktop Stylesheet

Here's where you can start getting into the good stuff.
This size will work on iPads, other tablets, and desktops.
So you can start working with more styles, background images,
and other resources. You'll also notice the grid starts to
come into play. Have fun!

******************************************************************/
  #footer #footer-inner {
    padding: 4rem;
  }
  #footer #footer-inner .go-top-link {
    top: -3.9rem;
    width: 7rem;
    height: 4rem;
  }
  .header-title {
    font-size: 35px;
  }
  .header-character {
    display: block;
  }
  .header-main {
    height: 410px;
  }
  .header-slider {
    height: 410px;
  }
  body:not(.home) .header-main {
    height: 180px;
    position: relative;
  }
  body:not(.home) .header-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1;
  }
  body:not(.home) .header-slider {
    height: 180px;
  }
  body:not(.home) .header-content {
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
  .news-title {
    font-size: 20px;
  }
  .news-title-right .subnavi li {
    font-size: 14px;
  }
  #footer #footer-inner #footer-content .org-name {
    font-size: 1.6em;
  }
}

/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media (min-width: 1024px) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Desktop Stylsheet

This is the desktop size. It's larger than an iPad so it will only
be seen on the Desktop.

*****************************************************************/
  .content-width, .content-inner {
    max-width: 1365px;
  }
  .header {
    width: 100%;
  }
  .header-inner {
    position: relative;
  }
  .header-bar-inner-right {
    display: block;
  }
  .header-bar-inner-mobile {
    display: none;
  }
  .topfg {
    -ms-flex-preferred-size: 49%;
        flex-basis: 49%;
  }
  .mobile-footer-banner .sideb {
    display: none;
  }
  .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  body.home .content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .content-inner {
    max-width: 820px;
    margin: 20px auto 56px;
    padding: 0 10px;
  }
  .content-left {
    -ms-flex-preferred-size: 327px;
        flex-basis: 327px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .content-right {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  #content {
    max-width: 1024px;
  }
  .calendar-table-container, .calendar-footer {
    display: block;
  }
  #container {
    background-color: #fafafa;
  }
  .smnavi-btn {
    display: none;
  }
  .header-bar {
    position: relative;
  }
  .header-main {
    margin-top: 0;
  }
  .header-bar-inner {
    height: 90px;
  }
  .header-bar-inner-left img {
    vertical-align: middle;
  }
  .header-character {
    margin-right: 10px;
  }
  .gnavi {
    display: block;
  }
  .sideb {
    display: block;
  }
  body:not(.home) .content-left {
    display: block;
  }
}

/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media (min-width: 1240px) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Super Large Monitor Stylesheet

You can add some advanced styles here if you like. This kicks in
on larger screens.

******************************************************************/
  #content {
    width: 96%;
    max-width: 1365px;
  }
}

/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
Site Name: 
Author: 

Stylesheet: Retina Screens & Devices Stylesheet

When handling retina screens you need to make adjustments, especially
if you're not using font icons. Here you can add them in one neat
place.

******************************************************************/
  /* 

EXAMPLE 
Let's say you have an image and you need to make sure it looks ok
on retina screens. Let's say we have an icon which dimension are
24px x 24px. In your regular stylesheets, it would look something
like this:

.icon {
	width: 24px;
	height: 24px;
	background: url(/library/assets_c/css/img/test.png) no-repeat;
}

For retina screens, we have to make some adjustments, so that image
doesn't look blurry. So, taking into account the image above and the
dimensions, this is what we would put in our retina stylesheet:

.icon {
	background: url(/library/assets_c/css/img/test@2x.png) no-repeat;
	background-size: 24px 24px;
}

So, you would create the same icon, but at double the resolution, meaning 
it would be 48px x 48px. You'd name it the same, but with a @2x at the end
(this is pretty standard practice). Set the background image so it matches
the original dimensions and you are good to go. 

*/
}

/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print {
  /******************************************************************
Site Name:
Author:

Stylesheet: Print Stylesheet

This is the print stylesheet. There's probably not a lot
of reasons to edit this stylesheet. If you want to
though, go for it.

******************************************************************/
  #menuEl {
    display: none !important;
  }
  /******************************************************************
Site Name:
Author:

Stylesheet: 481px and Up Stylesheet

This stylesheet is loaded for larger devices. It's set to
481px because at 480px it would load on a landscaped iPhone.
This isn't ideal because then you would be loading all those
extra styles on that same mobile connection.

A word of warning. This size COULD be a larger mobile device,
so you still want to keep it pretty light and simply expand
upon your base.scss styles.

******************************************************************/
  /******************************************************************
Site Name:
Author:

Stylesheet: Tablet & Small Desktop Stylesheet

Here's where you can start getting into the good stuff.
This size will work on iPads, other tablets, and desktops.
So you can start working with more styles, background images,
and other resources. You'll also notice the grid starts to
come into play. Have fun!

******************************************************************/
  #footer #footer-inner {
    padding: 4rem;
  }
  #footer #footer-inner .go-top-link {
    top: -3.9rem;
    width: 7rem;
    height: 4rem;
  }
  .header-title {
    font-size: 35px;
  }
  .header-character {
    display: block;
  }
  .header-main {
    height: 410px;
  }
  .header-slider {
    height: 410px;
  }
  body:not(.home) .header-main {
    height: 180px;
    position: relative;
  }
  body:not(.home) .header-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1;
  }
  body:not(.home) .header-slider {
    height: 180px;
  }
  body:not(.home) .header-content {
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
  .news-title {
    font-size: 20px;
  }
  .news-title-right .subnavi li {
    font-size: 14px;
  }
  #footer #footer-inner #footer-content .org-name {
    font-size: 1.6em;
  }
  /******************************************************************
Site Name:
Author:

Stylesheet: Desktop Stylsheet

This is the desktop size. It's larger than an iPad so it will only
be seen on the Desktop.

*****************************************************************/
  .content-width, .content-inner {
    max-width: 1365px;
  }
  .header {
    width: 100%;
  }
  .header-inner {
    position: relative;
  }
  .header-bar-inner-right {
    display: block;
  }
  .header-bar-inner-mobile {
    display: none;
  }
  .topfg {
    -ms-flex-preferred-size: 49%;
        flex-basis: 49%;
  }
  .mobile-footer-banner .sideb {
    display: none;
  }
  .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  body.home .content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .content-inner {
    max-width: 820px;
    margin: 20px auto 56px;
    padding: 0 10px;
  }
  .content-left {
    -ms-flex-preferred-size: 327px;
        flex-basis: 327px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .content-right {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  #content {
    max-width: 1024px;
  }
  .calendar-table-container, .calendar-footer {
    display: block;
  }
  #container {
    background-color: #fafafa;
  }
  .smnavi-btn {
    display: none;
  }
  .header-bar {
    position: relative;
  }
  .header-main {
    margin-top: 0;
  }
  .header-bar-inner {
    height: 90px;
  }
  .header-bar-inner-left img {
    vertical-align: middle;
  }
  .header-character {
    margin-right: 10px;
  }
  .gnavi {
    display: block;
  }
  .sideb {
    display: block;
  }
  body:not(.home) .content-left {
    display: block;
  }

  /******************************************************************
Site Name:
Author:

Stylesheet: Super Large Monitor Stylesheet

You can add some advanced styles here if you like. This kicks in
on larger screens.

******************************************************************/
  #content {
    width: 96%;
    max-width: 1365px;
  }
  body {
    zoom: 85%;
  }
}
/*# sourceMappingURL=style.css.map */
