@charset "UTF-8";
/*
Theme Name: FAST for all startups team
Theme URL:
Description:
Author: イメージングワークス
Version: 1.0.0
Tags:
License:
License URI:
*/
/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING global
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.
*********************/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
}

/* Forms
     ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item;
}

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none;
}

/******************************************************************
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

******************************************************************/
h1,
h2,
h3,
h4,
h5 {
  line-height: 1.28;
}

h2 {
  margin-top: 1em;
  margin-bottom: 0.8em;
  font-size: 1.8em;
}

h3 {
  margin-top: 2em;
}

.uld {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

p {
  text-align: justify;
  text-indent: 1em;
  line-height: 1.7;
  overflow-wrap: break-word;
  margin-top: 0.5em;
}
p.ni {
  text-indent: 0;
}

section {
  padding: 4rem 0 5rem 0;
}

.tc {
  text-align: center;
}

.tr {
  text-align: right;
}

.small {
  font-size: small;
}

.ibs > span {
  display: inline-block;
}

span.ib {
  display: inline-block;
}

.rindent {
  text-indent: -1em;
  margin-left: 1em;
}
.rindent.ibs > span {
  margin-left: 1em;
}

.kome {
  text-indent: -1.5em;
  margin-left: 1.5em;
}
.kome::before {
  content: "※";
}

/******************************************************************
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

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

Stylesheet: Aniamtion

******************************************************************/
.sk-cube-grid {
  width: 40px;
  height: 40px;
  position: fixed;
  top: calc(50vh - 20px);
  left: calc(50vw - 20px);
}

.sk-cube-grid .sk-cube {
  width: 33%;
  height: 33%;
  background-color: skyblue;
  float: left;
  -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
          animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}

.sk-cube-grid .sk-cube1 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.sk-cube-grid .sk-cube2 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.sk-cube-grid .sk-cube3 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.sk-cube-grid .sk-cube4 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.sk-cube-grid .sk-cube5 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.sk-cube-grid .sk-cube6 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.sk-cube-grid .sk-cube7 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.sk-cube-grid .sk-cube8 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.sk-cube-grid .sk-cube9 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@-webkit-keyframes sk-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1);
  }
  35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1);
  }
}
@keyframes sk-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1);
  }
  35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1);
  }
}
/******************************************************************
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/

******************************************************************/
#page.df_top main a.all {
  display: inline-block;
  position: relative;
  text-decoration: none;
  font-size: 0.8em;
  line-height: 1;
  padding: 0.3em 1em 0.23em;
  white-space: nowrap;
  margin: 0.5em 0.5em;
  border-radius: 2em;
  border: none;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
#page.df_top main a.all:hover, #page.df_top main a.all:focus {
  color: white;
  text-decoration: none;
  outline: none;
}
#page.df_top main a.all:active {
  top: 1px;
}
#page.df_top main a.all:disabled {
  opacity: 0.5;
}

/******************************************************************
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.

******************************************************************/
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

Buttons are a pretty important part of your site's style, so it's
important to have a consistent baseline for them. Use this stylesheet
to create all kinds of buttons.

Helpful Links:
http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/

******************************************************************/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
#loader {
  position: fixed;
  top: 50vh;
  left: 50vw;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  height: 64px;
  width: 64px;
  border-radius: 50%;
  -webkit-perspective: 800px;
          perspective: 800px;
}
#loader .inner {
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
#loader .inner.one {
  left: 0%;
  top: 0%;
  -webkit-animation: rotate-one 1s linear infinite;
          animation: rotate-one 1s linear infinite;
  border-bottom: 3px solid skyblue;
}
#loader .inner.two {
  right: 0%;
  top: 0%;
  -webkit-animation: rotate-two 1s linear infinite;
          animation: rotate-two 1s linear infinite;
  border-right: 3px solid skyblue;
}
#loader .inner.three {
  right: 0%;
  bottom: 0%;
  -webkit-animation: rotate-three 1s linear infinite;
          animation: rotate-three 1s linear infinite;
  border-top: 3px solid skyblue;
}

#toggle_nav {
  display: block;
  width: 36px;
  height: 36px;
  padding: 3px 5px;
  border-radius: 3px;
}
#toggle_nav span {
  display: block;
  margin: 6px auto;
  background: gray;
  width: 100%;
  height: 2px;
  border-radius: 3px;
  will-change: transform;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#toggle_nav:hover {
  cursor: pointer;
}
#toggle_nav.on span:first-child {
  will-change: transform;
  -webkit-transform: translateY(8px) rotate(45deg);
          transform: translateY(8px) rotate(45deg);
}
#toggle_nav.on span:nth-child(2) {
  opacity: 0;
}
#toggle_nav.on span:last-child {
  will-change: transform;
  -webkit-transform: translateY(-8px) rotate(-45deg);
          transform: translateY(-8px) rotate(-45deg);
}
#toggle_nav.on + nav#site-navigation {
  width: 13em;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.new_a::after, .new_b::before, .orange_label {
  content: "label";
  display: inline-block;
  vertical-align: baseline;
  font-size: 0.85em;
  border-radius: 0.5rem;
  padding: 0.3em 0.5em 0.2em;
  line-height: 1;
}

.orange_label {
  color: white;
  background: #ff9900;
}

.new_b::before {
  content: "New";
  color: #ffffff;
  background: #e50012;
  margin-right: 0.3em;
  font-weight: bold;
}

.new_a::after {
  content: "New";
  color: #ffffff;
  background: #e50012;
  margin-left: 0.3em;
  font-weight: bold;
}

.greenCircle::before, .square::before, .redSquare::before, .redBorderSquare::before {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.3em;
  position: relative;
  bottom: 0.1em;
}

.redBorderSquare::before {
  content: "";
  width: 0.33em;
  height: 0.33em;
  border: solid 0.33em #e50012;
}

.redSquare::before {
  content: "";
  width: 0.7em;
  height: 0.7em;
  background: #e50012;
}

.square::before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  border: solid 0.23em #ca005f;
  border-radius: 0.2em;
}

.greenCircle::before {
  content: "";
  width: 1em;
  height: 1em;
  background: #006600;
  border-radius: 100%;
}

.bborder {
  border-bottom: solid 3px lightgray;
}

.wrap_movie {
  text-align: center;
}
.wrap_movie iframe {
  aspect-ratio: 3/2;
  display: block;
  margin: 0 auto;
}

.test_border {
  border: solid 1px black;
}
.test_border > * {
  border: solid 1px gray;
}
.test_border > * > * {
  border: solid 1px red;
}
.test_border > * > * > * {
  border: solid 1px blue;
}
.test_border > * > * > * > * {
  border: solid 1px yellow;
}
.test_border > * > * > * > * > * {
  border: solid 1px green;
}

ul.flat {
  margin: 0.5em;
  padding: 0;
  list-style: none;
}

ul.reference {
  list-style: none;
  font-size: smaller;
}
ul.reference > li span:first-of-type {
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: middle;
}
ol.reference {
  list-style: none;
  font-size: smaller;
  counter-reset: cntref;
  margin: 3em 0 0 0;
}
ol.reference > li {
  counter-increment: cntref;
  text-indent: -1.5em;
}
ol.reference > li::before {
  content: "*" counter(cntref) " ";
  vertical-align: top;
}

ol.maru {
  counter-reset: cnt_cstm_ol;
  list-style: none;
  padding-left: 2.5em !important;
}
ol.maru > li {
  counter-increment: cnt_cstm_ol;
  position: relative;
}
ol.maru > li::before {
  content: counter(cnt_cstm_ol);
  position: absolute;
  display: block;
  width: 1em;
  height: 1em;
  top: 1.345em;
  left: -1.66em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 0.75em;
  line-height: 1em;
  text-align: center;
}
ol.maru > li::after {
  content: "";
  position: absolute;
  display: block;
  top: 1em;
  left: -1.4em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border: 1px solid #000;
  border-radius: 50%;
}
ol.bracket {
  counter-reset: cnt_cstm_ol;
  list-style: none;
}
ol.bracket > li {
  counter-increment: cnt_cstm_ol;
  position: relative;
}
ol.bracket > li::before {
  content: "(" counter(cnt_cstm_ol) ") ";
  position: absolute;
  top: 0em;
  right: calc(100% + 0.5em);
}
ol.bracket.rb > li::before {
  content: counter(cnt_cstm_ol) ") ";
}

hr.dashed {
  border: none;
  border-bottom: 1px dashed;
}
hr.three_dia {
  border: none;
  height: 1em;
  text-align: center;
  line-height: 1;
}
hr.three_dia::before {
  content: "◇　　◇　　◇";
  display: inline-block;
}
hr[data-tc] {
  margin: 5rem 0;
  position: relative;
  display: block;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(gray), to(transparent));
  background: -webkit-linear-gradient(left, transparent, gray, transparent);
  background: linear-gradient(to right, transparent, gray, transparent);
  border: none;
}
hr[data-tc]::after {
  content: attr(data-tc);
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: inline-block;
  color: gray;
  padding: 0 0.5rem;
  background-color: white;
  text-align: center;
  font-size: small;
  max-width: 20rem;
  overflow: hidden;
  white-space: nowrap;
}
hr.ud_mrgn {
  margin: 2em 0;
}

dl.cstm.colon dt:after {
  content: ":";
  display: inline-block;
  margin: 0 0.3em;
}
dl.cstm.semi-colon dt:after {
  content: ";";
  display: inline-block;
  margin: 0 0.3em;
}
dl.cstm.space dt:after {
  content: "";
  display: inline-block;
  margin: 0 0.5em;
}
dl.cstm.dtr dt {
  text-align: right;
}
dl.cstm.center {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
dl.cstm dt {
  width: 8em;
  float: left;
}
dl.cstm dd {
  margin-left: 8em;
}
dl.cstm.em3 dt {
  width: 3em;
}
dl.cstm.em3 dd {
  margin-left: 3em;
}
dl.cstm.em4 dt {
  width: 4em;
}
dl.cstm.em4 dd {
  margin-left: 4em;
}
dl.cstm.em5 dt {
  width: 5em;
}
dl.cstm.em5 dd {
  margin-left: 5em;
}
dl.cstm.em7 dt {
  width: 7em;
}
dl.cstm.em7 dd {
  margin-left: 7em;
}
dl.cstm.em10 dt {
  width: 10em;
}
dl.cstm.em10 dd {
  margin-left: 10em;
}
dl.cstm.em13 dt {
  width: 13em;
}
dl.cstm.em13 dd {
  margin-left: 13em;
}
dl.cstm > div {
  margin-bottom: 0.8em;
}

dl.qa dt {
  float: left;
}
dl.qa dt::after {
  content: ": ";
}
dl.qa dd {
  margin-left: 3em;
}
dl.qa > div {
  margin-bottom: 0.5rem;
}
dl.qa.cnt {
  counter-reset: dlqa;
}
dl.qa.cnt > div {
  counter-increment: dlqa;
}
dl.qa.cnt dt::after {
  content: counter(dlqa) ": ";
}

/* For modern browsers */
.cf:before, .floatBox:before,
.cf:after,
.floatBox:after {
  content: "";
  display: table;
}

.cf:after, .floatBox:after {
  clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf, .floatBox {
  zoom: 1;
}

a.ibu, a.ref, ul.reference > li a {
  color: #3d6dc3;
  text-decoration: underline;
  display: inline-block;
  margin: 0 0.2em;
  text-indent: 0;
}

.blb, #ul_pages > li a .title {
  color: #3d6dc3;
  text-decoration: underline;
  -webkit-text-decoration-style: dotted;
          text-decoration-style: dotted;
  word-break: break-all;
}
.blb *, #ul_pages > li a .title * {
  color: #3d6dc3;
  text-decoration: underline;
  -webkit-text-decoration-style: dotted;
          text-decoration-style: dotted;
}

a.ref {
  vertical-align: super;
  font-size: small;
  white-space: nowrap;
  font-weight: normal;
  text-decoration: none;
}

span.ref {
  vertical-align: super;
  font-size: small;
  white-space: nowrap;
  font-weight: normal;
}

a.nw::after {
  background-image: url(/common/css/responsive/img/nw.png);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

a.lock::after {
  background-image: url(/common/css/responsive/img/lock.svg);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

.td_ico::before {
  background-image: url(/common/css/responsive/img/df_mrk.png);
  font-size: 1.2em;
  margin-right: 0.2em;
}

.rr_arrow::before {
  content: "➡";
  color: #e50012;
  display: inline-block;
  margin-right: 0.3em;
}

.bi_nw::after {
  background-image: url(/common/css/responsive/img/nw.png);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

.bi_pdf::before {
  background-image: url(/common/css/responsive/img/ico_pdf_2.png);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

.ai_pdf::after {
  background-image: url(/common/css/responsive/img/ico_pdf_2.png);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

.bi_zoom::after {
  background-image: url(/common/css/responsive/img/zoom_in.svg);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

.bi_lock::after {
  background-image: url(/common/css/responsive/img/lock.svg);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

.bi_amzon::before {
  background-image: url(/common/css/responsive/img/Amazon_icon.svg);
  margin-left: 0.2em;
  margin-right: 0.2em;
}
.bi_amzon.wimg {
  position: relative;
}
.bi_amzon.wimg::before {
  position: absolute;
  top: 0.5rem;
  left: 0 0.5rem;
}
.bi_amzon.wimg:hover::before {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
}

.youtube,
.gmap,
.movie_frame {
  width: 100%;
  aspect-ratio: 16/9;
}
.youtube iframe,
.gmap iframe,
.movie_frame iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.slick-slider {
  position: relative;
}
.slick-slider .slick-dots {
  position: absolute;
  bottom: 7%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.slick-slider .slick-dots > li {
  padding: 0 10px;
}
.slick-slider .slick-dots > li button {
  font-size: 0;
  display: block;
  padding: 0;
  width: 12px;
  height: 12px;
  cursor: pointer;
  border: solid 1px lightgray;
  border-radius: 50%;
  background: white;
}
.slick-slider .slick-dots > li.slick-active button {
  cursor: default;
  background: blue;
  border-color: white;
}

.b_shadow, figure img.shadow,
figure iframe.shadow, .wrap_img.shadow img,
.wrap_img.shadow iframe {
  -webkit-box-shadow: 2px 3px 8px gray;
          box-shadow: 2px 3px 8px gray;
}

.t_shadow {
  text-shadow: 1px 1px 0.5em gray, -1px 1px 0.5em gray, 1px -1px 0.5em gray, -1px -1px 0.5em gray;
}

#tab_contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: relative;
  margin-top: 3rem;
}
#tab_contents > label {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  padding: 0.3em 1em;
  margin: 0 0.3rem 0.5rem;
  background: #ffffff;
  border: solid 1px #3d6dc3;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  text-align: center;
}
#tab_contents > input[type=radio] {
  display: none;
}
#tab_contents > input[type=radio]:checked + label {
  background: #3d6dc3;
  color: #ffffff;
  font-weight: bold;
  pointer-events: none;
}
#tab_contents > input[type=radio]:checked + label + .tab_content {
  display: block;
  position: relative;
}
#tab_contents > input[type=radio]:checked + label + .tab_content::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  top: -1px;
  left: 0;
  border-top: solid 2px #3d6dc3;
}
#tab_contents > input[type=radio]#all:checked ~ .tab_content {
  display: block !important;
}
#tab_contents > input[type=radio]#all:checked ~ .tab_content:first-of-type {
  border-top: solid 2px #3d6dc3;
}
#tab_contents > .tab_content {
  width: 100%;
  display: none;
}

table tr th.tablesorter-header[aria-sort=descending] .tablesorter-header-inner::after, table tr th.tablesorter-header[aria-sort=ascending] .tablesorter-header-inner::after, table tr th.tablesorter-header[aria-sort=none] .tablesorter-header-inner::after, .ico_yt_before::before, .ico_play_after::after, .ico_pdf_after::after, .ico_tel_after::after, .ico_mail_after::after, .ico_mail_before::before, .ico_tb_df_before::before, .ico_dfri_before::before, .ico_df_before::before, a.nw::after, a.lock::after, .td_ico::before, .bi_nw::after, .bi_pdf::before, .ai_pdf::after, .bi_zoom::after, .bi_lock::after, .bi_amzon::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 0.9em;
  height: 0.9em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  bottom: 0.1em;
}

.ico_df_before::before {
  background-image: url(/common/css/responsive/img/df_mark.svg);
  margin-right: 0.3em;
  width: 1.1em;
  height: 1.1em;
  bottom: 0.1em;
}

.ico_dfri_before::before {
  background-image: url(/common/css/responsive/img/logo_dfri.svg);
  margin-right: 0.3em;
  width: 1.1em;
  height: 1.1em;
  bottom: 0.1em;
}

.ico_tb_df_before::before {
  background-image: url(/common/css/responsive/img/df_mrk.png);
  margin-right: 0.2em;
  width: 1em;
  height: 1em;
}

.ico_mail_before::before {
  background-image: url(/common/css/responsive/img/mail.svg);
  vertical-align: text-bottom;
  margin-right: 0.2em;
  width: 1em;
  height: 1em;
}

.ico_mail_after::after {
  background-image: url(/common/css/responsive/img/mail.svg);
  vertical-align: text-bottom;
  margin-left: 0.2em;
  width: 1em;
  height: 1em;
}

.ico_tel_after::after {
  background-image: url(/common/css/responsive/img/tel.svg);
  margin-left: 0.3em;
  width: 1em;
  height: 1em;
}

.ico_pdf_after::after {
  background-image: url(/common/css/responsive/img/ico_pdf_2.png);
  margin-left: 0.3em;
  width: 1em;
  height: 1em;
  white-space: nowrap;
}

.ico_play_after::after {
  background-image: url(/common/css/responsive/img/play.svg);
  margin-left: 0.3em;
  width: 1.3em;
  height: 1.3em;
  white-space: nowrap;
}

.ico_yt_before::before {
  background: url(/yakumono/youtube.png);
  margin-right: 0.2em;
  width: 1em;
  height: 1em;
  background-size: contain;
}

.linkPDF {
  display: block;
  position: relative;
  border: solid 1px lightgray;
  outline: none !important;
}
.linkPDF::before {
  content: "";
  display: block;
  width: 70px;
  padding-bottom: 70px;
  background: url(/yakumono/pdf-link.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
}
.linkPDF:hover::before {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.red_arrow_before::before {
  content: "";
  content: "";
  display: inline-block;
  vertical-align: baseline;
  height: 0.23em;
  width: 0.23em;
  border: solid 0.2em transparent;
  border-top: solid 0.2em #e50012;
  border-left: solid 0.2em #e50012;
  margin: 0 0.3em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.red_arrow_before_2::before {
  content: "➡";
  color: #e50012;
  margin-right: 0.2em;
}

.wrap_img {
  padding: 1rem;
  position: relative;
  z-index: 1;
}
.wrap_img .img {
  width: 100%;
}
.wrap_img.ps {
  padding: 0.5rem;
}
.wrap_img a {
  position: relative;
}
.wrap_img a.zoom {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.wrap_img a.zoom::after {
  content: "";
  display: block;
  position: absolute;
  background: white;
  border-radius: 0 0 0 5px;
  top: 0;
  right: 0;
  width: 25px;
  height: 25px;
  background-image: url(/common/css/responsive/img/zoom_in.svg);
  background-size: cover;
  opacity: 0.7;
  pointer-events: none;
}
.wrap_img a.zoom:hover::after {
  opacity: 1;
}
.wrap_img a.pdf::after {
  content: "";
  display: block;
  width: 70px;
  padding-bottom: 70px;
  background-image: url(/common/css/responsive/img/thumb-pdf.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0.7;
}
.wrap_img a.pdf:hover::after {
  opacity: 1 !important;
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.wrap_img a.play {
  position: relative;
}
.wrap_img a.play::after {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  background-image: url(/common/css/responsive/img/movie.svg);
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0.7;
}
.wrap_img a.play:hover::after {
  opacity: 1;
}
.wrap_img a.ot {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.wrap_img a.ot::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background-image: url(/common/css/responsive/img/nw.png);
  background-size: cover;
  position: absolute;
  right: 5px;
  top: 5px;
  opacity: 0.6;
}
.wrap_img a.ot:hover::after {
  opacity: 1;
}
.wrap_img.movie {
  position: relative;
}
.wrap_img.movie iframe {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/2;
}
.wrap_img.center {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.wrap_img.border img {
  border: solid 1px lightgray;
}
.wrap_img + .caption,
.wrap_img .caption {
  font-size: smaller;
  line-height: 1.28;
  text-align: center;
  width: 90%;
  display: block;
  margin: 0.8em auto 0;
}
.wrap_img + .caption.jf,
.wrap_img .caption.jf {
  text-align: justify;
}

span.ls2t3 {
  white-space: nowrap;
  letter-spacing: 1em;
}
span.ls2t3::after {
  content: "";
  margin-right: -1em;
}
span.ls2t4 {
  white-space: nowrap;
  letter-spacing: 2em;
}
span.ls2t4::after {
  content: "";
  margin-right: -2em;
}
span.ls3t4 {
  white-space: nowrap;
  letter-spacing: 0.5em;
}
span.ls3t4::after {
  content: "";
  margin-right: -0.5em;
}

#wrap_sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 4rem 1rem 0;
}
#wrap_sns .fb-like,
#wrap_sns .line-like,
#wrap_sns .twitter-share-button {
  display: inline;
  vertical-align: top;
  margin: 0 0.5em;
}
#wrap_sns .line-like,
#wrap_sns .twitter-share-button {
  margin-top: 0.15rem;
}
#wrap_sns + .ud {
  margin-top: 0.5rem !important;
}

#wrap-tooltip {
  position: absolute;
  left: 0;
  z-index: 100;
  max-width: 90vw;
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
  padding-bottom: 9.1924763117px;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
#wrap-tooltip.show {
  opacity: 1;
}
#wrap-tooltip .tooltip {
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  border-radius: 1rem;
}
#wrap-tooltip .tooltip:before {
  content: "";
  width: 13px;
  height: 13px;
  position: absolute;
  top: calc(100% - 8.55px);
  background: white;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}
#wrap-tooltip .tooltip .tooltip-content {
  position: relative;
  background: #fff;
  padding: 5px;
  font-size: smaller;
  border-radius: 1rem;
  line-height: 1.28;
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
#wrap-tooltip .tooltip .tooltip-content::-webkit-scrollbar {
  display: none;
}
#wrap-tooltip .altTip-content {
  position: relative;
  background: #fff;
  padding: 5px;
  font-size: smaller;
  border-radius: 1rem;
  line-height: 1.28;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
#wrap-tooltip .altTip-content::-webkit-scrollbar {
  display: none;
}

.cnt_h3 {
  counter-reset: cnt_h3;
}
.cnt_h3 h3::before {
  counter-increment: cnt_h3;
  content: counter(cnt_h3) ". ";
}

.read_more {
  height: 8em;
  overflow: hidden;
  position: relative;
  pointer-events: none;
}
.read_more::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: -webkit-linear-gradient(top, transparent 30%, white 80%, white);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, transparent), color-stop(80%, white), to(white));
  background: linear-gradient(to bottom, transparent 30%, white 80%, white);
  z-index: 1;
}
.read_more::after {
  content: "～ 続きを読む ～";
  position: absolute;
  display: inline-block;
  height: 1.5em;
  margin: 0 auto;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: blue;
  font-size: smaller;
  pointer-events: all;
  opacity: 0.8;
  cursor: pointer;
  z-index: 2;
}
.read_more:hover::after {
  opacity: 1;
}
.read_more.open {
  height: auto;
  pointer-events: unset;
  padding-top: 0;
}
.read_more.open::before, .read_more.open::after {
  content: unset;
  pointer-events: unset;
}

object[data-partID] {
  display: none;
}

figure {
  margin: 0 auto 2rem;
}
figure > a {
  display: block;
  position: relative;
}
figure > a::after {
  display: block;
  opacity: 0.8;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  background-size: cover;
  background-repeat: no-repeat;
}
figure > a[target=_blank]::after {
  content: "";
  width: 25px;
  height: 25px;
  border-radius: 0 0 0 5px;
  background-image: url(/common/css/responsive/img/nw.svg);
}
figure > a[href$=".pdf"]::after {
  content: "";
  width: 70px;
  height: 70px;
  background-image: url(/common/css/responsive/img/thumb-pdf.svg);
}
figure > a[data-lightbox]::after {
  content: "";
  background: white;
  border-radius: 0 0 0 5px;
  width: 25px;
  height: 25px;
  background-image: url(/common/css/responsive/img/zoom_in.svg);
}
figure > a:hover::after {
  opacity: 1;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
figure img,
figure iframe {
  display: block;
}
figure img.border,
figure iframe.border {
  border: solid 1px lightgray;
}
figure figcaption {
  font-size: smaller;
  word-break: break-all;
  line-height: 1.2;
  margin: 0.8em auto;
}
figure figcaption.center {
  text-align: center;
}
figure figcaption.justify {
  text-align: justify;
}

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

Stylesheet: Form Styles

We put all the form and button styles in here to setup a consistent
look. If we need to customize them, we can do this in the main
stylesheets and just override them. Easy Peasy.

You're gonna see a few data-uri thingies down there. If you're not
sure what they are, check this link out:
http://css-tricks.com/data-uris/
If you want to create your own, use this helpful link:
http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/

******************************************************************/
/*********************
INPUTS
*********************/
/*********************
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
*********************/
html {
  font-size: 62.5%;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
  color: #000000;
  line-height: 2;
  position: relative;
}
html body {
  cursor: default !important;
  font-size: 1.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
html body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
html body #page {
  opacity: 0;
}
html body #page.cmpl {
  opacity: 1;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  cursor: pointer !important;
}
a:hover {
  opacity: 0.7;
}

ul,
ol {
  padding-left: 1.5em;
}
ul ul,
ul ol,
ol ul,
ol ol {
  padding-left: 1em;
}

br.sp {
  display: initial;
}
br.pc {
  display: none;
}

.wrap, #topOnContainer .mainTitle, #page #container {
  width: 100%;
  max-width: 960px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.mini_wrap {
  width: 100%;
  margin: 0 auto;
}

.wide_wrap, #masthead .inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

#page {
  min-width: 250px;
  max-width: 2000px;
  margin: 0 auto;
  position: relative;
}
#page #masthead {
  height: 50px;
  z-index: 9999;
}
#page #container main + aside {
  z-index: 99;
  display: none;
  position: fixed;
  right: 0;
  bottom: calc(40px + 4rem);
  max-height: 60vh;
  overflow-y: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
#page #container main + aside::-webkit-scrollbar {
  /* Hide scrollbar for IE, Edge and Firefox */
  display: none;
}
#page #colophon #wbtns {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 9999;
}
#page:not(._scrolled) #wbtns #btn_top {
  display: none !important;
}
#page.parallax {
  background-image: url(/common/css/responsive/img/Houndstooth.jpg);
  background-color: rgba(255, 255, 255, 0.85);
  background-blend-mode: lighten;
}
#page.parallax #container {
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0px 0px 15px darkgray;
          box-shadow: 0px 0px 15px darkgray;
}
#page.parallax #container aside {
  background: transparent;
}
#page #fix_contact {
  position: fixed;
  left: 0;
  bottom: 2rem;
  z-index: 1;
}
#page #fix_contact .inner a {
  font-size: 1.6rem;
  background: #203864;
  padding: 0.5em 2em 0.5em 1em;
  color: #ffffff;
  font-weight: bold;
  position: relative;
  border-top: solid 5px #70ad47;
  border-bottom: solid 5px #70ad47;
  border-radius: 0 0.5rem 0.5rem 0;
  -webkit-box-shadow: 2px 3px 8px gray;
          box-shadow: 2px 3px 8px gray;
}
#page #fix_contact .inner a::after {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  height: 0.23em;
  width: 0.23em;
  border: solid 0.2em transparent;
  border-top: solid 0.2em #ffffff;
  border-left: solid 0.2em #ffffff;
  margin: 0 0.3em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
  position: absolute;
  top: 50%;
  right: 0.5em;
}

#masthead {
  width: 100%;
  background: #ffffff;
}
#masthead .inner {
  padding: 0.5rem;
  height: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  height: 100%;
}
#masthead .inner a#logo {
  height: 100%;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 270px;
}
#masthead .inner a#logo img {
  height: 100%;
}
#masthead .inner #toggle_nav {
  display: initial;
}
#masthead .inner #toggle_nav.on + nav {
  -webkit-box-shadow: 2px 3px 8px gray;
          box-shadow: 2px 3px 8px gray;
  width: 15em;
  will-change: transform;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
#masthead .inner nav {
  width: 0;
  will-change: transform;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
  max-width: 100vw;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 999;
  background: #ffffff;
  overflow: hidden;
}
#masthead .inner nav ul#global_nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
#masthead .inner nav ul#global_nav > li {
  border-bottom: solid 1px lightgray;
  text-align: center;
  overflow: hidden;
}
#masthead .inner nav ul#global_nav > li.wgf {
  -webkit-box-ordinal-group: 1000;
  -webkit-order: 999;
      -ms-flex-order: 999;
          order: 999;
  padding: 0.5em;
  border-bottom: none;
}
#masthead .inner nav ul#global_nav > li.wgf form {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#masthead .inner nav ul#global_nav > li.wgf form input[type=text] {
  width: calc(100% - 1.5em);
  border: solid 1px gray;
  border-radius: 3px 0 0 3px;
}
#masthead .inner nav ul#global_nav > li.wgf form input[type=text]::-webkit-input-placeholder {
  text-align: center;
  font-size: smaller;
}
#masthead .inner nav ul#global_nav > li.wgf form input[type=text]::-moz-placeholder {
  text-align: center;
  font-size: smaller;
}
#masthead .inner nav ul#global_nav > li.wgf form input[type=text]:-ms-input-placeholder {
  text-align: center;
  font-size: smaller;
}
#masthead .inner nav ul#global_nav > li.wgf form input[type=text]::-ms-input-placeholder {
  text-align: center;
  font-size: smaller;
}
#masthead .inner nav ul#global_nav > li.wgf form input[type=text]::placeholder {
  text-align: center;
  font-size: smaller;
}
#masthead .inner nav ul#global_nav > li.wgf form input[type=submit] {
  width: 1.5em;
  background: #eeeeee;
  background-image: url("/common/css/responsive/img/ico-search.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  border: none;
  border: solid 1px gray;
  border-left: none;
  border-radius: 0 3px 3px 0;
  cursor: pointer;
}
#masthead .inner nav ul#global_nav > li a {
  line-height: 1;
  display: block;
  padding: 1em 1em;
  font-weight: 500;
  white-space: nowrap;
}
#masthead .inner nav ul#global_nav > li a:hover, #masthead .inner nav ul#global_nav > li a.active {
  background: gray;
  color: #ffffff;
}
#masthead .inner #search_site {
  float: right;
}

#topOnContainer {
  height: 270px;
  background: -webkit-gradient(linear, left top, right top, from(#2a4b86), to(#3d6dc3));
  background: -webkit-linear-gradient(left, #2a4b86, #3d6dc3);
  background: linear-gradient(to right, #2a4b86, #3d6dc3);
  overflow: hidden;
  position: relative;
}
#topOnContainer.full {
  height: calc(100vh - 50px);
  max-height: 1000px;
  min-height: 550px;
}
#topOnContainer.tq {
  height: calc(50vh - 50px);
  max-height: 750px;
  min-height: 410px;
}
#topOnContainer.half {
  height: calc(50vh - 50px);
  max-height: 500px;
  min-height: 275px;
}
#topOnContainer .mainTitle {
  position: relative;
  height: 100%;
}
#topOnContainer .mainTitle h1 {
  padding: 0.5rem;
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  margin: 0;
  letter-spacing: 0.1em;
  text-shadow: 1px 1px 0.5em #000000, -1px 1px 0.5em #000000, 1px -1px 0.5em #000000, -1px -1px 0.5em #000000;
}
#topOnContainer .mainTitle h1 .sub {
  display: block;
  font-size: 0.5em;
  margin: 0.8em 0 0;
  text-transform: uppercase;
}
#topOnContainer .mainTitle .inner {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
#topOnContainer .mainTitle .inner h1 {
  position: relative;
  top: 0;
  left: 0;
  -webkit-transform: none;
          transform: none;
}
#topOnContainer .mainTitle .inner .sub_title {
  text-shadow: 1px 1px 0.5em #000000, -1px 1px 0.5em #000000, 1px -1px 0.5em #000000, -1px -1px 0.5em #000000;
  color: white;
  font-size: 1.1em;
  margin: 0.5rem auto 0;
  text-transform: uppercase;
  font-weight: bold;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#topOnContainer .photographer {
  position: absolute;
  bottom: 0;
  right: 1em;
  font-size: small;
  color: white;
  text-shadow: 0 0 0.5em gray;
}

#container main {
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 5rem;
}
#container main h2 {
  font-size: 1.5em;
}
#container main h3 {
  padding-top: 0.5em;
  font-size: 1.2em;
  color: #666666;
}
#container main h4 {
  font-size: 1.1em;
}
#container main h5 {
  font-size: 1em;
}
#container main + aside {
  background: #ffffff;
  border: solid 1px lightgray;
  border-bottom: solid 3px lightgray;
  -webkit-box-shadow: 2px 3px 8px gray;
          box-shadow: 2px 3px 8px gray;
  min-width: 190px;
  width: 190px;
}
#container main + aside > .inner {
  padding: 1.5rem 0.5rem;
}
#container main + aside > .inner > a {
  display: block;
  width: 90%;
  background: #ffffff;
  text-align: center;
  margin: 1rem auto;
  border: solid 1px skyblue;
  border-radius: 0.3em;
  padding: 0 0.5em;
}
#container main + aside > .inner h4 {
  font-weight: normal;
  padding-bottom: 0.3em;
  margin-bottom: 1rem;
  text-align: center;
  border-bottom: solid 2px skyblue;
}
#container main + aside > .inner nav {
  font-size: 0.9em;
}
#container main + aside > .inner nav:not(:last-of-type) {
  margin-bottom: 2rem;
}
#container main + aside > .inner nav select {
  display: block;
  max-width: calc(100% - 1rem);
  margin: 0 auto 1em;
}
#container main + aside > .inner nav ul {
  display: block;
  padding: 0.25rem;
  list-style: none;
}
#container main + aside > .inner nav ul > li {
  padding: 0.5em 0.25em;
  margin-bottom: 0em;
  font-size: 1.4rem;
}
#container main + aside > .inner nav ul > li:not(:last-of-type) {
  border-bottom: solid 1px lightgray;
}
#container main + aside > .inner nav ul > li > a {
  display: block;
  width: 100%;
  line-height: 1.28;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: 3.84em;
  height: auto;
}
#container main + aside > .inner nav ul > li > a * {
  text-decoration: none !important;
  text-align: left;
}
#container main + aside > .inner nav ul > li > a span {
  display: inline;
}
#container main + aside > .inner nav ul > li > a br {
  display: none;
}
#container main + aside > .inner nav ul > li > a .title {
  display: inline;
  width: 100%;
}
#container main + aside > .inner nav ul > li > a .title::before {
  content: "\a";
  white-space: pre;
}
#container main + aside > .inner nav ul > li.active {
  border-left: solid 3px skyblue;
  font-weight: bold;
}
#container main + aside > .inner nav ul > li.active > a {
  display: block;
  overflow: unset;
  max-height: unset;
  pointer-events: none;
}
#container main + aside > .inner nav ul > li.active > a .title,
#container main + aside > .inner nav ul > li.active > a .title * {
  color: black !important;
}
#container main + aside > .inner nav ul.keepPointer > li > a {
  pointer-events: auto !important;
}
#container main + aside > .inner nav .arrow::before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  height: 0.23em;
  width: 0.23em;
  border: solid 0.2em transparent;
  border-top: solid 0.2em #e50012;
  border-left: solid 0.2em #e50012;
  margin: 0 0.3em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
#container main + aside > .inner nav > a {
  display: block;
  line-height: 1.28;
  margin: 1em auto;
  text-align: center;
}
#container main + aside .aside_disp {
  display: block;
}

:not(aside).aside_disp {
  display: none;
}

#colophon {
  background: #000000;
  padding: 2rem;
}
#colophon .inner {
  color: #ffffff;
  text-align: center;
  font-size: smaller;
  line-height: 1.5;
}
#colophon .inner .info > div:not(:last-of-type) {
  margin-bottom: 0.5em;
}
#colophon .inner .info .address {
  text-align: center;
}
#colophon .inner .info .access {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
#colophon .inner #copyright {
  margin-top: 1em;
}
#colophon .inner #copyright::before {
  content: "©";
}
#colophon #wbtns {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 9999;
}
#colophon #wbtns button {
  display: inline-block;
  vertical-align: bottom;
  border: none;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  outline: 0;
  font-size: 1.3rem;
  border-radius: 0.5rem;
  -webkit-box-shadow: 2px 3px 8px gray;
          box-shadow: 2px 3px 8px gray;
  cursor: pointer;
}
#colophon #wbtns button#btn_top {
  background: skyblue;
  color: #ffffff;
  position: relative;
  padding-top: 1.3em;
  display: initial;
}
#colophon #wbtns button#btn_top::before {
  content: "";
  position: absolute;
  display: block;
  height: 0.8em;
  width: 0.8em;
  border: solid 3.5px transparent;
  border-left: solid 3.5px #ffffff;
  border-top: solid 3.5px #ffffff;
  margin: 0 auto;
  top: 25%;
  left: 50%;
  -webkit-transform: translate(-50%, 0) rotate(45deg);
          transform: translate(-50%, 0) rotate(45deg);
}
#colophon #wbtns button#btn_navi {
  background: #ff9900;
  color: #ffffff;
}
#colophon #wbtns button#btn_navi + #btn_top {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: absolute;
  left: 0;
  z-index: -1;
  opacity: 0;
}
#colophon #wbtns button#btn_navi.on::after {
  content: "close";
  display: block;
}
#colophon #wbtns button#btn_navi.on + #btn_top {
  opacity: 1;
  -webkit-transform: translateX(calc(-100% - 1.5rem));
          transform: translateX(calc(-100% - 1.5rem));
}

.indent-box {
  padding-left: 0;
}

.sp-center {
  text-align: center;
}

.cstm_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 2rem;
  gap: 2rem;
}
.cstm_flex.half > * {
  width: 100%;
}
.cstm_flex.middle {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.cstm_flex.center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cstm_flex + .caption {
  font-size: smaller;
  line-height: 1.28;
  text-align: center;
  width: 90%;
  display: block;
  margin: 0.8em auto 0;
}
.cstm_flex + .caption.jf {
  text-align: justify;
}

.cstm_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1em;
}
.cstm_list > div:nth-child(1) {
  width: 100%;
}
.cstm_list > div:nth-child(2) {
  width: 100%;
}
.cstm_list.tc_narrow > div {
  text-align: center;
}

.wrap_cl > .cstm_list {
  padding: 1rem;
}
.wrap_cl.border > .cstm_list:not(:last-of-type) {
  border-bottom: solid 1px lightgray;
}

section {
  padding: 2rem 0;
}

article {
  padding: 1rem 0.5rem;
}
article:not(:last-of-type) {
  border-bottom: solid 1px gray;
  padding-bottom: 2rem;
}
article .ud {
  font-size: smaller;
  float: right;
  margin-left: 1rem;
}
article .topRight,
article .over {
  text-align: right;
  margin-top: 1em;
  line-height: 1.28;
}
article .over {
  margin-top: 0.8em;
  clear: both;
}
article.h_small h2 {
  padding-top: 0.5em;
  font-size: 1.2em !important;
  color: #666666;
}
article.h_small h3 {
  font-size: 1.1em;
}
article.h_small h4,
article.h_small h5 {
  font-size: 1em;
}
article.jf {
  text-align: justify;
}

.signature {
  text-align: right;
  margin-top: 1em;
  line-height: 1.28;
}

.scroll_h {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  position: relative;
  margin-bottom: 2rem;
}
.scroll_h.hideBar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scroll_h.hideBar::-webkit-scrollbar {
  display: none;
}
.scroll_h table {
  margin: 10px auto !important;
}
.scroll_h.scrollable .fwm {
  display: block;
}
.scroll_h .fwm {
  display: none;
  position: absolute;
  width: -webkit-fill-available;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none !important;
}
.scroll_h .fwm.hide {
  -webkit-animation: hideop 0.2s linear 0s;
          animation: hideop 0.2s linear 0s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes hideop {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
    display: none;
  }
}
@keyframes hideop {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
    display: none;
  }
}
.scroll_h .fwm .scroll_hint {
  position: -webkit-sticky;
  position: sticky;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 7em;
  aspect-ratio: 1;
  border-radius: 10%;
  background: black;
  opacity: 0.5;
  padding: 1rem;
  line-height: 1.28;
  text-align: center;
  pointer-events: none;
}
.scroll_h .fwm .scroll_hint div {
  width: 100%;
  height: 50%;
  text-align: center;
  padding: 0.5rem;
  color: white;
  font-size: 0.9em;
  font-weight: bold;
}
.scroll_h .fwm .scroll_hint div img {
  width: auto;
  height: 100%;
  margin: 0 auto;
  -webkit-animation: slide_left 1s linear infinite;
          animation: slide_left 1s linear infinite;
}
@-webkit-keyframes slide_left {
  0% {
    -webkit-transform: rotate(180deg) translateX(-30%);
            transform: rotate(180deg) translateX(-30%);
  }
  100% {
    -webkit-transform: rotate(180deg) translateX(30%);
            transform: rotate(180deg) translateX(30%);
  }
}
@keyframes slide_left {
  0% {
    -webkit-transform: rotate(180deg) translateX(-30%);
            transform: rotate(180deg) translateX(-30%);
  }
  100% {
    -webkit-transform: rotate(180deg) translateX(30%);
            transform: rotate(180deg) translateX(30%);
  }
}

table {
  width: 100%;
  margin: 0 auto 2rem;
  border-spacing: 0;
  border-collapse: collapse;
}
table tr th {
  background: gray;
  color: white;
  padding: 0 0.5em;
  border: solid 1px lightgray;
}
table tr th.tablesorter-header {
  white-space: nowrap;
  cursor: pointer;
}
table tr th.tablesorter-header[aria-sort=none] .tablesorter-header-inner::after {
  background-image: url("/common/css/responsive/img/ico_sort.png");
  margin-left: 0.4em;
}
table tr th.tablesorter-header[aria-sort=ascending] .tablesorter-header-inner::after {
  background-image: url("/common/css/responsive/img/ico_ascending.png");
  margin-left: 0.4em;
}
table tr th.tablesorter-header[aria-sort=descending] .tablesorter-header-inner::after {
  background-image: url("/common/css/responsive/img/ico_descending.png");
  margin-left: 0.4em;
}
table tr td {
  padding: 0 0.5em;
  border: solid 1px lightgray;
}
table.center th,
table.center td {
  text-align: center !important;
}
table.split tr:nth-child(even) {
  background: gainsboro;
}
table .bsl {
  position: relative;
}
table .bsl::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, right top, left bottom, color-stop(49%, transparent), color-stop(50%, #000), color-stop(51%, transparent));
  background-image: -webkit-linear-gradient(right top, transparent 49%, #000 50%, transparent 51%);
  background-image: linear-gradient(to left bottom, transparent 49%, #000 50%, transparent 51%);
}
table .sl {
  position: relative;
}
table .sl::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right bottom, color-stop(49%, transparent), color-stop(50%, #000), color-stop(51%, transparent));
  background-image: -webkit-linear-gradient(left top, transparent 49%, #000 50%, transparent 51%);
  background-image: linear-gradient(to right bottom, transparent 49%, #000 50%, transparent 51%);
}

.cstm_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  margin: 2rem auto;
}
.cstm_flex.middle {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.cstm_flex.bottom {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.cstm_flex.height {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.wrap_img.w20, .wrap_img.w25, .wrap_img.w30, .wrap_img.w35,
figure.w20,
figure.w25,
figure.w30,
figure.w35 {
  max-width: 300px;
}
.wrap_img.w40, .wrap_img.w45, .wrap_img.w50,
figure.w40,
figure.w45,
figure.w50 {
  max-width: 350px;
}
.wrap_img.w60,
figure.w60 {
  max-width: 400px;
}
.wrap_img.w70, .wrap_img.w80,
figure.w70,
figure.w80 {
  width: 100%;
  max-width: 90% !important;
}
.wrap_img.fw,
figure.fw {
  width: 100%;
  margin: 0 auto;
}
.wrap_img.fr, .wrap_img.fl,
figure.fr,
figure.fl {
  margin: 0 auto;
}
.wrap_img.person,
figure.person {
  max-width: 180px !important;
  min-width: 150px !important;
}
.wrap_img.person img,
figure.person img {
  aspect-ratio: 3/4;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

dl.res dt {
  float: none;
  text-align: left !important;
  width: 100%;
}
dl.res dd {
  margin-left: 1.5em !important;
  margin-bottom: 0.5em;
}

.dispSmall {
  display: initial;
}

.dispLarge {
  display: none;
}

#ul_pages {
  list-style: none;
  padding: 0 1em;
  line-height: 1.28;
}
#ul_pages > li {
  margin-bottom: 1em;
}
#ul_pages > li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#ul_pages > li a .date {
  margin-right: 1em;
  display: inline-block;
}
#ul_pages > li a .name {
  margin-right: 1em;
  display: inline-block;
  min-width: 6em;
}
#ul_pages > li a .title {
  display: inline-block;
  width: 100%;
}
#ul_pages > li a .title > span {
  display: inline-block;
}

.floatBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.floatBox.rev .box {
  -webkit-box-ordinal-group: 10000001;
  -webkit-order: 10000000;
      -ms-flex-order: 10000000;
          order: 10000000;
}
.floatBox.fr .box, .floatBox.fl .box {
  margin: 0 auto;
}
.floatBox.w20 .box, .floatBox.w25 .box, .floatBox.w30 .box {
  max-width: 240px;
  min-width: 180px;
}
.floatBox.w35 .box, .floatBox.w40 .box, .floatBox.w45 .box, .floatBox.w50 .box {
  max-width: 300px;
  min-width: 240px;
}

embed[type="application/pdf"].paper_raito.horizontal {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 10px black;
          box-shadow: 0 0 10px black;
  aspect-ratio: 4/3.5;
}

/*********************
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 only screen and (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.

  ******************************************************************/
  .wrap, #page #container, #topOnContainer .mainTitle {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .mini_wrap {
    width: 90%;
  }
  #page #masthead {
    height: 60px;
  }
  #topOnContainer.full {
    height: calc(100vh - 60px);
  }
  #topOnContainer.tq {
    height: calc(75vh - 50px);
  }
  #topOnContainer.half {
    height: calc(50vh - 60px);
  }
  .cstm_flex.height {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .cstm_flex.height .wrap_img {
    max-width: unset !important;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    overflow: hidden;
  }
  .cstm_flex.height .wrap_img a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin: 0 auto;
  }
  .cstm_flex.height .wrap_img .caption {
    text-align: center;
  }
  .cstm_flex.height img,
  .cstm_flex.height iframe {
    height: 200px;
    width: auto;
    display: block;
    margin: 0 auto;
  }
  .cstm_flex.height.h225 img,
  .cstm_flex.height.h225 iframe {
    height: 225px;
  }
  .cstm_flex.height.h250 img,
  .cstm_flex.height.h250 iframe {
    height: 250px;
  }
  .wrap_img.person {
    width: 140px;
    max-width: unset;
  }
  .wrap_img.w20.fr, .wrap_img.w25.fr, .wrap_img.w30.fr {
    float: right;
    padding-left: 1.5rem;
  }
  .wrap_img.w20.fl, .wrap_img.w25.fl, .wrap_img.w30.fl {
    float: left;
    padding-right: 1.5rem;
  }
  .wrap_img.fw {
    width: 90%;
  }
  .floatBox.w20, .floatBox.w25, .floatBox.w30 {
    display: initial;
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
    -webkit-flex-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
  }
  .floatBox.w20.fl .box, .floatBox.w25.fl .box, .floatBox.w30.fl .box {
    float: left;
    padding-right: 1.5rem;
    max-width: 200px;
  }
  .floatBox.w20.fr .box, .floatBox.w25.fr .box, .floatBox.w30.fr .box {
    float: right;
    padding-left: 1.5rem;
    max-width: 200px;
  }
  embed[type="application/pdf"].paper_raito.horizontal {
    aspect-ratio: 4/3.25;
  }
}
/*********************
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 only screen and (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!

  ******************************************************************/
  html body {
    font-size: 1.6rem;
  }
  ul,
  ol {
    padding-left: 2.5em;
  }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    padding-left: 1.5em;
  }
  br.sp {
    display: none !important;
  }
  br.pc {
    display: inherit !important;
  }
  .wrap, #page #container, #topOnContainer .mainTitle {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .mini_wrap {
    width: 80%;
  }
  #page #masthead {
    will-change: height;
    will-change: opacity;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    height: 70px;
  }
  #page #masthead._fixed, #page #masthead.fixed {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-box-shadow: 2px 3px 8px gray;
            box-shadow: 2px 3px 8px gray;
  }
  #page #container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #page #container main {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: calc(100% - 160px);
  }
  #page #container main + aside {
    width: 160px;
    min-width: unset !important;
    display: block !important;
    position: relative;
    right: unset;
    bottom: unset;
    max-height: unset;
    overflow-y: unset;
  }
  #page #container main + aside .inner {
    will-change: top;
    -webkit-transition: top 0.3s;
    transition: top 0.3s;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    overflow-y: scroll;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  #page #container main + aside .inner::-webkit-scrollbar {
    /* Hide scrollbar for IE, Edge and Firefox */
    display: none;
  }
  #page #container main + aside .inner #aside_to_top {
    display: none;
  }
  #page #colophon #wbtns #btn_navi {
    display: none !important;
  }
  #page.scroll #topOnContainer {
    -webkit-box-shadow: 2px 3px 8px gray;
            box-shadow: 2px 3px 8px gray;
    z-index: 999;
  }
  #page.scroll #container {
    padding-right: 0;
  }
  #page.scroll #container main {
    max-height: 120vh;
    overflow-y: scroll;
    position: relative;
  }
  #page.scroll #colophon #wbtns {
    display: none;
  }
  #page._scrolled #masthead.fixed, #page._scrolled #masthead._fixed {
    opacity: 0;
    height: 0;
    overflow: hidden;
  }
  #page._scrolled #masthead.fixed:hover, #page._scrolled #masthead._fixed:hover {
    opacity: 1;
  }
  #page._scrolled #masthead .inner nav ul#global_nav > li.wgf {
    display: none;
  }
  #page._scrolled #colophon #wbtns #btn_top {
    display: initial !important;
    opacity: 1 !important;
    position: unset !important;
    z-index: unset !important;
    -webkit-transform: unset !important;
            transform: unset !important;
  }
  #page._scrolled._upping #masthead.fixed, #page._scrolled._upping #masthead._fixed {
    height: 50px !important;
    opacity: 0.85;
  }
  #page._scrolled._upping #masthead.fixed:hover, #page._scrolled._upping #masthead._fixed:hover {
    opacity: 1;
  }
  #page._scrolled._upping #container main + aside .inner {
    top: 50px;
  }
  #page.scroll._scrolled._upping #container main + aside .inner {
    top: 0;
  }
  #page #fix_contact {
    bottom: 15%;
  }
  #masthead .inner {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  #masthead .inner a#logo {
    width: 300px;
    min-height: 30px;
  }
  #masthead .inner #toggle_nav {
    display: none;
  }
  #masthead .inner nav {
    width: 100% !important;
    position: unset !important;
    -webkit-box-shadow: unset !important;
            box-shadow: unset !important;
  }
  #masthead .inner nav ul#global_nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  #masthead .inner nav ul#global_nav > li {
    border-bottom: none;
    text-align: center;
    padding: 0.5rem 0.5rem;
  }
  #masthead .inner nav ul#global_nav > li.wgf {
    width: 100%;
    padding: 0.5rem;
    border: none !important;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
  #masthead .inner nav ul#global_nav > li.wgf form {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    margin-left: auto;
  }
  #masthead .inner nav ul#global_nav > li.wgf form input[type=text] {
    width: 13em;
    height: 1.4em;
  }
  #masthead .inner nav ul#global_nav > li.wgf form input[type=submit] {
    height: 1.4em;
  }
  #masthead .inner nav ul#global_nav > li:not(:last-of-type) {
    border-bottom: none;
    border-right: solid 1px lightgray;
  }
  #masthead .inner nav ul#global_nav > li a {
    padding: 0;
    color: inherit !important;
    background: inherit !important;
    white-space: unset;
    position: relative;
  }
  #masthead .inner nav ul#global_nav > li a span {
    white-space: nowrap;
  }
  #masthead .inner nav ul#global_nav > li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0.3em);
            transform: translate(-50%, 0.3em);
    display: block;
    width: 0;
    height: 2px;
    background: #e50012;
    margin: 0 auto;
    will-change: width;
    -webkit-transition: width 0.3s ease;
    transition: width 0.3s ease;
  }
  #masthead .inner nav ul#global_nav > li a.active::after {
    width: 100% !important;
    opacity: 1;
    -webkit-transition: width 0.3s ease;
    transition: width 0.3s ease;
  }
  #masthead .inner nav ul#global_nav > li a.active.sub::after {
    background: #3d6dc3;
  }
  #masthead .inner nav ul#global_nav > li a:hover::after {
    width: 80%;
    -webkit-transition: width 0.3s ease;
    transition: width 0.3s ease;
  }
  #topOnContainer {
    padding-top: 70px;
  }
  #topOnContainer.full {
    height: 100vh;
  }
  #topOnContainer.tq {
    height: 75vh;
  }
  #topOnContainer.half {
    height: 50vh;
  }
  #container main + aside {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    border: none;
  }
  #container main + aside > .inner nav ul > li > a {
    -webkit-line-clamp: 2;
    max-height: 2.56em;
  }
  .indent-box {
    padding-left: 1em;
  }
  .sp-center {
    text-align: left;
  }
  .cstm_flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .cstm_flex.half > * {
    width: 50%;
  }
  .cstm_flex.height img {
    height: 200px;
    width: auto;
    margin: 0 auto;
  }
  .cstm_flex.height iframe {
    height: 200px;
  }
  .cstm_flex.height.h180 img {
    height: 180px;
  }
  .cstm_flex.height.h180 iframe {
    height: 180px;
  }
  .cstm_flex.height.h230 img {
    height: 230px;
  }
  .cstm_flex.height.h230 iframe {
    height: 230px;
  }
  .cstm_flex.height.h250 img {
    height: 250px;
  }
  .cstm_flex.height.h250 iframe {
    height: 250px;
  }
  .cstm_flex.height.h280 img {
    height: 280px;
  }
  .cstm_flex.height.h280 iframe {
    height: 280px;
  }
  .cstm_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 0.3em;
  }
  .cstm_list > div:nth-child(1) {
    width: 3em;
  }
  .cstm_list > div:nth-child(2) {
    width: calc(100% - 3em);
  }
  .cstm_list.tc_narrow > div {
    text-align: left;
  }
  .cstm_list.em4 > div:nth-child(1) {
    width: 4em;
  }
  .cstm_list.em4 > div:nth-child(2) {
    width: calc(100% - 4em);
  }
  .cstm_list.em6 > div:nth-child(1) {
    width: 6em;
  }
  .cstm_list.em6 > div:nth-child(2) {
    width: calc(100% - 6em);
  }
  .cstm_list.em7 > div:nth-child(1) {
    width: 7em;
  }
  .cstm_list.em7 > div:nth-child(2) {
    width: calc(100% - 7em);
  }
  .cstm_list.em8 > div:nth-child(1) {
    width: 8em;
  }
  .cstm_list.em8 > div:nth-child(2) {
    width: calc(100% - 8em);
  }
  .cstm_list.dtr > div:nth-child(1) {
    text-align: right;
    padding-right: 0.5em;
  }
  .cstm_list.dtc > div:nth-child(1) {
    text-align: center;
    padding-right: 0.5em;
  }
  article {
    padding: 1rem;
  }
  .wrap_img,
  figure {
    max-width: unset !important;
  }
  .wrap_img.w20,
  figure.w20 {
    width: 20%;
  }
  .wrap_img.w25,
  figure.w25 {
    width: 25%;
  }
  .wrap_img.w30,
  figure.w30 {
    width: 30%;
  }
  .wrap_img.w35,
  figure.w35 {
    width: 35%;
  }
  .wrap_img.w40,
  figure.w40 {
    width: 40%;
  }
  .wrap_img.w45,
  figure.w45 {
    width: 45%;
  }
  .wrap_img.w50,
  figure.w50 {
    width: 50%;
  }
  .wrap_img.w60,
  figure.w60 {
    width: 60%;
  }
  .wrap_img.w70,
  figure.w70 {
    width: 70%;
  }
  .wrap_img.w80,
  figure.w80 {
    width: 80%;
  }
  .wrap_img.fw,
  figure.fw {
    width: 80%;
  }
  .wrap_img.fr,
  figure.fr {
    float: right;
    padding-left: 2.5rem;
  }
  .wrap_img.fl,
  figure.fl {
    float: left;
    padding-right: 2.5rem;
  }
  .wrap_img.person,
  figure.person {
    width: 150px;
    max-width: 150px !important;
  }
  dl.res.dtr dt {
    text-align: right !important;
  }
  dl.res dt {
    float: left;
    text-align: inherit;
    width: 8em;
  }
  dl.res dd {
    margin-left: 8em !important;
  }
  dl.res.em4 dt {
    width: 4em;
  }
  dl.res.em4 dd {
    margin-left: 4em !important;
  }
  dl.res.em5 dt {
    width: 5em;
  }
  dl.res.em5 dd {
    margin-left: 5em !important;
  }
  dl.res.em10 dt {
    width: 10em;
  }
  dl.res.em10 dd {
    margin-left: 10em !important;
  }
  dl.res.em13 dt {
    width: 13em;
  }
  dl.res.em13 dd {
    margin-left: 13em !important;
  }
  .dispSmall {
    display: none;
  }
  .dispLarge {
    display: initial;
  }
  #ul_pages > li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
  #ul_pages > li a .date {
    margin-right: 1em;
  }
  #ul_pages > li a .name {
    text-align: center;
  }
  #ul_pages > li a .title {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .floatBox {
    display: initial;
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
    -webkit-flex-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
  }
  .floatBox > *:not(.box) {
    margin-top: 0.5em !important;
    padding-top: 0 !important;
  }
  .floatBox.w20 .box {
    width: 20%;
  }
  .floatBox.w25 .box {
    width: 25%;
  }
  .floatBox.w30 .box {
    width: 30%;
  }
  .floatBox.w35 .box {
    width: 35%;
  }
  .floatBox.w40 .box {
    width: 40%;
  }
  .floatBox.w45 .box {
    width: 45%;
  }
  .floatBox.w50 .box {
    width: 50%;
  }
  .floatBox.w70 .box {
    width: 70%;
  }
  .floatBox.w80 .box {
    width: 80%;
  }
  .floatBox.fl .box {
    float: left;
    padding-right: 1.5rem;
  }
  .floatBox.fr .box {
    float: right;
    padding-left: 1.5rem;
  }
  .floatBox .box:not(.person) {
    max-width: unset !important;
  }
  embed[type="application/pdf"].paper_raito.horizontal {
    aspect-ratio: 4/3.1;
  }
}
/*********************
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 only screen and (min-width: 1030px) {
  /******************************************************************
  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.

  ******************************************************************/
  #masthead .inner nav ul#global_nav li {
    font-size: 1em;
    padding: 0.5rem 1rem;
  }
  embed[type="application/pdf"].paper_raito.horizontal {
    aspect-ratio: 4/3.05;
  }
}
/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (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.

  ******************************************************************/
  #page #container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
  }
  #page #container main {
    width: 100%;
  }
  #page #container main + aside {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(100%);
    width: 12vw;
    min-width: 150px;
    max-width: 200px;
  }
  #page.parallax #container {
    -webkit-box-shadow: -5px 0px 5px darkgray;
            box-shadow: -5px 0px 5px darkgray;
  }
  #page.parallax #container aside {
    background: rgba(255, 255, 255, 0.9);
    -webkit-box-shadow: 5px 0px 5px darkgray;
            box-shadow: 5px 0px 5px darkgray;
  }
  .scroll_h {
    overflow-x: unset;
    white-space: unset;
    -webkit-overflow-scrolling: unset;
  }
  .scroll_h .fwm {
    display: none;
  }
  embed[type="application/pdf"].paper_raito.horizontal {
    aspect-ratio: 4/3.02;
  }
}
/*********************
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 only screen and (-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(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(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.

  ******************************************************************/
  #btn_navi {
    display: none !important;
  }
  .print_off {
    display: none !important;
  }
  #page #masthead {
    display: none;
  }
  #page #container {
    width: 100%;
    max-width: unset;
  }
  #page #container > aside {
    display: none;
  }
}
#page.df_top h2 {
  font-size: 1.8rem;
}
#page.df_top #topOnContainer {
  background: unset;
  height: unset;
}
#page.df_top #topOnContainer #top_catch {
  position: relative;
  height: calc(100vh - 50px - 130px);
  min-height: 570px;
  max-height: 600px;
}
#page.df_top #topOnContainer #top_catch::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(-50vw + 50%);
  right: calc(-50vw + 50%);
  top: 0;
  bottom: 0;
  background-image: url("/DF2022/img/top/top-catch-3-sp.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: -1;
}
#page.df_top #topOnContainer #top_catch h1 {
  margin: 0;
  padding: 1em;
  color: white;
  text-shadow: 1px 1px 3px gray, -1px 1px 3px gray, 1px -1px 3px gray, -1px -1px 3px gray;
  text-align: center;
  font-size: 1.5em;
}
#page.df_top #topOnContainer #top_catch h1 span {
  margin-right: -0.3em;
}
#page.df_top #topOnContainer #top_catch h1 span.yellow {
  color: yellow;
}
#page.df_top #topOnContainer #top_catch h1 .en {
  display: inline-block;
  font-size: 0.6em;
  font-weight: normal;
}
#page.df_top #topOnContainer #top_catch #catch_message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem;
}
#page.df_top #topOnContainer #top_catch #catch_message > #since {
  margin: 1em 2em;
  width: 11em;
  min-width: 11em;
  height: 11em;
  border-radius: 50%;
  border: solid 2px #e50012;
  background: #ffffff;
  -webkit-box-shadow: 2px 3px 0 #e50012;
          box-shadow: 2px 3px 0 #e50012;
}
#page.df_top #topOnContainer #top_catch #catch_message > #since .inner {
  width: 100%;
  height: 100%;
  position: relative;
}
#page.df_top #topOnContainer #top_catch #catch_message > #since .inner::before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../../img/top/since.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 1.5em;
  top: 35%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#page.df_top #topOnContainer #top_catch #catch_message > #since .inner::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../../img/top/df_logo.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 1.35em;
  top: 64%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#page.df_top #topOnContainer #top_catch #catch_message > #message {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.2em;
  line-height: 1;
  color: white;
  font-size: 1.3em;
  margin: 1em 2em;
  text-shadow: 1px 1px 5px gray, -1px 1px 5px gray, 1px -1px 5px gray, -1px -1px 5px gray;
}
#page.df_top #topOnContainer #top_catch #catch_message > #message span {
  display: inline-block;
  padding: 0 0.5em;
  border-left: solid 1px white;
  white-space: nowrap;
}
#page.df_top #topOnContainer #aboutus {
  position: relative;
  height: 15rem;
  overflow: hidden;
}
#page.df_top #topOnContainer #aboutus .fit_center {
  position: absolute;
  top: 50%;
  left: calc(50% + 1.4em);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#page.df_top #topOnContainer #aboutus .fit_center > div {
  line-height: 1;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
#page.df_top #topOnContainer #aboutus .fit_center > div::before {
  content: "";
  position: absolute;
  width: 4.5em;
  height: 4.5em;
  background: #d60e19;
  border-radius: 100%;
  left: -1rem;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
}
#page.df_top #topOnContainer #aboutus .fit_center > div::after {
  content: "";
  position: absolute;
  width: 2em;
  height: 2em;
  background-image: url(../../img/top/check.svg);
  background-repeat: no-repeat;
  background-size: contain;
  left: -1rem;
  top: 60%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#page.df_top #topOnContainer #aboutus .fit_center > div > span {
  position: relative;
  z-index: 1;
  display: block;
  white-space: nowrap;
  padding: 0.4em 2em;
  font-size: 1em;
  font-weight: bold;
}
#page.df_top #topOnContainer #aboutus .fit_center > div > span:first-of-type {
  border: solid 3px #d60e19;
  border-radius: 0 5em 0 0;
  color: #555;
}
#page.df_top #topOnContainer #aboutus .fit_center > div > span:last-of-type {
  background: #d60e19;
  color: white;
  border-radius: 0 0 5em 0;
}
#page.df_top #topOnContainer #aboutus .fit_center:hover > div::after {
  -webkit-animation: r3 0.4s ease-out infinite alternate;
          animation: r3 0.4s ease-out infinite alternate;
}
@-webkit-keyframes r3 {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(1) rotate(0deg);
            transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.25) rotate(10deg);
            transform: translate(-50%, -50%) scale(1.25) rotate(10deg);
  }
}
@keyframes r3 {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(1) rotate(0deg);
            transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.25) rotate(10deg);
            transform: translate(-50%, -50%) scale(1.25) rotate(10deg);
  }
}
#page.df_top #container {
  padding: 0;
  background-color: #ffffff;
}
#page.df_top main {
  padding-top: 0;
}
#page.df_top main nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ffffff;
  max-width: 330px;
  margin: 0 auto;
}
#page.df_top main nav > div {
  width: calc(100% - 2rem);
}
#page.df_top main nav > div:not(:last-of-type) {
  margin-bottom: 4rem;
}
#page.df_top main nav > div h2 {
  color: #ffffff;
  background: #2f5597;
  text-align: center;
  line-height: 1.1;
  letter-spacing: 0.2em;
  margin: 0;
  padding: 2rem 0;
}
#page.df_top main nav > div h2 span.small {
  font-size: 0.6em;
}
#page.df_top main nav > div img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 0.5rem;
}
#page.df_top main nav > div ul.links {
  width: 100%;
  list-style: none;
  text-align: center;
  padding: 0;
  margin: 0;
  color: white;
}
#page.df_top main nav > div ul.links > li {
  font-weight: bold;
  background: #D5DDEA;
  color: #2f5597;
  margin-bottom: 0.5rem;
}
#page.df_top main nav > div ul.links > li a {
  display: block;
  line-height: 3;
  position: relative;
}
#page.df_top main nav > div ul.links > li:last-of-type {
  background: #2f5597;
  color: white;
}
#page.df_top main #membersSalon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  padding: 3rem 0 4rem;
  font-size: 1.7rem;
  overflow: hidden;
}
#page.df_top main #membersSalon > div {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5rem 3rem 3rem;
  text-align: center;
  position: relative;
}
#page.df_top main #membersSalon > div a {
  position: relative;
  display: block;
  border: solid 2px #d60e19;
  font-weight: bold;
  background: white;
  z-index: 1;
}
#page.df_top main #membersSalon > div a > div:nth-child(1) {
  position: absolute;
  background: #d60e19;
  color: white;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  width: 12em;
  border-radius: 0.5em 0.5em 0 0;
  font-size: 0.8em;
  line-height: 1.28;
  padding: 0.3em;
}
#page.df_top main #membersSalon > div a > div:nth-child(2) {
  background: #fbe7e8;
  border: solid 8px white;
  padding: 0.5em;
  width: 13em;
  position: relative;
  z-index: 100;
}
#page.df_top main #membersSalon > div a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: solid 2px #d60e19;
  bottom: -10px;
  right: -10px;
}
#page.df_top main #membersSalon > div.office a > div:nth-child(1) {
  line-height: 2.4;
}
#page.df_top main .news {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
#page.df_top main .news > div {
  width: 100%;
  line-height: 1.28;
}
#page.df_top main .news > div h2 {
  background: #2f5597;
  color: white;
  padding: 0.3em 0.8em;
  margin: 0 0.5rem;
  text-align: center;
}
#page.df_top main .news > div.left {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
#page.df_top main .news > div.right {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
#page.df_top main .news > div.right .wrap_event {
  padding-top: 3rem;
}
#page.df_top main .news > div.right .wrap_jimu {
  padding-top: 3rem;
}
#page.df_top main a.all {
  background: #2f5597;
  color: white;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.1em;
  padding: 0.7em 2.5rem;
  margin: 4rem auto 0;
}
#page.df_top main + aside {
  padding: 0;
  background: transparent;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#page.df_top main + aside > .inner {
  padding: 0.3rem;
}
#page.df_top main + aside > .inner nav ul {
  margin: 0;
  padding: 0;
}
#page.df_top main + aside > .inner nav ul > li {
  padding: 0;
  border: unset;
}
#page.df_top main + aside > .inner nav ul > li:not(:last-of-type) {
  margin-bottom: 0.6rem;
}
#page.df_top main + aside > .inner nav ul > li > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: lightgray;
  min-height: 48px;
  padding: 0;
  padding-left: 48px;
  position: relative;
}
#page.df_top main + aside > .inner nav ul > li > a > div {
  text-align: left;
  font-weight: bold;
  color: #ffffff;
  line-height: 1.2;
  overflow: hidden;
  padding-right: 0.3em;
}
#page.df_top main + aside > .inner nav ul > li > a > div > span {
  display: inline-block;
  white-space: nowrap;
}
#page.df_top main + aside > .inner nav ul > li > a::before {
  content: "";
  display: block;
  background: white;
  position: absolute;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  top: 50%;
  left: 24px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#page.df_top main + aside > .inner nav ul > li > a::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 24px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#page.df_top main + aside > .inner nav ul > li > a#df_movie {
  background: #e30b20;
}
#page.df_top main + aside > .inner nav ul > li > a#df_movie::after {
  background: url(../../img/top/df_movie.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
#page.df_top main + aside > .inner nav ul > li > a#df_gallery {
  background: #f15a24;
}
#page.df_top main + aside > .inner nav ul > li > a#df_gallery::after {
  background: url(../../img/top/df_gallery.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
#page.df_top main + aside > .inner nav ul > li > a#df_essay {
  background: #333333;
}
#page.df_top main + aside > .inner nav ul > li > a#df_essay::after {
  background: url(../../img/top/df_essay.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
#page.df_top main + aside > .inner nav ul > li > a#df_old_top {
  background: #666666;
}
#page.df_top main + aside > .inner nav ul > li > a#df_old_top::after {
  background: url(../../img/top/df_old.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
#page.df_top main + aside > .inner nav ul > li > a#df_contact {
  background: #2f5597;
}
#page.df_top main + aside > .inner nav ul > li > a#df_contact::after {
  background: url(../../img/top/df_map.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
#page.df_top main + aside > .inner nav ul > li > a#df_alignment {
  background: #1a7281;
}
#page.df_top main + aside > .inner nav ul > li > a#df_alignment::after {
  background: url(../../img/top/df_alignment.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
#page.df_top main + aside > .inner nav ul > li > a#df_calendar {
  background: #088f69;
}
#page.df_top main + aside > .inner nav ul > li > a#df_calendar::after {
  background: url(../../img/top/df_calendar.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
#page.df_top #bottomOnContainer {
  padding: 2rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}
#page.df_top #bottomOnContainer > * {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 180px;
      -ms-flex: 0 1 180px;
          flex: 0 1 180px;
  padding: 0.5rem 0.25rem;
  text-align: center;
}
#page.df_top #bottomOnContainer #members_essay {
  border: solid 1px #e50012;
  border-radius: 1rem;
  font-size: smaller;
  line-height: 1.28;
  overflow: hidden;
  aspect-ratio: 227/150;
}
#page.df_top #bottomOnContainer #members_essay h3 {
  margin: 0;
  padding: 0.2em;
  color: #ffffff;
  background: #e50012;
  font-size: 1.1rem;
}
#page.df_top #bottomOnContainer #members_essay .flex_info {
  padding: 0.5rem 0.2rem;
  -webkit-box-align: start !important;
  -webkit-align-items: flex-start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}
#page.df_top #bottomOnContainer #members_essay .flex_info > .left {
  padding: 0.5rem;
}
#page.df_top #bottomOnContainer #members_essay .flex_info > .left .title {
  margin: 0;
  padding: 0.2em 0.3em;
  width: 100%;
  border: solid 1px #e50012;
  border-radius: 5px;
  text-align: left;
  min-height: 2.6em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#page.df_top #bottomOnContainer #members_essay .flex_info > .left .auther {
  margin-top: 0.3rem;
  text-align: left;
}
#page.df_top #bottomOnContainer #members_essay .flex_info > .left .auther a {
  position: relative;
}
#page.df_top #bottomOnContainer #members_essay .flex_info > .left .auther a::before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  height: 0.23em;
  width: 0.23em;
  border: solid 0.2em transparent;
  border-top: solid 0.2em #e50012;
  border-left: solid 0.2em #e50012;
  margin: 0 0.3em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
#page.df_top #bottomOnContainer #members_essay .flex_info > .right {
  display: none;
}

#page.sitemap #topOnContainer {
  background-image: url(../../img/top/bg_sitemap-2_s.png);
  background-position: 73% bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

#page.information #topOnContainer {
  background-image: url(../../img/top/bg_sitemap_s.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

#page.sitemap main {
  min-height: 650px;
}
#page.sitemap .tab_content {
  padding: 0.5rem;
}
#page.sitemap .tab_content .inner {
  border: solid 1px lightgray;
  border-top: unset;
}
#page.sitemap .tab_content .inner .w_img {
  aspect-ratio: 2/1;
}
#page.sitemap .tab_content .inner .w_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
#page.sitemap .tab_content .inner .w_img img.ofc {
  -o-object-fit: contain;
     object-fit: contain;
}
#page.sitemap .tab_content .inner .w_links {
  padding: 1rem;
}
#page.sitemap .tab_content .inner .w_links h3 {
  margin: 0.2em 0 0.3em;
  padding: 0;
}
#page.sitemap .tab_content .inner .w_links ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
#page.sitemap .tab_content .inner .w_links ul > li {
  padding: 0 0 0 0.5em;
  white-space: nowrap;
}
#page.sitemap .tab_content .inner .w_links > ul > li {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 100%;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
}
#page.sitemap .tab_content .inner .w_links > ul > li::before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  height: 0.23em;
  width: 0.23em;
  border: solid 0.2em transparent;
  border-top: solid 0.2em #3d6dc3;
  border-left: solid 0.2em #3d6dc3;
  margin: 0 0.3em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  margin-right: 0.5em;
}
#page.sitemap .tab_content .inner .w_links > ul > li > ul > li {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 100%;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
}
#page.sitemap .tab_content .inner .w_links > ul > li > ul > li::before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  height: 0.23em;
  width: 0.23em;
  border: solid 0.2em transparent;
  border-top: solid 0.2em skyblue;
  border-left: solid 0.2em skyblue;
  margin: 0 0.3em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  margin-right: 0.5em;
}

#page.information #container main {
  position: relative;
}
#page.information #container main #select_archive {
  padding: 0.5rem 0.5rem 0;
  text-align: right;
}
#page.information #container main .news_list.topics .title .sub {
  font-weight: normal;
  font-size: 0.9em;
  display: inline-block;
}
#page.information #container main .news_list.topics .excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#page.information #container aside nav #ul_month {
  text-align: center;
}

ul.news_list {
  margin: 0;
  padding: 1rem;
  list-style: none;
}
ul.news_list > li {
  padding: 1rem 0.5rem;
}
ul.news_list > li:not(:last-of-type) {
  border-bottom: solid 1px lightgray;
}
ul.news_list > li a {
  color: #3d6dc3;
  -webkit-text-decoration: underline #3d6dc3 1px;
          text-decoration: underline #3d6dc3 1px;
  text-underline-offset: 3px;
  font-weight: bold;
}
ul.news_list > li a span {
  -webkit-text-decoration: underline #3d6dc3 1px;
          text-decoration: underline #3d6dc3 1px;
}
ul.news_list > li .date {
  font-size: 1em;
  margin-bottom: 0.5em;
}
ul.news_list > li .title {
  display: block;
  font-size: 1em;
  line-height: 1.28;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
ul.news_list > li .title .sub {
  font-weight: normal;
  font-size: 0.9em;
  display: inline-block;
}
ul.news_list > li .excerpt {
  margin: 1rem 0 0;
  text-indent: unset;
  line-height: 1.28;
}
ul.news_list.short > li .excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

ul.event_list {
  margin: 0;
  padding: 1rem;
  list-style: none;
}
ul.event_list > li {
  padding: 1rem 0.5rem;
}
ul.event_list > li:not(:last-of-type) {
  border-bottom: solid 1px lightgray;
}
ul.event_list > li .date {
  font-size: 1em;
  margin-bottom: 0.5em;
}
ul.event_list > li .title {
  color: #3d6dc3;
  font-size: 1em;
  font-weight: bold;
  -webkit-text-decoration: underline #3d6dc3 1px;
          text-decoration: underline #3d6dc3 1px;
  text-underline-offset: 3px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
ul.event_list > li .title[href=""] {
  pointer-events: none !important;
  text-decoration: none !important;
  color: #000000 !important;
}
ul.event_list > li .title[href=""].ico_pdf_after::after {
  content: none;
}
ul.event_list > li .info {
  margin: 1rem 0 1rem 1rem;
  padding: 0 0.5rem;
  line-height: 1.28;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 20em;
      -ms-flex: 1 1 20em;
          flex: 1 1 20em;
}
ul.event_list > li .info dt {
  margin: 0;
  width: 5.5em;
}
ul.event_list > li .info dt::after {
  content: ":";
  display: inline-block;
  margin: 0 0.25em;
}
ul.event_list > li .info dt span.c2 {
  white-space: nowrap;
  letter-spacing: 2em;
}
ul.event_list > li .info dt span.c2::after {
  content: "";
  margin-right: -2em;
}
ul.event_list > li .info dt span.c3 {
  white-space: nowrap;
  letter-spacing: 0.5em;
}
ul.event_list > li .info dt span.c3::after {
  content: "";
  margin-right: -0.5em;
}
ul.event_list > li .info dd {
  margin: 0 0 0.3em 0;
  width: calc(100% - 5.5em);
}

@media only screen and (min-width: 481px) {
  #page.df_top #topOnContainer #top_catch {
    height: calc(100vh - 130px);
    position: relative;
  }
  #page.df_top #topOnContainer #top_catch::before {
    background-position: center 65%;
  }
  #page.df_top #topOnContainer #top_catch h1 {
    font-size: 1.8em;
  }
  #page.df_top main nav {
    padding: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    max-width: unset;
  }
  #page.df_top main nav > div {
    width: calc(50% - 0.5rem);
  }
  #page.df_top #bottomOnContainer > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 240px;
        -ms-flex: 0 1 240px;
            flex: 0 1 240px;
  }
  #page.df_top #bottomOnContainer #members_essay h3 {
    font-size: 1.3rem;
  }
  #page.df_top #bottomOnContainer #members_essay .flex_info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #page.df_top #bottomOnContainer #members_essay .flex_info > .left {
    width: 70%;
  }
  #page.df_top #bottomOnContainer #members_essay .flex_info > .left .title {
    min-height: 4.3em;
    -webkit-line-clamp: 3;
  }
  #page.df_top #bottomOnContainer #members_essay .flex_info > .right {
    width: 30%;
    display: block;
  }
  #page.df_top #bottomOnContainer #members_essay .flex_info > .right .wrap_img {
    padding: 0.3rem;
  }
  #page.sitemap .tab_content .inner .w_img {
    aspect-ratio: 2.5/1;
  }
  #page.sitemap .tab_content .inner .w_links {
    padding: 1rem;
  }
  #page.sitemap .tab_content .inner .w_links > ul > li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 50%;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
}
@media only screen and (min-width: 768px) {
  #page.df_top #topOnContainer {
    padding-top: 0;
  }
  #page.df_top #topOnContainer #top_catch {
    padding-top: 140px;
    position: relative;
    height: calc(100vh - 130px);
    max-height: 1000px;
  }
  #page.df_top #topOnContainer #top_catch::before {
    content: "";
    display: block;
    position: absolute;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    top: 0;
    bottom: 0;
    background-image: url("/DF2022/img/top/top-catch-3.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: -1;
  }
  #page.df_top #topOnContainer #top_catch #catch_message {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  #page.df_top #topOnContainer #aboutus .fit_center > div {
    white-space: nowrap;
    line-height: 1.5;
  }
  #page.df_top #topOnContainer #aboutus .fit_center > div::before {
    width: 3.5em;
    height: 3.5em;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  #page.df_top #topOnContainer #aboutus .fit_center > div::after {
    top: 65%;
  }
  #page.df_top #topOnContainer #aboutus .fit_center > div > span {
    display: inline-block;
  }
  #page.df_top #topOnContainer #aboutus .fit_center > div > span:first-of-type {
    border-radius: unset;
  }
  #page.df_top #topOnContainer #aboutus .fit_center > div > span:last-of-type {
    border-radius: 0 5em 5em 0;
    border: solid 3px #d60e19;
  }
  #page.df_top main nav {
    padding: 0.25rem 0.25rem 0;
  }
  #page.df_top main #membersSalon {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 1.6rem;
  }
  #page.df_top main .news > div h2 {
    text-align: left;
  }
  #page.df_top main + aside {
    background: transparent !important;
    margin: 0 !important;
  }
  #page.df_top main + aside > .inner {
    padding: 0.3rem;
  }
  #page.df_top main + aside > .inner nav ul > li > a#df_movie {
    font-size: 0.85em;
  }
  #page.sitemap #topOnContainer {
    background-image: url(../../img/top/bg_sitemap-2.png);
    background-position: center 10%;
  }
  #page.information #topOnContainer {
    background-image: url(../../img/top/bg_sitemap.png);
    background-position: center 65%;
  }
  #page.sitemap main {
    min-height: 500px;
  }
  #page.sitemap .tab_content .inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #page.sitemap .tab_content .inner .w_img {
    width: 40%;
    aspect-ratio: 3/2;
  }
  #page.sitemap .tab_content .inner .w_links {
    width: 60%;
    padding: 2em;
  }
  #page.information .news_list,
  #page.information .event_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #page.information .news_list > li,
  #page.information .event_list > li {
    width: 49%;
    margin-bottom: 1rem;
    border-bottom: solid 1px lightgray !important;
    border-right: solid 1px lightgray;
  }
}
@media only screen and (min-width: 1030px) {
  #page.df_top #topOnContainer #top_catch h1 {
    text-align: left;
    font-size: 2em;
  }
  #page.df_top main nav {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #page.df_top main nav > div {
    width: 31.5% !important;
    margin-bottom: unset !important;
  }
  #page.df_top main nav > div img {
    aspect-ratio: 5/3 !important;
  }
  #page.df_top main nav > div ul.links > li {
    width: 100% !important;
  }
  #page.df_top main nav > div ul.links > li a {
    font-size: 1em;
    line-height: 2;
  }
  #page.df_top main nav > div ul.links > li a::after {
    right: 0.5em;
  }
  #page.df_top main #membersSalon {
    font-size: 1.7rem;
  }
  #page.df_top main .news {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #page.df_top main .news > div {
    width: 48%;
  }
  #page.df_top main .news > div .wrap_topics {
    border-bottom: none;
  }
  #page.df_top main .news > div.left {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    border-right: solid 1px lightgray;
  }
  #page.df_top main .news > div.right {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  #page.df_top main .news > div.right .wrap_event {
    padding-top: 0;
  }
  #page.df_top main .news .news_list.short .excerpt {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
  #page.df_top #bottomOnContainer > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 230px;
        -ms-flex: 0 1 230px;
            flex: 0 1 230px;
  }
}
@media only screen and (min-width: 1240px) {
  #page.df_top main nav > div ul.links > li a::after {
    right: 1.2em;
  }
  #page.df_top main .news .news_list.short .excerpt {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  #tab_contents > label {
    margin-bottom: 0;
    border-bottom: none;
  }
}/*# sourceMappingURL=home.css.map */