@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

/* perfect-scrollbar v0.6.10 */
.ps-container {
  -ms-touch-action: none;
  touch-action: none;
  overflow: hidden !important;
  -ms-overflow-style: none; }

@supports (-ms-overflow-style: none) {
  .ps-container {
    overflow: auto !important; } }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps-container {
    overflow: auto !important; } }

.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  display: block;
  background-color: transparent; }

.ps-container.ps-in-scrolling {
  pointer-events: none; }

.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999; }

.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999; }

.ps-container > .ps-scrollbar-x-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  opacity: 0;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  -moz-transition: background-color .2s linear, opacity .2s linear;
  -o-transition: background-color .2s linear, opacity .2s linear;
  transition: background-color .2s linear, opacity .2s linear;
  bottom: 3px;
  /* there must be 'bottom' for ps-scrollbar-x-rail */
  height: 8px; }

.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  position: absolute;
  /* please don't change 'position' */
  background-color: #aaa;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: background-color .2s linear;
  -moz-transition: background-color .2s linear;
  -o-transition: background-color .2s linear;
  transition: background-color .2s linear;
  bottom: 0;
  /* there must be 'bottom' for ps-scrollbar-x */
  height: 8px; }

.ps-container > .ps-scrollbar-y-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  opacity: 0;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  -moz-transition: background-color .2s linear, opacity .2s linear;
  -o-transition: background-color .2s linear, opacity .2s linear;
  transition: background-color .2s linear, opacity .2s linear;
  right: 3px;
  /* there must be 'right' for ps-scrollbar-y-rail */
  width: 8px; }

.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  position: absolute;
  /* please don't change 'position' */
  background-color: #aaa;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: background-color .2s linear;
  -moz-transition: background-color .2s linear;
  -o-transition: background-color .2s linear;
  transition: background-color .2s linear;
  right: 0;
  /* there must be 'right' for ps-scrollbar-y */
  width: 8px; }

.ps-container:hover.ps-in-scrolling {
  pointer-events: none; }

.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999; }

.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999; }

.ps-container:hover > .ps-scrollbar-x-rail,
.ps-container:hover > .ps-scrollbar-y-rail {
  opacity: 0.6; }

.ps-container:hover > .ps-scrollbar-x-rail:hover {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
  background-color: #999; }

.ps-container:hover > .ps-scrollbar-y-rail:hover {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
  background-color: #999; }

/* Preload images */
body:after {
  content: url(../images/plugin/lightbox/close.png) url(../images/plugin/lightbox/loading.gif) url(../images/plugin/lightbox/prev.png) url(../images/plugin/lightbox/next.png);
  display: none; }

body.lb-disable-scrolling {
  overflow: hidden; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal; }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  border-radius: 3px; }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  background-color: white;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-container {
  padding: 4px; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/plugin/lightbox/loading.gif) no-repeat; }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10; }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/plugin/lightbox/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/plugin/lightbox/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 4px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/plugin/lightbox/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none; }

/* Anti FOUC */
.remodal,
[data-remodal-id] {
  display: none; }

/* Necessary styles of the overlay */
.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none; }

/* Necessary styles of the wrapper */
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch; }

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: ""; }

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* Necessary styles of the modal dialog */
.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%; }

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block; }

/*  */
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px); }

/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(43, 46, 56, 0.9); }

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes; }

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes; }

/* Default theme styles of the wrapper */
.remodal-wrapper {
  padding: 10px 10px 0; }

/* Default theme styles of the modal dialog */
.remodal {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff; }

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes; }

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes; }

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
  vertical-align: middle; }

/* Close button */
.remodal-close {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: visible;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  -o-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
  color: #95979c;
  border: 0;
  outline: 0;
  background: transparent; }

.remodal-close:hover,
.remodal-close:focus {
  color: #2b2e38; }

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 25px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "\00d7";
  text-align: center; }

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  -o-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0; }

.remodal-confirm {
  color: #fff;
  background: #81c784; }

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a; }

.remodal-cancel {
  color: #fff;
  background: #e57373; }

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350; }

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0; }

/* Keyframes
   ========================================================================== */
@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0); } }
@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0); } }

@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0); } }

@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0); } }

@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

/* Media queries
   ========================================================================== */
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 700px; } }

/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
  background: #2b2e38; }

.lt-ie9 .remodal {
  width: 700px; }

/* ----- nitten kids style ----- */
.remodal-wrapper .remodal {
  border-radius: 5px;
  border: 4px solid #583314;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .remodal-wrapper .remodal {
      padding: 20px; } }
  .kids .remodal-wrapper .remodal {
    color: #583314; }
    .kids .remodal-wrapper .remodal .unit-link-01 {
      margin-top: 30px; }
  .remodal-wrapper .remodal .remodal-close {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    font-size: 2.2rem;
    color: #fff; }
    .remodal-wrapper .remodal .remodal-close:before {
      z-index: 1; }
    .remodal-wrapper .remodal .remodal-close:after {
      content: "";
      z-index: 0;
      position: absolute;
      top: 0;
      right: 0;
      -webkit-transform: translate(50%, -50%) rotate(45deg);
      -ms-transform: translate(50%, -50%) rotate(45deg);
      transform: translate(50%, -50%) rotate(45deg);
      width: 108px;
      height: 108px;
      background-color: #583314; }
      @media screen and (max-width: 768px) {
        .remodal-wrapper .remodal .remodal-close:after {
          width: 78px;
          height: 78px; } }

.cf:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.cf {
  display: inline-table; }

* html .cf {
  height: 1%; }

.cf {
  display: block; }

html, body {
  min-width: 1345px; }
  @media screen and (max-width: 768px) {
    html, body {
      min-width: inherit;
      min-width: auto; } }

html {
  height: 100%;
  font-size: 62.5%; }
  @media screen and (max-width: 768px) {
    html {
      background-size: 4px 4px; } }
  html.kids {
    min-width: 1040px;
    height: auto;
    background: url(../images/kids/common/back.gif) repeat left top transparent;
    background-size: 9px 9px; }
    @media screen and (max-width: 768px) {
      html.kids {
        min-width: inherit;
        min-width: auto; } }
    html.kids body {
      min-width: 1040px;
      height: auto;
      padding-left: 0;
      border: 6px solid #583314;
      background-image: url(../images/kids/common/back_top_left.png), url(../images/kids/common/back_top_right.png), url(../images/kids/common/back_bottom_left.png), url(../images/kids/common/back_bottom_right.png);
      background-repeat: no-repeat, no-repeat, repeat-y, repeat-y;
      background-position: left top, right top, left 761px, right 867px;
      background-size: 700px 680px, 700px 680px, 155px 1342px, 131px 1427px;
      line-height: 1.7;
      font-size: 15px;
      font-size: 1.5rem;
      font-family: "A-OTF 新丸ゴ Pro",A-OTF Shin Maru Go Pro, "新丸ゴ M", "Shin Maru Go Medium", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
      color: #583314; }
      @media screen and (max-width: 768px) {
        html.kids body {
          min-width: inherit;
          min-width: auto;
          border-width: 3px;
          background-image: url(../images/kids/common/back_top_left_sp.png), url(../images/kids/common/back_top_right_sp.png), url(../images/kids/common/back_bottom_left_sp.png), url(../images/kids/common/back_bottom_right_sp.png);
          background-position: left top, right top, left 370px, right 433px;
          background-size: 160px 162px, 160px 162px, 34px 1363px, 34px 1382px;
          line-height: 1.6;
          font-size: 14px;
          font-size: 1.4rem; } }

body {
  padding-left: 230px;
  height: 100%;
  line-height: 1.7;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "FOT-マティス ProN DB", "MatisseProN-DB","游明朝","Yu Mincho",YuMincho,"Hiragino Mincho ProN","HGS明朝E","メイリオ",Meiryo,serif;
  color: #333333;
  -webkit-text-size-adjust: 100%; }
  @media screen and (max-width: 768px) {
    body {
      padding-left: 0;
      line-height: 1.6;
      font-size: 13px;
      font-size: 1.3rem; } }

.kids a:visited {
  color: #583314; }

.kids a:active {
  color: #583314; }

.kids a:hover {
  color: #583314; }

a {
  display: inline-block;
  color: inherit;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
  outline: none;
  text-decoration: none; }
  a:visited {
    color: #333333; }
  a:active {
    color: #333333; }
  a:hover {
    opacity: 0.5;
    color: #333333; }
  a:focus {
    outline: none; }

img {
  display: block;
  height: auto;
  pointer-events: none; }

input, textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

input[type="text"],
input[type="email"],
input[type="mail"],
input[type="tel"],
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 10px 17px;
  border: 1px solid #B3B3B3;
  border-radius: 4px;
  font-size: 1.6rem; }

select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 16px 17px 14px;
  border: 1px solid #b3b3b3;
  border-radius: 4px;
  font-size: 1.6rem;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    select {
      padding: 11px 17px 9px; } }

.back-gray {
  background-color: #F1F1F3; }

.wrapper {
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    .wrapper {
      width: 100%;
      padding-left: 15px;
      padding-right: 15px; } }

.breadcrumb {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .breadcrumb {
      overflow-x: scroll;
      overflow-y: hidden;
      width: 100%;
      height: 40px;
      padding: 0 0 0 10px;
      white-space: nowrap; } }
  .breadcrumb::-webkit-scrollbar {
    width: 0;
    height: 0; }
  .breadcrumb::-webkit-scrollbar-track {
    background: transparent; }
  .breadcrumb::-webkit-scrollbar-thumb {
    background: transparent; }
  @media screen and (max-width: 768px) {
    .breadcrumb .inner {
      display: inline-block;
      padding-right: 10px; } }
  .breadcrumb .inner > span {
    vertical-align: middle;
    display: inline-block;
    margin-left: 1px;
    font-size: 1.1rem;
    line-height: 1;
    color: #95949A;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 768px) {
      .breadcrumb .inner > span {
        margin-left: 3px;
        font-size: 1.1rem; } }
    @media screen and (max-width: 375px) {
      .breadcrumb .inner > span {
        font-size: 1.1rem; } }
    @media screen and (max-width: 320px) {
      .breadcrumb .inner > span {
        font-size: 1.0rem; } }
    .breadcrumb .inner > span:before {
      content: ">";
      vertical-align: middle;
      display: inline-block;
      margin: 0 2px;
      padding: 14px 0 5px;
      font-size: 1.1rem; }
      @media screen and (max-width: 768px) {
        .breadcrumb .inner > span:before {
          margin-right: 3px;
          font-size: 1.0rem; } }
    .breadcrumb .inner > span:first-child {
      margin: 0; }
      .breadcrumb .inner > span:first-child:before {
        display: none; }
    .breadcrumb .inner > span > span,
    .breadcrumb .inner > span a {
      vertical-align: middle;
      display: inline-block;
      padding: 14px 0 5px;
      color: #95949A; }
    .breadcrumb .inner > span a:hover {
      text-decoration: underline; }

.pagenation {
  margin: 50px 0 0;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .pagenation {
      margin: 25px 0 0; } }
  .pagenation .wp-pagenavi .pages {
    display: none; }
  .pagenation .wp-pagenavi .current {
    color: #ffffff; }
  .pagenation .wp-pagenavi > a, .pagenation .wp-pagenavi > span {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    min-width: 42px;
    min-height: 42px;
    margin: 0 8px 8px;
    padding: 0 5px;
    border: 1px solid #AECD58;
    text-align: center;
    color: #AECD58;
    line-height: 42px;
    text-decoration: none; }
    @media screen and (max-width: 768px) {
      .pagenation .wp-pagenavi > a, .pagenation .wp-pagenavi > span {
        min-width: 40px;
        min-height: 40px;
        line-height: 40px; } }
    .pagenation .wp-pagenavi > a:hover, .pagenation .wp-pagenavi > span:hover {
      background-color: #AECD58;
      color: #ffffff; }
  .pagenation .single > a, .pagenation .single > span {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    min-width: 42px;
    min-height: 42px;
    margin: 0 14px 8px;
    padding: 0 10px;
    border: 1px solid #AECD58;
    text-align: center;
    color: #AECD58;
    line-height: 42px;
    text-decoration: none; }
    @media screen and (max-width: 768px) {
      .pagenation .single > a, .pagenation .single > span {
        min-width: 40px;
        min-height: 40px;
        line-height: 40px; } }
    .pagenation .single > a:hover, .pagenation .single > span:hover {
      background-color: #AECD58;
      color: #ffffff; }

#pageTop {
  z-index: 100;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px; }
  @media screen and (max-width: 768px) {
    #pageTop {
      bottom: 0;
      right: 0;
      width: 45px;
      height: 45px; } }
  #pageTop a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #000000;
    color: #ffffff; }
    #pageTop a:before {
      display: block;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-59%);
      -ms-transform: translateY(-59%);
      transform: translateY(-59%);
      width: 100%;
      content: "\f077";
      font-family: FontAwesome;
      font-size: 2.4rem;
      text-align: center;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        #pageTop a:before {
          font-size: 2.0rem; } }
    #pageTop a:hover {
      opacity: 0.5; }

.pc-fix {
  width: 100%; }
  @media screen and (max-width: 768px) {
    .pc-fix {
      overflow-x: scroll; } }
  .pc-fix table {
    width: 1000px; }

table tr th, table tr td {
  border: 1px solid #D6D6D6; }

table thead tr th {
  background-color: #E7E7EB;
  font-weight: bold; }

table.summary {
  font-size: 1.5rem; }
  @media screen and (max-width: 768px) {
    table.summary {
      font-size: 1.4rem; } }
  @media screen and (max-width: 414px) {
    table.summary {
      font-size: 1.3rem; } }
  table.summary tbody tr th, table.summary tbody tr td {
    vertical-align: middle;
    padding: 28px 27px 26px;
    border: 1px solid #D6D6D6;
    background-color: #ffffff; }
    @media screen and (max-width: 768px) {
      table.summary tbody tr th, table.summary tbody tr td {
        padding: 20px 10px 18px; } }
    @media screen and (max-width: 414px) {
      table.summary tbody tr th, table.summary tbody tr td {
        display: block;
        width: 100%;
        margin-top: -1px;
        padding: 15px 10px 13px; } }
  table.summary tbody tr th {
    width: 18%;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: left; }
    @media screen and (max-width: 768px) {
      table.summary tbody tr th {
        font-size: 1.6rem; } }
    @media screen and (max-width: 414px) {
      table.summary tbody tr th {
        width: 100%;
        background-color: #E7E7EB;
        font-size: 1.5rem; } }
  table.summary tbody tr td {
    width: 82%; }
    @media screen and (max-width: 414px) {
      table.summary tbody tr td {
        width: 100%; } }
    table.summary tbody tr td a.unit-icon {
      margin-left: 17px; }
      @media screen and (max-width: 768px) {
        table.summary tbody tr td a.unit-icon {
          margin-left: 15px; } }
      @media screen and (max-width: 414px) {
        table.summary tbody tr td a.unit-icon {
          margin-top: 10px;
          margin-left: 0; } }
  table.summary tbody tr .note + .note {
    margin-top: 5px; }

table.default {
  width: 100%;
  table-layout: fixed; }
  table.default th, table.default td {
    vertical-align: top;
    padding: 20px;
    border: 1px solid #D6D6D6;
    text-align: left; }
  table.default thead tr th {
    background-color: #E7E7EB;
    font-weight: bold; }
  table.default tbody tr th {
    background-color: #ffffff; }
  table.default tbody tr td {
    background-color: #ffffff; }

table.small thead tr th {
  text-align: center; }

table.small thead tr th, table.small thead tr td, table.small tbody tr th, table.small tbody tr td {
  vertical-align: top;
  padding: 12px; }

table a {
  text-decoration: underline;
  color: #D4454B; }
  table a:hover {
    opacity: 0.7;
    color: #D4454B; }

table tbody tr th, table tbody tr td {
  word-break: break-all; }

table tbody tr td {
  background-color: #ffffff; }
  table tbody tr td p, table tbody tr td ul {
    margin-top: 5px; }
    @media screen and (max-width: 768px) {
      table tbody tr td p, table tbody tr td ul {
        margin-top: 10px; } }
    table tbody tr td p:first-child, table tbody tr td ul:first-child {
      margin-top: 0; }
      @media screen and (max-width: 768px) {
        table tbody tr td p:first-child, table tbody tr td ul:first-child {
          margin-top: 0; } }
  table tbody tr td .strong {
    font-weight: bold;
    font-size: 2.0rem;
    letter-spacing: 0.15em; }
    @media screen and (max-width: 768px) {
      table tbody tr td .strong {
        font-size: 1.6rem; } }
  table tbody tr td .unit-definition-01 {
    margin-top: 10px; }
  table tbody tr td .box-price-01 {
    margin-top: 10px; }
    table tbody tr td .box-price-01:first-child {
      margin-top: 0; }

ul.unit-icon li {
  padding-left: 1em; }

ul.dot li:before {
  content: "・";
  margin-left: -1em; }

.note {
  position: relative;
  padding-left: 1em; }
  .note.icon-red:before {
    color: #D4454B; }
  .note:before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0; }
  .note + .note {
    margin-top: 5px; }

a.unit-icon:after {
  font-family: FontAwesome;
  margin-left: 5px; }

a.icon-external:after {
  content: "\f08e"; }

.btn-submit {
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-left: 3px;
  background: url(../images/common/icon_search_red.svg) no-repeat center center transparent;
  background-size: contain;
  -webkit-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear; }
  @media screen and (max-width: 768px) {
    .btn-submit {
      vertical-align: top;
      margin-top: 7px; } }
  .btn-submit:hover {
    opacity: 0.8; }
  .btn-submit.white {
    background-image: url(../images/common/icon_search_white.svg); }
  .btn-submit.gray {
    background-image: url(../images/common/icon_search.svg); }
  .btn-submit input[type="submit"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    cursor: pointer; }

.fs12 {
  font-size: 1.2rem; }
  @media screen and (max-width: 768px) {
    .fs12 {
      font-size: 1.1rem; } }
  @media screen and (max-width: 414px) {
    .fs12 {
      font-size: 1.0rem; } }

.fs13 {
  font-size: 1.3rem; }
  @media screen and (max-width: 768px) {
    .fs13 {
      font-size: 1.2rem; } }
  @media screen and (max-width: 414px) {
    .fs13 {
      font-size: 1.1rem; } }

.fs14 {
  font-size: 1.4rem; }
  @media screen and (max-width: 768px) {
    .fs14 {
      font-size: 1.3rem; } }
  @media screen and (max-width: 414px) {
    .fs14 {
      font-size: 1.2rem; } }

.fs15 {
  font-size: 1.5rem; }
  @media screen and (max-width: 768px) {
    .fs15 {
      font-size: 1.4rem; } }
  @media screen and (max-width: 414px) {
    .fs15 {
      font-size: 1.3rem; } }

.fs16 {
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    .fs16 {
      font-size: 1.5rem; } }
  @media screen and (max-width: 414px) {
    .fs16 {
      font-size: 1.4rem; } }

.fs17 {
  font-size: 1.7rem; }
  @media screen and (max-width: 768px) {
    .fs17 {
      font-size: 1.6rem; } }
  @media screen and (max-width: 414px) {
    .fs17 {
      font-size: 1.5rem; } }

.fs18 {
  font-size: 1.8rem; }
  @media screen and (max-width: 768px) {
    .fs18 {
      font-size: 1.7rem; } }
  @media screen and (max-width: 414px) {
    .fs18 {
      font-size: 1.6rem; } }

.fs19 {
  font-size: 1.9rem; }
  @media screen and (max-width: 768px) {
    .fs19 {
      font-size: 1.8rem; } }
  @media screen and (max-width: 414px) {
    .fs19 {
      font-size: 1.7rem; } }

.fs20 {
  font-size: 2.0rem; }
  @media screen and (max-width: 768px) {
    .fs20 {
      font-size: 1.9rem; } }
  @media screen and (max-width: 414px) {
    .fs20 {
      font-size: 1.8rem; } }

.fs21 {
  font-size: 2.1rem; }
  @media screen and (max-width: 768px) {
    .fs21 {
      font-size: 2.0rem; } }
  @media screen and (max-width: 414px) {
    .fs21 {
      font-size: 1.9rem; } }

.fs22 {
  font-size: 2.2rem; }
  @media screen and (max-width: 768px) {
    .fs22 {
      font-size: 2.1rem; } }
  @media screen and (max-width: 414px) {
    .fs22 {
      font-size: 2.0rem; } }

.fs23 {
  font-size: 2.3rem; }
  @media screen and (max-width: 768px) {
    .fs23 {
      font-size: 2.2rem; } }
  @media screen and (max-width: 414px) {
    .fs23 {
      font-size: 2.1rem; } }

.fs24 {
  font-size: 2.4rem; }
  @media screen and (max-width: 768px) {
    .fs24 {
      font-size: 2.3rem; } }
  @media screen and (max-width: 414px) {
    .fs24 {
      font-size: 2.2rem; } }

.fs25 {
  font-size: 2.5rem; }
  @media screen and (max-width: 768px) {
    .fs25 {
      font-size: 2.4rem; } }
  @media screen and (max-width: 414px) {
    .fs25 {
      font-size: 2.3rem; } }

.fs26 {
  font-size: 2.6rem; }
  @media screen and (max-width: 768px) {
    .fs26 {
      font-size: 2.5rem; } }
  @media screen and (max-width: 414px) {
    .fs26 {
      font-size: 2.4rem; } }

.fs27 {
  font-size: 2.7rem; }
  @media screen and (max-width: 768px) {
    .fs27 {
      font-size: 2.6rem; } }
  @media screen and (max-width: 414px) {
    .fs27 {
      font-size: 2.5rem; } }

.fs28 {
  font-size: 2.8rem; }
  @media screen and (max-width: 768px) {
    .fs28 {
      font-size: 2.7rem; } }
  @media screen and (max-width: 414px) {
    .fs28 {
      font-size: 2.6rem; } }

.fs29 {
  font-size: 2.9rem; }
  @media screen and (max-width: 768px) {
    .fs29 {
      font-size: 2.8rem; } }
  @media screen and (max-width: 414px) {
    .fs29 {
      font-size: 2.7rem; } }

.fs30 {
  font-size: 3.0rem; }
  @media screen and (max-width: 768px) {
    .fs30 {
      font-size: 2.9rem; } }
  @media screen and (max-width: 414px) {
    .fs30 {
      font-size: 2.8rem; } }

.f-s12 {
  font-size: 1.2rem !important; }
  @media screen and (max-width: 768px) {
    .f-s12 {
      font-size: 1.1rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s12 {
      font-size: 1.0rem !important; } }

.f-s13 {
  font-size: 1.3rem !important; }
  @media screen and (max-width: 768px) {
    .f-s13 {
      font-size: 1.2rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s13 {
      font-size: 1.1rem !important; } }

.f-s14 {
  font-size: 1.4rem !important; }
  @media screen and (max-width: 768px) {
    .f-s14 {
      font-size: 1.3rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s14 {
      font-size: 1.2rem !important; } }

.f-s15 {
  font-size: 1.5rem !important; }
  @media screen and (max-width: 768px) {
    .f-s15 {
      font-size: 1.4rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s15 {
      font-size: 1.3rem !important; } }

.f-s16 {
  font-size: 1.6rem !important; }
  @media screen and (max-width: 768px) {
    .f-s16 {
      font-size: 1.5rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s16 {
      font-size: 1.4rem !important; } }

.f-s17 {
  font-size: 1.7rem !important; }
  @media screen and (max-width: 768px) {
    .f-s17 {
      font-size: 1.6rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s17 {
      font-size: 1.5rem !important; } }

.f-s18 {
  font-size: 1.8rem !important; }
  @media screen and (max-width: 768px) {
    .f-s18 {
      font-size: 1.7rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s18 {
      font-size: 1.6rem !important; } }

.f-s19 {
  font-size: 1.9rem !important; }
  @media screen and (max-width: 768px) {
    .f-s19 {
      font-size: 1.8rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s19 {
      font-size: 1.7rem !important; } }

.f-s20 {
  font-size: 2.0rem !important; }
  @media screen and (max-width: 768px) {
    .f-s20 {
      font-size: 1.9rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s20 {
      font-size: 1.8rem !important; } }

.f-s21 {
  font-size: 2.1rem !important; }
  @media screen and (max-width: 768px) {
    .f-s21 {
      font-size: 2.0rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s21 {
      font-size: 1.9rem !important; } }

.f-s22 {
  font-size: 2.2rem !important; }
  @media screen and (max-width: 768px) {
    .f-s22 {
      font-size: 2.1rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s22 {
      font-size: 2.0rem !important; } }

.f-s23 {
  font-size: 2.3rem !important; }
  @media screen and (max-width: 768px) {
    .f-s23 {
      font-size: 2.2rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s23 {
      font-size: 2.1rem !important; } }

.f-s24 {
  font-size: 2.4rem !important; }
  @media screen and (max-width: 768px) {
    .f-s24 {
      font-size: 2.3rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s24 {
      font-size: 2.2rem !important; } }

.f-s25 {
  font-size: 2.5rem !important; }
  @media screen and (max-width: 768px) {
    .f-s25 {
      font-size: 2.4rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s25 {
      font-size: 2.3rem !important; } }

.f-s26 {
  font-size: 2.6rem !important; }
  @media screen and (max-width: 768px) {
    .f-s26 {
      font-size: 2.5rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s26 {
      font-size: 2.4rem !important; } }

.f-s27 {
  font-size: 2.7rem !important; }
  @media screen and (max-width: 768px) {
    .f-s27 {
      font-size: 2.6rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s27 {
      font-size: 2.5rem !important; } }

.f-s28 {
  font-size: 2.8rem !important; }
  @media screen and (max-width: 768px) {
    .f-s28 {
      font-size: 2.7rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s28 {
      font-size: 2.6rem !important; } }

.f-s29 {
  font-size: 2.9rem !important; }
  @media screen and (max-width: 768px) {
    .f-s29 {
      font-size: 2.8rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s29 {
      font-size: 2.7rem !important; } }

.f-s30 {
  font-size: 3.0rem !important; }
  @media screen and (max-width: 768px) {
    .f-s30 {
      font-size: 2.9rem !important; } }
  @media screen and (max-width: 414px) {
    .f-s30 {
      font-size: 2.8rem !important; } }

.color-nitten {
  color: #C9171E; }

.color-red {
  color: #D4454B; }

.color-gold {
  color: #988627; }

.color-gray {
  color: #D6D6D6; }

.color-black {
  color: #101010; }

.color-white {
  color: #ffffff; }

.c-red {
  color: #D4454B; }

.c-gold {
  color: #988627; }

.c-gray {
  color: #D6D6D6; }

.c-black {
  color: #101010; }

.c-white {
  color: #ffffff; }

.backcolor-red {
  background-color: #D4454B; }

.backcolor-gold {
  background-color: #988627; }

.backcolor-gray {
  background-color: #D6D6D6; }

.backcolor-white {
  background-color: #ffffff; }

.backcolor-black {
  background-color: #101010; }

.f-bold {
  font-weight: bold; }

.txt-small {
  font-size: 1.2rem; }
  @media screen and (max-width: 768px) {
    .txt-small {
      font-size: 1.1rem; } }
  @media screen and (max-width: 414px) {
    .txt-small {
      font-size: 1.0rem; } }

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

.t-left {
  text-align: left; }

.t-right {
  text-align: right; }

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

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

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

.telephone a {
  cursor: default; }

.block {
  display: block; }

.iblock {
  display: inline-block; }

.inline {
  display: inline; }

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

.pc-iblock {
  display: inline-block; }
  @media screen and (max-width: 768px) {
    .pc-iblock {
      display: none; } }

.sp-block {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp-block {
      display: block; } }

.sp-iblock {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp-iblock {
      display: inline-block; } }

.mt5 {
  margin-top: 5px !important; }
  @media screen and (max-width: 414px) {
    .mt5 {
      margin-top: 3px !important; } }

.mt10 {
  margin-top: 10px !important; }
  @media screen and (max-width: 414px) {
    .mt10 {
      margin-top: 5px !important; } }

.mt15 {
  margin-top: 15px !important; }
  @media screen and (max-width: 414px) {
    .mt15 {
      margin-top: 8px !important; } }

.mt20 {
  margin-top: 20px !important; }
  @media screen and (max-width: 414px) {
    .mt20 {
      margin-top: 10px !important; } }

.mt25 {
  margin-top: 25px !important; }
  @media screen and (max-width: 414px) {
    .mt25 {
      margin-top: 13px !important; } }

.mt30 {
  margin-top: 30px !important; }
  @media screen and (max-width: 414px) {
    .mt30 {
      margin-top: 15px !important; } }

.mt35 {
  margin-top: 35px !important; }
  @media screen and (max-width: 414px) {
    .mt35 {
      margin-top: 18px !important; } }

.mt40 {
  margin-top: 40px !important; }
  @media screen and (max-width: 414px) {
    .mt40 {
      margin-top: 20px !important; } }

.mt45 {
  margin-top: 45px !important; }
  @media screen and (max-width: 414px) {
    .mt45 {
      margin-top: 23px !important; } }

.mt50 {
  margin-top: 50px !important; }
  @media screen and (max-width: 414px) {
    .mt50 {
      margin-top: 25px !important; } }

.mb5 {
  margin-bottom: 5px !important; }
  @media screen and (max-width: 414px) {
    .mb5 {
      margin-bottom: 3px !important; } }

.mb10 {
  margin-bottom: 10px !important; }
  @media screen and (max-width: 414px) {
    .mb10 {
      margin-bottom: 5px !important; } }

.mb15 {
  margin-bottom: 15px !important; }
  @media screen and (max-width: 414px) {
    .mb15 {
      margin-bottom: 8px !important; } }

.mb20 {
  margin-bottom: 20px !important; }
  @media screen and (max-width: 414px) {
    .mb20 {
      margin-bottom: 10px !important; } }

.mb25 {
  margin-bottom: 25px !important; }
  @media screen and (max-width: 414px) {
    .mb25 {
      margin-bottom: 13px !important; } }

.mb30 {
  margin-bottom: 30px !important; }
  @media screen and (max-width: 414px) {
    .mb30 {
      margin-bottom: 15px !important; } }

.mb35 {
  margin-bottom: 35px !important; }
  @media screen and (max-width: 414px) {
    .mb35 {
      margin-bottom: 18px !important; } }

.mb40 {
  margin-bottom: 40px !important; }
  @media screen and (max-width: 414px) {
    .mb40 {
      margin-bottom: 20px !important; } }

.mb45 {
  margin-bottom: 45px !important; }
  @media screen and (max-width: 414px) {
    .mb45 {
      margin-bottom: 23px !important; } }

.mb50 {
  margin-bottom: 50px !important; }
  @media screen and (max-width: 414px) {
    .mb50 {
      margin-bottom: 25px !important; } }

.ml5 {
  margin-left: 5px !important; }
  @media screen and (max-width: 414px) {
    .ml5 {
      margin-left: 3px !important; } }

.ml10 {
  margin-left: 10px !important; }
  @media screen and (max-width: 414px) {
    .ml10 {
      margin-left: 5px !important; } }

.ml15 {
  margin-left: 15px !important; }
  @media screen and (max-width: 414px) {
    .ml15 {
      margin-left: 8px !important; } }

.ml20 {
  margin-left: 20px !important; }
  @media screen and (max-width: 414px) {
    .ml20 {
      margin-left: 10px !important; } }

.ml25 {
  margin-left: 25px !important; }
  @media screen and (max-width: 414px) {
    .ml25 {
      margin-left: 13px !important; } }

.ml30 {
  margin-left: 30px !important; }
  @media screen and (max-width: 414px) {
    .ml30 {
      margin-left: 15px !important; } }

.ml35 {
  margin-left: 35px !important; }
  @media screen and (max-width: 414px) {
    .ml35 {
      margin-left: 18px !important; } }

.ml40 {
  margin-left: 40px !important; }
  @media screen and (max-width: 414px) {
    .ml40 {
      margin-left: 20px !important; } }

.ml45 {
  margin-left: 45px !important; }
  @media screen and (max-width: 414px) {
    .ml45 {
      margin-left: 23px !important; } }

.ml50 {
  margin-left: 50px !important; }
  @media screen and (max-width: 414px) {
    .ml50 {
      margin-left: 25px !important; } }

.mr5 {
  margin-right: 5px !important; }
  @media screen and (max-width: 414px) {
    .mr5 {
      margin-right: 3px !important; } }

.mr10 {
  margin-right: 10px !important; }
  @media screen and (max-width: 414px) {
    .mr10 {
      margin-right: 5px !important; } }

.mr15 {
  margin-right: 15px !important; }
  @media screen and (max-width: 414px) {
    .mr15 {
      margin-right: 8px !important; } }

.mr20 {
  margin-right: 20px !important; }
  @media screen and (max-width: 414px) {
    .mr20 {
      margin-right: 10px !important; } }

.mr25 {
  margin-right: 25px !important; }
  @media screen and (max-width: 414px) {
    .mr25 {
      margin-right: 13px !important; } }

.mr30 {
  margin-right: 30px !important; }
  @media screen and (max-width: 414px) {
    .mr30 {
      margin-right: 15px !important; } }

.mr35 {
  margin-right: 35px !important; }
  @media screen and (max-width: 414px) {
    .mr35 {
      margin-right: 18px !important; } }

.mr40 {
  margin-right: 40px !important; }
  @media screen and (max-width: 414px) {
    .mr40 {
      margin-right: 20px !important; } }

.mr45 {
  margin-right: 45px !important; }
  @media screen and (max-width: 414px) {
    .mr45 {
      margin-right: 23px !important; } }

.mr50 {
  margin-right: 50px !important; }
  @media screen and (max-width: 414px) {
    .mr50 {
      margin-right: 25px !important; } }

.no-link {
  text-decoration: none !important;
  color: #333333 !important; }

.unit-icon-01 {
  position: relative;
  padding-top: 5px;
  padding-left: 2.0em; }
  .unit-icon-01:before {
    position: absolute;
    top: 0;
    left: 0;
    vertical-align: middle;
    font-family: FontAwesome; }
  .unit-icon-01.icon-pdf:before {
    content: "\f1c1";
    font-size: 2.0rem;
    color: #C9171E; }

.unit-search .searchform {
  position: relative; }

.unit-search input[type="text"] {
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 30px;
  padding: 4px 33px 4px 10px;
  line-height: 1;
  font-size: 1.4rem;
  background-color: #F1F1F3; }

.unit-search .btn-submit {
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.unit-category {
  display: inline-block;
  padding: 0 13px;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    .unit-category {
      padding: 0 7px;
      font-size: 1.1rem; } }
  .unit-category.icon-new {
    background-color: #C9171E; }
  .unit-category.icon-notice {
    background-color: #D0AF4C; }
  .unit-category.icon-session {
    background-color: #2A83A2; }

.unit-title-01 {
  text-align: center; }
  .unit-title-01 .title {
    display: block;
    font-size: 2.6rem;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 768px) {
      .unit-title-01 .title {
        font-size: 1.8rem; } }
  .unit-title-01 .ruby {
    display: block;
    margin-top: 3px;
    font-family: 'Libre Baskerville', serif;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    color: #95949A; }
    @media screen and (max-width: 768px) {
      .unit-title-01 .ruby {
        font-size: 1.2rem; } }

.unit-title-02 {
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .unit-title-02 {
      font-size: 2.0rem; } }

.unit-title-03 {
  position: relative;
  padding-bottom: 22px;
  text-align: center;
  font-size: 4.0rem;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 768px) {
    .unit-title-03 {
      padding-bottom: 16px;
      font-size: 2.5rem; } }
  .unit-title-03.icon-ribbon:before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 48px;
    height: 11px;
    background: url(../images/common/dec_ribbon.svg) no-repeat center center transparent;
    background-size: contain; }

.unit-title-04 {
  font-family: 'Libre Baskerville', serif;
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.07em; }
  @media screen and (max-width: 768px) {
    .unit-title-04 {
      font-size: 2.0rem; } }

.unit-title-05 {
  font-family: 'Libre Baskerville', serif;
  font-size: 2.6rem;
  text-align: center;
  letter-spacing: 0.07em; }
  @media screen and (max-width: 768px) {
    .unit-title-05 {
      font-size: 2.0rem; } }

.unit-title-06 {
  margin-bottom: 20px;
  padding-bottom: 19px;
  border-bottom: 1px solid #D6D6D6;
  font-size: 2.2rem;
  letter-spacing: 0.07em; }
  @media screen and (max-width: 768px) {
    .unit-title-06 {
      margin-bottom: 20px;
      padding-bottom: 15px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 414px) {
    .unit-title-06 {
      margin-bottom: 20px;
      padding-bottom: 10px;
      font-size: 1.6rem; } }
  .unit-title-06 + table.summary {
    margin-top: 54px; }
    @media screen and (max-width: 768px) {
      .unit-title-06 + table.summary {
        margin-bottom: 30px; } }
    @media screen and (max-width: 414px) {
      .unit-title-06 + table.summary {
        margin-bottom: 20px; } }

.unit-title-07 {
  font-size: 2.0rem;
  color: #D4454B; }
  @media screen and (max-width: 768px) {
    .unit-title-07 {
      font-size: 1.9rem; } }
  @media screen and (max-width: 414px) {
    .unit-title-07 {
      font-size: 1.8rem; } }

.unit-title-08 {
  font-size: 1.8rem; }
  @media screen and (max-width: 768px) {
    .unit-title-08 {
      font-size: 1.7rem; } }
  @media screen and (max-width: 414px) {
    .unit-title-08 {
      font-size: 1.6rem; } }

.unit-btn-01 {
  border: 1px solid #ffffff; }
  .unit-btn-01.black {
    border-color: #2B2B2B;
    color: #2B2B2B; }
    .unit-btn-01.black a:hover {
      background-color: #2B2B2B;
      color: #ffffff; }
  .unit-btn-01 a {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit; }
    .unit-btn-01 a:hover {
      opacity: 1;
      background-color: #ffffff;
      color: inherit; }

.unit-btn-02 {
  position: relative;
  display: inline-block;
  padding: 71px 0;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    .unit-btn-02 {
      padding: 50px 35px; } }
  .unit-btn-02.dec-crane:before {
    display: block;
    z-index: 2;
    content: "";
    position: absolute;
    top: -37px;
    right: -95px;
    width: 219px;
    height: 274px;
    background: url(../images/common/dec_crane.png) no-repeat center center transparent;
    background-size: contain; }
    @media screen and (max-width: 768px) {
      .unit-btn-02.dec-crane:before {
        top: -18px;
        right: 8px;
        width: 109px;
        height: 137px; } }
  .unit-btn-02.dec-flower:after {
    display: block;
    content: "";
    z-index: 2;
    position: absolute;
    bottom: 6px;
    left: -100px;
    width: 220px;
    height: 192px;
    background: url(../images/common/dec_flower.png) no-repeat center center transparent;
    background-size: contain; }
    @media screen and (max-width: 768px) {
      .unit-btn-02.dec-flower:after {
        bottom: 3px;
        left: 4px;
        width: 110px;
        height: 96px; } }
  .unit-btn-02.no-dec:before, .unit-btn-02.no-dec:after {
    display: none; }
  .unit-btn-02.icon-arrow-r a:before {
    content: "\f105";
    position: absolute;
    top: 50%;
    right: 33px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: FontAwesome;
    line-height: 1;
    font-size: 4.0rem; }
    @media screen and (max-width: 768px) {
      .unit-btn-02.icon-arrow-r a:before {
        right: 5px;
        font-size: 2.0rem; } }
  .unit-btn-02 a {
    display: block;
    z-index: 1;
    position: relative;
    width: 100%;
    padding: 24px 0 20px;
    border: 1px solid #ffffff;
    background-color: rgba(51, 51, 51, 0.2);
    color: inherit; }
    .unit-btn-02 a:hover {
      opacity: 1;
      background-color: rgba(255, 255, 255, 0.8);
      color: #D4454B; }
  .unit-btn-02 .title {
    display: block;
    font-family: 'Libre Baskerville', serif;
    font-size: 4.7rem;
    letter-spacing: 0.03em;
    line-height: 1.6; }
    @media screen and (max-width: 768px) {
      .unit-btn-02 .title {
        font-size: 2.2rem; } }
  .unit-btn-02 .ruby {
    display: block;
    font-size: 2.2rem;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 768px) {
      .unit-btn-02 .ruby {
        font-size: 1.2rem; } }

.unit-btn-03.col-red a {
  background-color: #C9171E; }

.unit-btn-03 a {
  font-size: 1.8rem;
  color: #ffffff; }

.unit-btn-04 {
  display: inline-block;
  position: relative;
  width: 100%; }
  .unit-btn-04:before {
    content: "";
    display: block;
    z-index: 0;
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px; }
  .unit-btn-04.col-red:before {
    background-color: #971116; }
  .unit-btn-04.col-red a {
    background-color: #C9171E; }
  .unit-btn-04.col-yellow:before {
    background-color: #ece022; }
  .unit-btn-04.col-yellow a {
    background-color: #FCEE21; }
  .unit-btn-04.font-black a {
    color: #333333; }
  .unit-btn-04 a {
    z-index: 1;
    position: relative;
    width: 100%;
    padding: 9px 0 7px;
    border-radius: 4px;
    text-align: center;
    color: #ffffff; }
    .unit-btn-04 a:hover {
      opacity: 1;
      bottom: -3px; }

.unit-btn-05 {
  display: inline-block;
  text-align: center;
  color: #C9171E; }
  .unit-btn-05.col-red a {
    background-color: #C9171E;
    color: #ffffff; }
    .unit-btn-05.col-red a:hover {
      background-color: #ffffff;
      color: #C9171E; }
  .unit-btn-05.icon-arrow a {
    padding: 12px 35px 9px 10px; }
    @media screen and (max-width: 768px) {
      .unit-btn-05.icon-arrow a {
        padding: 12px 30px 9px 10px; } }
    .unit-btn-05.icon-arrow a:before {
      display: block;
      position: absolute;
      top: 50%;
      right: 10px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      content: "\f078";
      font-family: FontAwesome;
      font-size: 1.6rem; }
      @media screen and (max-width: 768px) {
        .unit-btn-05.icon-arrow a:before {
          font-size: 1.5rem; } }
  .unit-btn-05 a {
    position: relative;
    min-width: 180px;
    padding: 12px 10px 9px;
    border: 1px solid #C9171E;
    border-radius: 4px;
    color: inherit; }
    .unit-btn-05 a:hover {
      opacity: 1;
      background-color: #C9171E;
      color: #ffffff; }

.unit-btn-06 {
  display: inline-block;
  position: relative;
  width: 100%;
  border-radius: 100px;
  color: #ffffff; }
  .unit-btn-06.col-red a {
    background-color: #ffffff;
    color: #C9171E; }
  .unit-btn-06 a {
    z-index: 1;
    position: relative;
    width: 100%;
    padding: 4px 0 3px;
    border: 1px solid #C9171E;
    border-radius: 100px;
    background-color: #C9171E;
    text-align: center;
    color: inherit;
    text-decoration: none; }
    .unit-btn-06 a:hover {
      background-color: #ffffff;
      color: #C9171E; }

.unit-btn-07 {
  width: 200px; }
  .unit-btn-07 a {
    display: block; }

.unit-list-01 li {
  position: relative;
  margin-top: 5px;
  padding-left: 1em; }
  .unit-list-01 li:before {
    content: "・";
    margin-left: -1em; }
  .unit-list-01 li:first-child {
    margin-top: 0; }
  .unit-list-01 li a {
    color: #0071BC;
    text-decoration: underline; }

.unit-list-01.arrow li {
  padding-left: 1.3em; }
  .unit-list-01.arrow li:before {
    position: absolute;
    top: -3px;
    left: 0;
    content: "\f105";
    margin-left: 0;
    font-family: FontAwesome;
    font-size: 1.6rem; }

.unit-list-02 a {
  text-decoration: underline; }

.unit-list-02 li {
  position: relative;
  margin-top: 5px;
  padding-left: calc(1em + 5px); }
  .unit-list-02 li:first-child {
    margin-top: 0; }
  .unit-list-02 li:before {
    content: "■";
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.0rem;
    line-height: 2.4; }

.unit-list-03 a {
  text-decoration: underline; }

.unit-list-03 li {
  position: relative;
  margin-top: 5px;
  padding-left: calc(1em + 5px); }
  .unit-list-03 li:first-child {
    margin-top: 0; }
  .unit-list-03 li:before {
    content: "▲";
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    font-size: 1.0rem;
    line-height: 2.4; }

.unit-link-01 a {
  text-decoration: underline; }

.unit-badge-01 {
  display: inline-block;
  margin: 0 2px; }
  .unit-badge-01.c-red > span,
  .unit-badge-01.c-red > a {
    border-color: #D4454B; }
    .unit-badge-01.c-red > span:hover,
    .unit-badge-01.c-red > a:hover {
      background-color: #D4454B;
      color: #ffffff; }
  .unit-badge-01 > span,
  .unit-badge-01 > a {
    padding: 7px 25px;
    border: 1px solid #333333;
    border-radius: 50px;
    line-height: 1;
    color: inherit; }
    @media screen and (max-width: 768px) {
      .unit-badge-01 > span,
      .unit-badge-01 > a {
        padding: 5px;
        font-size: 1.2rem; } }
    .unit-badge-01 > span:hover,
    .unit-badge-01 > a:hover {
      opacity: 1; }

.unit-definition-01 dt, .unit-definition-01 dd {
  vertical-align: top; }

.unit-definition-01 dt {
  display: inline-block;
  min-width: 80px;
  padding: 2px 0;
  border-radius: 30px;
  background-color: #D4454B;
  text-align: center;
  font-size: 1.2rem;
  color: #ffffff; }

.unit-definition-01 dd {
  display: inline-block;
  width: calc(100% - 100px);
  margin-left: 10px; }
  @media screen and (max-width: 414px) {
    .unit-definition-01 dd {
      width: 100%;
      margin-top: 10px;
      margin-left: 0; } }

.unit-year-select {
  display: inline-block;
  position: relative;
  background: -webkit-gradient(linear, left bottom, left top, from(#cccccc), color-stop(42.57%, #f0f0f0), color-stop(67.18%, white));
  background: -webkit-linear-gradient(bottom, #cccccc 0%, #f0f0f0 42.57%, white 67.18%);
  background: -o-linear-gradient(bottom, #cccccc 0%, #f0f0f0 42.57%, white 67.18%);
  background: linear-gradient(0deg, #cccccc 0%, #f0f0f0 42.57%, white 67.18%);
  border: 3px solid #B3B3B3;
  border-radius: 4px; }
  .unit-year-select:before {
    content: "▼";
    display: block;
    z-index: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: 54px;
    height: 54px;
    line-height: 54px;
    border-left: 1px solid #B3B3B3;
    text-align: center;
    cursor: pointer; }
    @media screen and (max-width: 768px) {
      .unit-year-select:before {
        width: 44px;
        height: 100%;
        line-height: auto; } }
  .unit-year-select select {
    z-index: 1;
    position: relative;
    min-width: 400px;
    min-height: 54px;
    padding-right: 54px;
    border-radius: 0;
    border: none; }
    @media screen and (max-width: 768px) {
      .unit-year-select select {
        min-width: inherit;
        min-width: auto;
        width: 100%;
        padding-right: 44px; } }
    .unit-year-select select::-ms-expand {
      display: none; }

.unit-youtube {
  overflow: hidden;
  position: relative;
  max-width: 100%;
  height: 0;
  padding-bottom: 56.25%; }
  .unit-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.unit-notice-01 {
  padding: 20px 20px 17px;
  border: 1px solid #D4454B;
  color: #D4454B; }

.btn-more a {
  font-size: 1.5rem;
  color: #808080; }
  @media screen and (max-width: 768px) {
    .btn-more a {
      font-size: 1.4rem; } }
  .btn-more a:after {
    display: inline-block;
    vertical-align: middle;
    margin: -4px 6px 0 8px;
    content: "\f105";
    font-family: FontAwesome;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .btn-more a:after {
        font-size: 1.3rem; } }

.wp-pagenavi {
  margin-top: 72px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .wp-pagenavi {
      margin-top: 50px; } }
  .wp-pagenavi .pages,
  .wp-pagenavi .extend {
    display: none; }
  .wp-pagenavi .current {
    border: 1px solid #C9171E; }
  .wp-pagenavi > a, .wp-pagenavi > span {
    display: block;
    min-width: 40px;
    min-height: 40px;
    margin: 0 0 8px -1px;
    padding: 0 5px;
    border: 1px solid #C9171E;
    text-align: center;
    color: #C9171E;
    line-height: 38px;
    text-decoration: none; }
    @media screen and (max-width: 768px) {
      .wp-pagenavi > a, .wp-pagenavi > span {
        min-width: 40px;
        min-height: 40px;
        line-height: 40px; } }
    .wp-pagenavi > a.current, .wp-pagenavi > a:hover, .wp-pagenavi > span.current, .wp-pagenavi > span:hover {
      opacity: 1;
      border: 1px solid #C9171E;
      background-color: #C9171E;
      color: #ffffff; }
  .wp-pagenavi.kids {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      .wp-pagenavi.kids {
        margin-top: 50px; } }
    .wp-pagenavi.kids .first,
    .wp-pagenavi.kids .last,
    .wp-pagenavi.kids .pages,
    .wp-pagenavi.kids .extend {
      display: none; }
    .wp-pagenavi.kids .current {
      border: 1px solid #583314;
      background-color: #583314;
      color: #ffffff; }
    .wp-pagenavi.kids > a, .wp-pagenavi.kids > span {
      display: block;
      min-width: 40px;
      min-height: 40px;
      margin: 0 5px 8px;
      padding: 0 5px;
      border-radius: 5px;
      border: 2px solid #583314;
      text-align: center;
      line-height: 38px;
      text-decoration: none;
      font-weight: bold;
      font-size: 2.0rem;
      color: #583314; }
      @media screen and (max-width: 768px) {
        .wp-pagenavi.kids > a, .wp-pagenavi.kids > span {
          min-width: 30px;
          min-height: 30px;
          margin: 0 3px 4px;
          line-height: 30px;
          font-size: 1.6rem; } }
      @media screen and (max-width: 414px) {
        .wp-pagenavi.kids > a, .wp-pagenavi.kids > span {
          min-width: 28px;
          min-height: 28px;
          border-width: 1px;
          line-height: 28px;
          font-size: 1.4rem; } }
      .wp-pagenavi.kids > a.current, .wp-pagenavi.kids > a:hover, .wp-pagenavi.kids > span.current, .wp-pagenavi.kids > span:hover {
        opacity: 1;
        border: 1px solid #583314;
        background-color: #583314;
        color: #ffffff; }
    .wp-pagenavi.kids .previouspostslink,
    .wp-pagenavi.kids .nextpostslink {
      position: relative;
      border: none;
      color: transparent; }
      .wp-pagenavi.kids .previouspostslink:before,
      .wp-pagenavi.kids .nextpostslink:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 0 10px 15px;
        border-color: transparent transparent transparent #583314; }
        @media screen and (max-width: 414px) {
          .wp-pagenavi.kids .previouspostslink:before,
          .wp-pagenavi.kids .nextpostslink:before {
            border-width: 5px 0 5px 7px; } }
      .wp-pagenavi.kids .previouspostslink:hover,
      .wp-pagenavi.kids .nextpostslink:hover {
        opacity: 0.7;
        border: none;
        background-color: transparent; }
    .wp-pagenavi.kids .previouspostslink {
      -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      transform: rotate(180deg); }

.box-sns.white .facebook a {
  background-image: url(../images/common/icon_facebook.svg); }

.box-sns.white .twitter a {
  background-image: url(../images/common/icon_twitter.svg); }

.box-sns.white .line a {
  background-image: url(../images/common/icon_line.svg); }

.box-sns.white .youtube a {
  background-image: url(../images/common/icon_youtube.svg); }

.box-sns span {
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    .box-sns span {
      margin: 0 8px; } }
  .box-sns span a {
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    display: block;
    background: no-repeat center center transparent; }

.box-sns .facebook a {
  width: 20px;
  height: 20px;
  background-image: url(../images/common/icon_facebook_gray.svg); }

.box-sns .twitter a {
  width: 22px;
  height: 18px;
  background-image: url(../images/common/icon_twitter_gray.svg); }

.box-sns .line a {
  width: 23px;
  height: 22px;
  background-image: url(../images/common/icon_line_gray.svg); }

.box-sns .youtube a {
  width: 20px;
  height: 23px;
  background-image: url(../images/common/icon_youtube_gray.svg); }

.box-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .box-col.col02 .inner-col {
    width: 50%; }
  .box-col.col03 .inner-col {
    width: 33.3%; }
    .box-col.col03 .inner-col:nth-of-type(3n+2) {
      width: 33.4%; }
  .box-col.col04 .inner-col {
    width: 25%; }
    @media screen and (max-width: 768px) {
      .box-col.col04 .inner-col {
        width: 50%; } }
    @media screen and (max-width: 414px) {
      .box-col.col04 .inner-col {
        width: 50%; } }
  @media screen and (max-width: 768px) {
    .box-col.tb-col01 .inner-col {
      width: 100%; } }
  @media screen and (max-width: 414px) {
    .box-col.sp-col01 .inner-col {
      width: 100%; } }

.box-news-01 {
  position: relative; }
  .box-news-01.is-scroll {
    overflow-y: scroll;
    height: 208px; }
  .box-news-01 .inner-news {
    border-bottom: 1px solid #D6D6D6; }
    .box-news-01 .inner-news a {
      display: block;
      padding: 14px 0 13px; }
    .box-news-01 .inner-news dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
      @media screen and (max-width: 768px) {
        .box-news-01 .inner-news dl {
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
      .box-news-01 .inner-news dl dt {
        width: 11%;
        font-family: 'Libre Baskerville', serif;
        text-align: center;
        color: #D4454B; }
        @media screen and (max-width: 768px) {
          .box-news-01 .inner-news dl dt {
            width: 100%;
            text-align: left; } }
      .box-news-01 .inner-news dl dd {
        width: 89%; }
        @media screen and (max-width: 768px) {
          .box-news-01 .inner-news dl dd {
            width: 100%; } }
      .box-news-01 .inner-news dl .unit-category {
        margin-right: 15px; }
        @media screen and (max-width: 768px) {
          .box-news-01 .inner-news dl .unit-category {
            margin-right: 10px; } }
        @media screen and (max-width: 414px) {
          .box-news-01 .inner-news dl .unit-category {
            margin-right: 8px; } }

.box-card-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }
  @media screen and (max-width: 768px) {
    .box-card-01 {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .box-card-01 .inner-card {
    width: 25%;
    border: 1px solid #D6D6D6;
    background-color: #ffffff; }
    @media screen and (max-width: 768px) {
      .box-card-01 .inner-card {
        width: 50%; } }
    .box-card-01 .inner-card a {
      display: block;
      width: 100%;
      height: 100%; }
      .box-card-01 .inner-card a:hover .figure figure img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
    .box-card-01 .inner-card .figure figure {
      position: relative;
      overflow: hidden;
      min-height: 176px; }
      @media screen and (max-width: 768px) {
        .box-card-01 .inner-card .figure figure {
          min-height: auto;
          min-height: inherit; } }
      .box-card-01 .inner-card .figure figure img {
        width: 100%;
        height: auto;
        -webkit-transition: -webkit-transform 0.3s linear;
        transition: -webkit-transform 0.3s linear;
        -o-transition: transform 0.3s linear;
        transition: transform 0.3s linear;
        transition: transform 0.3s linear, -webkit-transform 0.3s linear; }
      .box-card-01 .inner-card .figure figure .unit-category {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 1.6rem;
        letter-spacing: 0.2em; }
        @media screen and (max-width: 768px) {
          .box-card-01 .inner-card .figure figure .unit-category {
            font-size: 1.5rem; } }
        @media screen and (max-width: 414px) {
          .box-card-01 .inner-card .figure figure .unit-category {
            font-size: 1.4rem; } }
    .box-card-01 .inner-card .figure .movie:before, .box-card-01 .inner-card .figure .movie:after {
      z-index: 1;
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    .box-card-01 .inner-card .figure .movie:before {
      width: 56px;
      height: 56px;
      border-radius: 300px;
      background-color: rgba(0, 0, 0, 0.5); }
      @media screen and (max-width: 414px) {
        .box-card-01 .inner-card .figure .movie:before {
          width: 40px;
          height: 40px; } }
    .box-card-01 .inner-card .figure .movie:after {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 11px 0 11px 15px;
      border-color: transparent transparent transparent #ffffff; }
      @media screen and (max-width: 414px) {
        .box-card-01 .inner-card .figure .movie:after {
          border-width: 9px 0 9px 13px; } }
    .box-card-01 .inner-card .detail {
      padding: 0 26px 20px 26px; }
      @media screen and (max-width: 768px) {
        .box-card-01 .inner-card .detail {
          padding: 10px 13px; } }
      .box-card-01 .inner-card .detail .date {
        float: left;
        display: block;
        font-family: 'Libre Baskerville', serif;
        color: #D4454B; }
        @media screen and (max-width: 768px) {
          .box-card-01 .inner-card .detail .date {
            font-size: 1.2rem; } }
        @media screen and (max-width: 414px) {
          .box-card-01 .inner-card .detail .date {
            float: none; } }
      .box-card-01 .inner-card .detail .unit-category {
        min-width: 90px;
        min-height: 26px;
        line-height: 26px;
        padding-top: 2px;
        line-height: 26px;
        border-radius: 4px;
        font-size: 1.3rem;
        display: inline-block; }
        @media screen and (max-width: 768px) {
          .box-card-01 .inner-card .detail .unit-category {
            font-size: 1.2rem; } }
        @media screen and (max-width: 414px) {
          .box-card-01 .inner-card .detail .unit-category {
            float: none;
            min-width: 80px;
            margin-top: 5px; } }
      .box-card-01 .inner-card .detail .title {
        clear: both;
        display: block;
        margin-top: 5px;
        font-size: 1.5rem;
        margin-top: 10px; }
        @media screen and (max-width: 768px) {
          .box-card-01 .inner-card .detail .title {
            font-size: 1.3rem; } }
        @media screen and (max-width: 414px) {
          .box-card-01 .inner-card .detail .title {
            margin-top: 5px; } }

.box-products-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .box-products-01.colm04 .inner-product {
    width: 25%;
    padding: 20px; }
    @media screen and (max-width: 768px) {
      .box-products-01.colm04 .inner-product {
        width: 50%;
        padding: 10px; } }
  .box-products-01.colm04 figure.horizon {
    max-width: 220px;
    height: 220px; }
  .box-products-01.colm04 figure.vertical {
    max-width: 220px;
    height: 220px; }
  .box-products-01.colm05 .inner-product {
    width: 20%;
    padding: 12px; }
    @media screen and (max-width: 768px) {
      .box-products-01.colm05 .inner-product {
        width: 50%; } }
    @media screen and (max-width: 768px) {
      .box-products-01.colm05 .inner-product:nth-of-type(odd) {
        padding-left: 0;
        padding-right: 7px; } }
    @media screen and (max-width: 768px) {
      .box-products-01.colm05 .inner-product:nth-of-type(even) {
        padding-left: 7px;
        padding-right: 0; } }
    .box-products-01.colm05 .inner-product figure.horizon {
      max-width: 180px;
      height: 180px; }
      @media screen and (max-width: 768px) {
        .box-products-01.colm05 .inner-product figure.horizon {
          max-width: auto;
          max-width: inherit;
          height: auto; } }
      .box-products-01.colm05 .inner-product figure.horizon img {
        width: 100%;
        height: auto; }
    .box-products-01.colm05 .inner-product figure.vertical {
      max-width: 180px;
      height: 180px; }
      @media screen and (max-width: 768px) {
        .box-products-01.colm05 .inner-product figure.vertical {
          max-width: auto;
          max-width: inherit;
          height: auto; } }
      .box-products-01.colm05 .inner-product figure.vertical img {
        width: auto;
        height: 100%; }
    .box-products-01.colm05 .inner-product figure img {
      position: relative;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      margin: 0; }
      @media screen and (max-width: 768px) {
        .box-products-01.colm05 .inner-product figure img {
          position: absolute;
          max-width: auto;
          max-width: inherit;
          max-height: auto;
          max-height: inherit; } }
  .box-products-01 .inner-product {
    text-align: center; }
    .box-products-01 .inner-product a {
      display: block;
      width: 100%;
      height: 100%; }
      .box-products-01 .inner-product a .title {
        text-decoration: underline; }
    .box-products-01 .inner-product figure {
      position: relative; }
      @media screen and (max-width: 768px) {
        .box-products-01 .inner-product figure {
          padding-top: 100%; } }
      @media screen and (max-width: 768px) {
        .box-products-01 .inner-product figure.horizon {
          max-width: auto;
          max-width: inherit;
          height: auto; } }
      .box-products-01 .inner-product figure.horizon img {
        width: 100%;
        height: auto; }
      @media screen and (max-width: 768px) {
        .box-products-01 .inner-product figure.vertical {
          max-width: auto;
          max-width: inherit;
          height: auto; } }
      .box-products-01 .inner-product figure.vertical img {
        width: auto;
        height: 100%; }
      .box-products-01 .inner-product figure img {
        position: relative;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        margin: 0; }
        @media screen and (max-width: 768px) {
          .box-products-01 .inner-product figure img {
            position: absolute;
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            width: auto;
            height: 100%; } }
    .box-products-01 .inner-product .award {
      display: block;
      margin-top: 12px;
      padding: 5px 10px 4px;
      border: 1px solid #C9171E;
      text-align: center;
      color: #C9171E; }
    .box-products-01 .inner-product .category-wrap {
      margin-top: 16px; }
    .box-products-01 .inner-product .name {
      display: inline-block; }
    .box-products-01 .inner-product .category {
      display: inline-block; }
      .box-products-01 .inner-product .category:before {
        content: "|";
        margin-left: 10px;
        margin-right: 11px; }
    .box-products-01 .inner-product .title {
      margin-top: 2px;
      font-size: 1.5rem;
      line-height: 1.4; }
      @media screen and (max-width: 768px) {
        .box-products-01 .inner-product .title {
          font-size: 1.4rem; } }

.box-btn-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }
  @media screen and (max-width: 500px) {
    .box-btn-01 {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .box-btn-01.col02 .inner-btn {
    width: 50%; }
    @media screen and (max-width: 414px) {
      .box-btn-01.col02 .inner-btn {
        width: 100%; } }
  .box-btn-01.col03 .inner-btn {
    width: 33%; }
    @media screen and (max-width: 500px) {
      .box-btn-01.col03 .inner-btn {
        width: 100%; } }
    .box-btn-01.col03 .inner-btn:nth-of-type(3n+2) {
      width: 34%; }
      @media screen and (max-width: 500px) {
        .box-btn-01.col03 .inner-btn:nth-of-type(3n+2) {
          width: 100%; } }
  .box-btn-01 .inner-btn {
    margin-right: -1px;
    text-align: center; }
    @media screen and (max-width: 500px) {
      .box-btn-01 .inner-btn {
        margin-top: -1px;
        margin-right: 0; } }
    .box-btn-01 .inner-btn a {
      display: block;
      padding: 26px 10px 22px;
      letter-spacing: 0.2em; }
      @media screen and (max-width: 414px) {
        .box-btn-01 .inner-btn a {
          padding: 15px 10px; } }
      .box-btn-01 .inner-btn a:hover {
        color: #D4454B; }

.box-btn-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%; }
  .box-btn-02 .inner-btn {
    width: 50%;
    margin-top: -1px;
    margin-left: -1px;
    font-size: 1.8rem; }
    @media screen and (max-width: 414px) {
      .box-btn-02 .inner-btn {
        font-size: 1.5rem; } }
    .box-btn-02 .inner-btn > span,
    .box-btn-02 .inner-btn a {
      display: block;
      padding: 10px 0 9px; }
      @media screen and (max-width: 414px) {
        .box-btn-02 .inner-btn > span,
        .box-btn-02 .inner-btn a {
          padding: 8px 0 7px; } }

.box-btn-03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%; }
  @media screen and (max-width: 768px) {
    .box-btn-03 {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }
  .box-btn-03.colm05 .inner-btn {
    width: 20%; }
    @media screen and (max-width: 768px) {
      .box-btn-03.colm05 .inner-btn {
        width: 33.3%; } }
  .box-btn-03 .inner-btn {
    margin-top: -1px;
    margin-left: -1px;
    text-align: center;
    font-size: 2.0rem; }
    @media screen and (max-width: 768px) {
      .box-btn-03 .inner-btn {
        font-size: 1.3rem; } }
    .box-btn-03 .inner-btn a {
      padding: 37px 0; }
      @media screen and (max-width: 768px) {
        .box-btn-03 .inner-btn a {
          padding: 15px 0; } }

.box-card-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background-color: #ffffff; }
  @media screen and (max-width: 414px) {
    .box-card-02.link .figure {
      display: none; } }
  @media screen and (max-width: 414px) {
    .box-card-02.link .detail {
      width: 100%; } }
  .box-card-02 > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%; }
  .box-card-02 .figure {
    width: 50%; }
    .box-card-02 .figure a {
      display: block; }
  .box-card-02 .detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50%;
    text-align: center; }
    @media screen and (max-width: 500px) {
      .box-card-02 .detail {
        padding: 0 10px; } }
    .box-card-02 .detail .title {
      display: block;
      width: 100%;
      font-size: 2.4rem; }
      @media screen and (max-width: 500px) {
        .box-card-02 .detail .title {
          font-size: 1.5rem; } }
    .box-card-02 .detail .btn-wrap {
      margin-top: 20px; }
      @media screen and (max-width: 500px) {
        .box-card-02 .detail .btn-wrap {
          margin-top: 0; } }
      @media screen and (max-width: 500px) {
        .box-card-02 .detail .btn-wrap .unit-badge-01 {
          width: 100%;
          margin-top: 10px; } }
      .box-card-02 .detail .btn-wrap .unit-badge-01 a {
        padding: 7px 10px; }
        @media screen and (max-width: 500px) {
          .box-card-02 .detail .btn-wrap .unit-badge-01 a {
            width: 100%; } }
    .box-card-02 .detail p {
      display: block; }
      @media screen and (max-width: 500px) {
        .box-card-02 .detail p {
          font-size: 1.2rem; } }

.box-card-03 .inner-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  background-color: #ffffff; }
  @media screen and (max-width: 768px) {
    .box-card-03 .inner-card {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .box-card-03 .inner-card a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .box-card-03 .inner-card a {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
  .box-card-03 .inner-card .figure {
    width: 50%; }
    @media screen and (max-width: 768px) {
      .box-card-03 .inner-card .figure {
        width: 100%;
        margin-top: 10px;
        padding: 0 20px 20px; } }
    .box-card-03 .inner-card .figure img {
      width: 100%;
      height: auto; }
  .box-card-03 .inner-card .detail {
    width: 50%;
    padding-top: 10px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .box-card-03 .inner-card .detail {
        width: 100%; } }
    .box-card-03 .inner-card .detail .title {
      display: block;
      font-size: 3.0rem;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 768px) {
        .box-card-03 .inner-card .detail .title {
          font-size: 2.0rem; } }
    .box-card-03 .inner-card .detail p {
      margin-top: 20px;
      font-size: 1.6rem;
      line-height: 2.4;
      color: #727171; }
      @media screen and (max-width: 768px) {
        .box-card-03 .inner-card .detail p {
          display: none; } }

.box-card-04 {
  text-align: center; }
  .box-card-04 a {
    display: block; }
  .box-card-04 figure img {
    width: 100%; }
  .box-card-04 .title {
    margin-top: 30px;
    font-size: 1.8rem;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 768px) {
      .box-card-04 .title {
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 1.4rem; } }

.box-undertitle.kids {
  margin-top: 50px; }
  .box-undertitle.kids .breadcrumb {
    margin-top: 15px; }
    .box-undertitle.kids .breadcrumb .inner {
      font-size: 1.3rem; }
      .box-undertitle.kids .breadcrumb .inner a,
      .box-undertitle.kids .breadcrumb .inner span {
        vertical-align: middle;
        padding: 0;
        color: #583314; }
      .box-undertitle.kids .breadcrumb .inner a {
        text-decoration: underline; }
      .box-undertitle.kids .breadcrumb .inner > span:before {
        display: inline-block;
        vertical-align: middle;
        content: "";
        width: 0;
        height: 0;
        margin-left: 10px;
        margin-right: 15px;
        padding: 0;
        border-style: solid;
        border-width: 4px 0 4px 6px;
        border-color: transparent transparent transparent #583314; }
      .box-undertitle.kids .breadcrumb .inner > span:first-child:before {
        display: none; }

.box-undertitle .inner-title {
  position: relative;
  width: 100%;
  height: 300px;
  background: url(../images/title/title_default.jpg) no-repeat center center transparent;
  background-size: cover; }
  @media screen and (max-width: 768px) {
    .box-undertitle .inner-title {
      height: 250px; } }
  @media screen and (max-width: 414px) {
    .box-undertitle .inner-title {
      height: 200px; } }
  .box-undertitle .inner-title.summary, .box-undertitle .inner-title.ticket {
    background-image: url(../images/title/title_summary.jpg); }
  .box-undertitle .inner-title.about, .box-undertitle .inner-title.about.summary, .box-undertitle .inner-title.event_info, .box-undertitle .inner-title.diffusion {
    background-image: url(../images/title/title_about.jpg); }
  .box-undertitle .inner-title.special {
    background-image: url(../images/title/title_special.jpg); }
  .box-undertitle .inner-title.nitten {
    background-image: url(../images/title/title_nittennews.jpg); }
  .box-undertitle .inner-title.movie {
    background-image: url(../images/title/title_movie.jpg); }
  .box-undertitle .inner-title.english {
    background-image: url(../images/title/title_english.jpg); }
  .box-undertitle .inner-title.author_exhibition {
    background-image: url(../images/title/title_authorexhibition.jpg); }
  .box-undertitle .inner-title.diffusion {
    background-image: url(../images/title/title_diffusion.jpg); }
  .box-undertitle .inner-title.eventreport {
    background-image: url(../images/title/title_eventreport.jpg); }
  .box-undertitle .inner-title.event_report {
    background-image: url(../images/title/title_event.jpg); }
  .box-undertitle .inner-title.assembly_hall {
    background-image: url(../images/title/title_assemblyhall.jpg); }
  .box-undertitle .inner-title.schedule {
    background-image: url(../images/title/title_schedule.jpg); }
  .box-undertitle .inner-title.travelingexhibition {
    background-image: url(../images/title/title_travelingexhibition.jpg); }
  .box-undertitle .inner-title.examiner {
    background-image: url(../images/title/title_examiner.jpg); }
  .box-undertitle .inner-title.impression {
    background-image: url(../images/title/title_impression.jpg); }
  .box-undertitle .inner-title.prizewinner {
    background-image: url(../images/title/title_prizewinner.jpg); }
  .box-undertitle .inner-title.winning_candidate {
    background-image: url(../images/title/title_winningcandidate.jpg); }
  .box-undertitle .inner-title.document {
    background-image: url(../images/title/title_document.jpg); }
  .box-undertitle .inner-title.greeting {
    background-image: url(../images/title/title_greeting.jpg); }
  .box-undertitle .inner-title.history {
    background-image: url(../images/title/title_history.jpg); }
  .box-undertitle .inner-title.information_disclosure {
    background-image: url(../images/title/title_informationdisclosure.jpg); }
  .box-undertitle .inner-title.memberlist {
    background-image: url(../images/title/title_memberlist.jpg); }
  .box-undertitle .inner-title.org_profile {
    background-image: url(../images/title/title_orgprofile.jpg); }
  .box-undertitle .inner-title.vicissitudes {
    background-image: url(../images/title/title_vicissitudes.jpg); }
  .box-undertitle .inner-title.diffusion {
    background-image: url(../images/title/title_diffusion.jpg); }
  .box-undertitle .inner-title.artschool {
    background-image: url(../images/title/title_artschool.jpg); }
  .box-undertitle .inner-title.eventreport {
    background-image: url(../images/title/title_eventreport.jpg); }
  .box-undertitle .inner-title.group-explanation {
    background-image: url(../images/title/title_group_explanation.jpg); }
  .box-undertitle .inner-title.commentary {
    background-image: url(../images/title/title_commentary.jpg); }
  .box-undertitle .inner-title.viewingparty {
    background-image: url(../images/title/title_viewingparty.jpg); }
  .box-undertitle .inner-title.onedayart {
    background-image: url(../images/title/title_onedayart.jpg); }
  .box-undertitle .inner-title.classroom {
    background-image: url(../images/title/title_classroom.jpg); }
  .box-undertitle .inner-title.lecture {
    background-image: url(../images/title/title_lecture.jpg); }
  .box-undertitle .inner-title.partners {
    background-image: url(../images/title/title_partners.jpg); }
  .box-undertitle .inner-title .title {
    display: inline-block;
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-500px, -50%);
    -ms-transform: translate(-500px, -50%);
    transform: translate(-500px, -50%);
    padding: 25px 47px;
    border: 1px solid #ffffff;
    font-size: 3.0rem;
    letter-spacing: 0.1em;
    color: #ffffff; }
    @media screen and (max-width: 768px) {
      .box-undertitle .inner-title .title {
        width: 90%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        padding: 15px 25px;
        font-size: 2.4rem;
        word-wrap: break-word;
        white-space: normal;
        text-align: center; } }
    @media screen and (max-width: 414px) {
      .box-undertitle .inner-title .title {
        padding: 10px;
        font-size: 2.0rem; } }

.box-undertitle .inner-title02 {
  position: relative;
  width: 100%;
  height: 100px;
  background: url(../images/title/title_products.jpg) no-repeat center center transparent;
  background-size: cover;
  word-wrap: break-word;
  white-space: normal; }
  .box-undertitle .inner-title02 .title {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-500px, -50%);
    -ms-transform: translate(-500px, -50%);
    transform: translate(-500px, -50%);
    font-size: 3.0rem;
    letter-spacing: 0.1em;
    color: #ffffff;
    white-space: nowrap; }
    @media screen and (max-width: 768px) {
      .box-undertitle .inner-title02 .title {
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        font-size: 2.6rem; } }
    @media screen and (max-width: 414px) {
      .box-undertitle .inner-title02 .title {
        padding: 15px 25px;
        font-size: 2.4rem; } }

.box-undertitle .innder-title03 h1 img {
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .box-undertitle .innder-title03 h1 img {
      max-width: 100%; } }

.box-price-01 dl {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0.1em; }
  .box-price-01 dl:before {
    display: inline-block;
    vertical-align: middle;
    content: "/";
    margin: 0 18px 0 19px; }
    @media screen and (max-width: 768px) {
      .box-price-01 dl:before {
        margin: 0 10px; } }
  .box-price-01 dl:first-child:before {
    display: none; }
  .box-price-01 dl dt, .box-price-01 dl dd {
    display: inline-block;
    vertical-align: middle; }
  .box-price-01 dl dt {
    font-size: 1.5rem; }
    @media screen and (max-width: 768px) {
      .box-price-01 dl dt {
        font-size: 1.4rem; } }
    @media screen and (max-width: 414px) {
      .box-price-01 dl dt {
        font-size: 1.3rem; } }
  .box-price-01 dl dd {
    font-size: 2.0rem;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .box-price-01 dl dd {
        font-size: 1.8rem; } }
    @media screen and (max-width: 414px) {
      .box-price-01 dl dd {
        font-size: 1.6rem; } }

.box-detail-01 .title {
  font-size: 2.0rem; }
  @media screen and (max-width: 768px) {
    .box-detail-01 .title {
      font-size: 1.8rem; } }
  @media screen and (max-width: 414px) {
    .box-detail-01 .title {
      font-size: 1.6rem; } }

.box-detail-01 .box-price-01 {
  margin: 10px 0 7px; }
  @media screen and (max-width: 414px) {
    .box-detail-01 .box-price-01 {
      margin: 5px 0 4px; } }

.box-detail-01 .time {
  font-size: 1.5rem; }
  @media screen and (max-width: 768px) {
    .box-detail-01 .time {
      font-size: 1.4rem; } }
  @media screen and (max-width: 414px) {
    .box-detail-01 .time {
      font-size: 1.3rem; } }

.box-contact-01 {
  padding: 27px 39px 31px;
  border: 1px solid #333333; }
  @media screen and (max-width: 768px) {
    .box-contact-01 {
      padding: 20px 30px 25px; } }
  @media screen and (max-width: 414px) {
    .box-contact-01 {
      padding: 15px 20px 20px; } }
  .box-contact-01 .title {
    font-size: 1.8rem;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .box-contact-01 .title {
        font-size: 1.7rem; } }
    @media screen and (max-width: 414px) {
      .box-contact-01 .title {
        font-size: 1.6rem; } }
  .box-contact-01 p {
    margin-top: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 768px) {
      .box-contact-01 p {
        font-size: 1.5rem; } }
    @media screen and (max-width: 414px) {
      .box-contact-01 p {
        margin-top: 10px;
        font-size: 1.4rem; } }
    .box-contact-01 p:first-child {
      margin-top: 0; }

.box-colomn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .box-colomn.kids .colomn-inner {
    margin-top: 15px; }
    .box-colomn.kids .colomn-inner:nth-of-type(odd) {
      width: 62%; }
      @media screen and (max-width: 768px) {
        .box-colomn.kids .colomn-inner:nth-of-type(odd) {
          width: 100%; } }
    .box-colomn.kids .colomn-inner:nth-of-type(even) {
      width: 36%; }
      @media screen and (max-width: 768px) {
        .box-colomn.kids .colomn-inner:nth-of-type(even) {
          width: 100%; } }
    .box-colomn.kids .colomn-inner.figure {
      text-align: center; }
    @media screen and (max-width: 768px) {
      .box-colomn.kids .colomn-inner img {
        display: inline-block; } }
  .box-colomn.col02 .colomn-inner {
    width: 50%;
    margin-top: 15px; }
  .box-colomn.col03 .colomn-inner {
    width: 32%;
    margin-top: 15px; }
    .box-colomn.col03 .colomn-inner:nth-of-type(3n+2) {
      margin-right: 2%;
      margin-left: 2%; }
  .box-colomn.col04 .colomn-inner {
    width: 23.5%;
    margin-top: 15px;
    margin-left: 2%; }
    .box-colomn.col04 .colomn-inner:nth-of-type(4n+1) {
      margin-left: 0; }
  .box-colomn.space.col02 .colomn-inner:nth-of-type(odd) {
    padding-right: 20px; }
    @media screen and (max-width: 768px) {
      .box-colomn.space.col02 .colomn-inner:nth-of-type(odd) {
        padding-right: 10px; } }
    @media screen and (max-width: 414px) {
      .box-colomn.space.col02 .colomn-inner:nth-of-type(odd) {
        padding-right: 5px; } }
  .box-colomn.space.col02 .colomn-inner:nth-of-type(even) {
    padding-left: 20px; }
    @media screen and (max-width: 768px) {
      .box-colomn.space.col02 .colomn-inner:nth-of-type(even) {
        padding-left: 10px; } }
    @media screen and (max-width: 414px) {
      .box-colomn.space.col02 .colomn-inner:nth-of-type(even) {
        padding-left: 5px; } }
  .box-colomn.space.col03 .colomn-inner {
    padding-left: 10px;
    padding-right: 10px; }
  @media screen and (max-width: 768px) {
    .box-colomn.tb-col01 .colomn-inner {
      width: 100%;
      margin-top: 20px;
      padding-left: 0 !important;
      padding-right: 0 !important; } }
  @media screen and (max-width: 414px) {
    .box-colomn.tb-col01 .colomn-inner {
      margin-top: 15px; } }
  @media screen and (max-width: 768px) {
    .box-colomn.tb-col01 .colomn-inner:first-child {
      margin-top: 0; } }
  @media screen and (max-width: 768px) {
    .box-colomn.tb-col02 .colomn-inner {
      width: 48%;
      margin-top: 15px; } }
  @media screen and (max-width: 768px) {
    .box-colomn.tb-col02 .colomn-inner:nth-of-type(odd) {
      margin-left: 0;
      margin-right: 2%; } }
  @media screen and (max-width: 768px) {
    .box-colomn.tb-col02 .colomn-inner:nth-of-type(even) {
      margin-left: 2%;
      margin-right: 0; } }
  @media screen and (max-width: 414px) {
    .box-colomn.sp-col01 .colomn-inner {
      width: 100%;
      margin-top: 15px;
      padding-left: 0 !important;
      padding-right: 0 !important; } }
  @media screen and (max-width: 414px) {
    .box-colomn.sp-col01 .colomn-inner:nth-of-type(odd) {
      margin-top: 15px;
      margin-left: 0;
      margin-right: 0; } }
  @media screen and (max-width: 414px) {
    .box-colomn.sp-col01 .colomn-inner:nth-of-type(even) {
      margin-top: 15px;
      margin-left: 0;
      margin-right: 0; } }
  @media screen and (max-width: 414px) {
    .box-colomn.sp-col01 .colomn-inner:first-child {
      margin-top: 0; } }
  @media screen and (max-width: 414px) {
    .box-colomn.sp-col01.space .colomn-inner:nth-of-type(odd) {
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (max-width: 414px) {
    .box-colomn.sp-col01.space .colomn-inner:nth-of-type(even) {
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (max-width: 768px) {
    .box-colomn.map .colomn-inner {
      margin-top: 20px; } }
  @media screen and (max-width: 414px) {
    .box-colomn.map .colomn-inner {
      margin-top: 15px; } }
  .box-colomn.map .colomn-inner:nth-of-type(odd) {
    width: 370px;
    padding-right: 22px; }
    @media screen and (max-width: 768px) {
      .box-colomn.map .colomn-inner:nth-of-type(odd) {
        width: 37%;
        padding-right: 11px; } }
    @media screen and (max-width: 414px) {
      .box-colomn.map .colomn-inner:nth-of-type(odd) {
        width: 100%;
        padding-right: 0; } }
  .box-colomn.map .colomn-inner:nth-of-type(even) {
    width: 620px;
    padding-right: 22px; }
    @media screen and (max-width: 768px) {
      .box-colomn.map .colomn-inner:nth-of-type(even) {
        width: 63%;
        padding-right: 11px; } }
    @media screen and (max-width: 414px) {
      .box-colomn.map .colomn-inner:nth-of-type(even) {
        width: 100%;
        padding-right: 0; } }
  .box-colomn.detail .colomn-inner:nth-of-type(odd) {
    width: 305px;
    padding-right: 20px; }
    @media screen and (max-width: 768px) {
      .box-colomn.detail .colomn-inner:nth-of-type(odd) {
        width: 30.5%;
        padding-right: 10px; } }
    @media screen and (max-width: 414px) {
      .box-colomn.detail .colomn-inner:nth-of-type(odd) {
        width: 100%;
        padding-right: 5px; } }
  .box-colomn.detail .colomn-inner:nth-of-type(even) {
    width: 690px; }
    @media screen and (max-width: 768px) {
      .box-colomn.detail .colomn-inner:nth-of-type(even) {
        width: 69%; } }
    @media screen and (max-width: 414px) {
      .box-colomn.detail .colomn-inner:nth-of-type(even) {
        width: 100%; } }
  @media screen and (max-width: 768px) {
    .box-colomn .colomn-inner figure img {
      width: 100%; } }

.box-pagenation01 {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1;
  color: #C9171E; }
  @media screen and (max-width: 768px) {
    .box-pagenation01 {
      font-size: 1.4rem; } }
  @media screen and (max-width: 414px) {
    .box-pagenation01 {
      font-size: 1.2rem; } }
  .box-pagenation01 > span {
    display: inline-block;
    margin: 0 6px; }
  .box-pagenation01 a {
    padding: 12px 26px 11px;
    border: 1px solid #C9171E;
    color: inherit; }
    @media screen and (max-width: 768px) {
      .box-pagenation01 a {
        padding: 10px 22px 10px; } }
    @media screen and (max-width: 414px) {
      .box-pagenation01 a {
        padding: 8px 10px 7px; } }
    .box-pagenation01 a:hover {
      opacity: 1;
      color: #ffffff;
      background-color: #C9171E; }
  .box-pagenation01 .prev a:before {
    content: "<";
    margin-right: 10px; }
    @media screen and (max-width: 768px) {
      .box-pagenation01 .prev a:before {
        margin-right: 5px; } }
  .box-pagenation01 .next a:after {
    content: ">";
    margin-left: 10px; }
    @media screen and (max-width: 768px) {
      .box-pagenation01 .next a:after {
        margin-left: 5px; } }

.box-products-search {
  font-size: 1.6rem; }
  .box-products-search .inner-search {
    margin-bottom: 25px;
    padding: 26px 38px;
    border: 1px solid #CCCCCC;
    background-color: #ffffff; }
    @media screen and (max-width: 768px) {
      .box-products-search .inner-search {
        padding: 15px 30px; } }
    @media screen and (max-width: 414px) {
      .box-products-search .inner-search {
        padding: 15px 15px; } }
    .box-products-search .inner-search dl {
      margin-top: 0; }
      .box-products-search .inner-search dl dt {
        font-size: 1.8rem; }
  .box-products-search .title {
    margin-bottom: 25px;
    padding-bottom: 9px;
    border-bottom: 1px solid #cccccc;
    font-size: 2.0rem;
    font-weight: bold;
    color: #D4454B; }
    @media screen and (max-width: 768px) {
      .box-products-search .title {
        margin-bottom: 20px; } }
  .box-products-search dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 20px;
    font-size: 1.8rem; }
    @media screen and (max-width: 768px) {
      .box-products-search dl {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: 15px; } }
    .box-products-search dl:first-child {
      margin-top: 0; }
    .box-products-search dl.vertical {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .box-products-search dl.vertical dt, .box-products-search dl.vertical dd {
        width: 100%; }
      .box-products-search dl.vertical dd {
        margin-top: 10px; }
    .box-products-search dl dt {
      margin-right: 14px; }
      @media screen and (max-width: 768px) {
        .box-products-search dl dt {
          width: 100%;
          margin-right: 0; } }
    @media screen and (max-width: 768px) {
      .box-products-search dl dd {
        width: 100%;
        margin-top: 10px; } }
    .box-products-search dl dd input[type="text"] {
      width: 350px; }
      @media screen and (max-width: 768px) {
        .box-products-search dl dd input[type="text"] {
          width: calc(100% - 40px); } }
    .box-products-search dl dd .btn-submit {
      width: 25px;
      height: 25px;
      margin-top: -3px;
      margin-left: 15px; }
      @media screen and (max-width: 768px) {
        .box-products-search dl dd .btn-submit {
          margin-top: 7px;
          margin-left: 8px; } }
    @media screen and (max-width: 768px) {
      .box-products-search dl dd ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
    .box-products-search dl dd ul li {
      display: inline-block;
      margin-right: 5px;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        .box-products-search dl dd ul li {
          width: 32%;
          margin-right: 0;
          margin-left: 2%; } }
      @media screen and (max-width: 414px) {
        .box-products-search dl dd ul li {
          width: 48%; } }
      @media screen and (max-width: 768px) {
        .box-products-search dl dd ul li:nth-of-type(3n+1) {
          margin-left: 0; } }
      @media screen and (max-width: 414px) {
        .box-products-search dl dd ul li:nth-of-type(odd) {
          margin-right: 2%;
          margin-left: 0; } }
      @media screen and (max-width: 414px) {
        .box-products-search dl dd ul li:nth-of-type(even) {
          margin-right: 0;
          margin-left: 2%; } }
      .box-products-search dl dd ul li .unit-btn-04 {
        min-width: 120px; }
        @media screen and (max-width: 768px) {
          .box-products-search dl dd ul li .unit-btn-04 {
            min-width: auto;
            min-width: inherit;
            width: 100%; } }
        .box-products-search dl dd ul li .unit-btn-04.middle {
          min-width: 150px; }
          @media screen and (max-width: 768px) {
            .box-products-search dl dd ul li .unit-btn-04.middle {
              min-width: auto;
              min-width: inherit; } }
        .box-products-search dl dd ul li .unit-btn-04.large {
          min-width: 180px; }
          @media screen and (max-width: 768px) {
            .box-products-search dl dd ul li .unit-btn-04.large {
              min-width: auto;
              min-width: inherit; } }
      @media screen and (max-width: 768px) {
        .box-products-search dl dd ul li .unit-btn-05 {
          width: 100%; } }
      @media screen and (max-width: 768px) {
        .box-products-search dl dd ul li .unit-btn-05 a {
          min-width: 100%; } }

.box-404 {
  text-align: center; }
  .box-404 p {
    font-size: 1.6rem; }
  .box-404 .unit-btn-01 {
    display: inline-block;
    margin-top: 20px; }
    .box-404 .unit-btn-01 a {
      padding: 8px 20px; }

.box-single-detail .box-pagenation01 {
  margin-top: 70px; }
  @media screen and (max-width: 768px) {
    .box-single-detail .box-pagenation01 {
      margin-top: 50px; } }
  @media screen and (max-width: 414px) {
    .box-single-detail .box-pagenation01 {
      margin-top: 30px; } }

.box-btnlist-01 li {
  display: inline-block; }

.box-special-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .box-special-card .inner-card {
    width: 212px;
    margin-left: 50px;
    margin-bottom: 60px; }
    @media screen and (max-width: 768px) {
      .box-special-card .inner-card {
        width: 30%;
        margin-left: 5%;
        margin-bottom: 50px; } }
    @media screen and (max-width: 414px) {
      .box-special-card .inner-card {
        width: 50%;
        margin-left: 0;
        margin-bottom: 40px; } }
    .box-special-card .inner-card:nth-of-type(4n+1) {
      margin-left: 0; }
      @media screen and (max-width: 768px) {
        .box-special-card .inner-card:nth-of-type(4n+1) {
          margin-left: 5%; } }
      @media screen and (max-width: 414px) {
        .box-special-card .inner-card:nth-of-type(4n+1) {
          margin-left: 0; } }
    @media screen and (max-width: 768px) {
      .box-special-card .inner-card:nth-of-type(3n+1) {
        margin-left: 0; } }
    @media screen and (max-width: 414px) {
      .box-special-card .inner-card:nth-of-type(3n+1) {
        margin-left: 0; } }
    @media screen and (max-width: 414px) {
      .box-special-card .inner-card:nth-of-type(odd) {
        padding-right: 7px; } }
    @media screen and (max-width: 414px) {
      .box-special-card .inner-card:nth-of-type(even) {
        padding-left: 7px; } }
    .box-special-card .inner-card a .title {
      text-decoration: underline; }
    .box-special-card .inner-card figure img {
      width: 100%; }
    .box-special-card .inner-card .title {
      margin-top: 24px;
      font-size: 1.6rem;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .box-special-card .inner-card .title {
          margin-top: 20px;
          font-size: 1.5rem; } }
      @media screen and (max-width: 414px) {
        .box-special-card .inner-card .title {
          margin-top: 18px; } }
    .box-special-card .inner-card .summary {
      margin-top: 15px;
      text-decoration: none;
      font-size: 1.3rem;
      color: #666666; }
      @media screen and (max-width: 768px) {
        .box-special-card .inner-card .summary {
          margin-top: 10px; } }
    .box-special-card .inner-card .date {
      display: block;
      margin-top: 5px; }
    .box-special-card .inner-card .award {
      display: block;
      margin-top: 12px;
      padding: 5px 10px 4px;
      border: 1px solid #C9171E;
      text-align: center;
      color: #C9171E; }

.box-expl-01 {
  padding: 40px 35px 35px;
  background-color: #ffffff;
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    .box-expl-01 {
      padding: 30px 25px 25px;
      font-size: 1.5rem; } }
  @media screen and (max-width: 414px) {
    .box-expl-01 {
      padding: 25px 20px 20px;
      font-size: 1.4rem; } }
  .box-expl-01 .title {
    font-size: 2.0rem; }
    @media screen and (max-width: 768px) {
      .box-expl-01 .title {
        font-size: 1.8rem; } }
    @media screen and (max-width: 414px) {
      .box-expl-01 .title {
        font-size: 1.6rem; } }

.box-flow {
  counter-reset: step; }
  .box-flow .flow-inner {
    position: relative;
    margin-bottom: 20px;
    padding: 0 0 40px 200px;
    min-height: 200px;
    /*
        &:before{
            display: block;
            counter-increment:step;
            content: attr(data-flow);
            position: absolute;
            top:0;
            left:0;
            font-size: 1.8rem;
            font-weight: bold;
            color: $c_red;
            @media screen and (max-width: 768px) {
                position: relative;
                left: -8px
            }
        }
        */ }
    @media screen and (max-width: 768px) {
      .box-flow .flow-inner {
        padding: 0 0 30px; } }
    .box-flow .flow-inner:after {
      display: none;
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 20px 0 20px;
      border-color: #333333 transparent transparent transparent; }
      @media screen and (max-width: 768px) {
        .box-flow .flow-inner:after {
          display: block; } }
    .box-flow .flow-inner:last-child:after {
      display: none; }
    @media screen and (max-width: 768px) {
      .box-flow .flow-inner:last-child .title {
        padding-bottom: 0; } }
    .box-flow .flow-inner:last-child .title:after {
      display: none; }
    .box-flow .flow-inner .title {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-flow: column;
      flex-flow: column;
      position: absolute;
      top: 0;
      left: 0;
      width: 160px;
      height: 160px;
      border-radius: 100px;
      background-color: #D4454B;
      text-align: center;
      font-size: 1.6rem;
      color: #ffffff; }
      @media screen and (max-width: 768px) {
        .box-flow .flow-inner .title {
          position: relative;
          display: block;
          width: 100%;
          height: auto;
          margin-bottom: 20px;
          padding: 5px 10px; } }
      .box-flow .flow-inner .title:after {
        position: absolute;
        bottom: -35px;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 20px 20px 0 20px;
        border-color: #333333 transparent transparent transparent; }
        @media screen and (max-width: 768px) {
          .box-flow .flow-inner .title:after {
            display: none; } }
      .box-flow .flow-inner .title .inner {
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 100%; }
        @media screen and (max-width: 768px) {
          .box-flow .flow-inner .title .inner {
            position: relative;
            top: 0;
            -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
            transform: translateY(0); } }
        .box-flow .flow-inner .title .inner span {
          display: block;
          font-size: 1.3rem; }

.box-modal-01 {
  text-align: left; }
  .box-modal-01 .date {
    display: block;
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 22px;
    font-size: 2.0rem;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .box-modal-01 .date {
        margin-bottom: 25px;
        padding-bottom: 12px;
        font-size: 1.6rem; } }
    .box-modal-01 .date:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      border-radius: 2px;
      border-top: 4px solid #583314; }
      @media screen and (max-width: 768px) {
        .box-modal-01 .date:before {
          border-width: 2px; } }
  .box-modal-01 .detail-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .box-modal-01 .detail-wrap .figure {
      width: 150px; }
      @media screen and (max-width: 768px) {
        .box-modal-01 .detail-wrap .figure {
          width: 75px; } }
      @media screen and (max-width: 414px) {
        .box-modal-01 .detail-wrap .figure {
          width: 150px;
          margin: 0 auto 20px; } }
      .box-modal-01 .detail-wrap .figure img {
        width: 100%; }
    .box-modal-01 .detail-wrap .detail {
      width: calc(100% - 150px - 30px); }
      @media screen and (max-width: 768px) {
        .box-modal-01 .detail-wrap .detail {
          width: calc(100% - 75px - 15px); } }
      @media screen and (max-width: 414px) {
        .box-modal-01 .detail-wrap .detail {
          width: 100%; } }
      .box-modal-01 .detail-wrap .detail .ttl {
        font-size: 2.2rem;
        font-weight: bold; }
  .box-modal-01 .unit-kidstitle-04 {
    margin-top: 30px;
    margin-bottom: 10px; }
    .box-modal-01 .unit-kidstitle-04:first-child {
      margin-top: 0; }

.box-select-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .box-select-01 + .box-select-01 {
    margin-top: 20px; }
  .box-select-01.colomn01 .select-inner {
    width: 32%; }
    @media screen and (max-width: 768px) {
      .box-select-01.colomn01 .select-inner {
        width: 100%; } }
  .box-select-01.colomn03 .select-inner {
    width: 32%; }
    @media screen and (max-width: 414px) {
      .box-select-01.colomn03 .select-inner {
        width: 100%; } }
    .box-select-01.colomn03 .select-inner:nth-of-type(3n+2) {
      margin-left: 2%;
      margin-right: 2%; }
      @media screen and (max-width: 414px) {
        .box-select-01.colomn03 .select-inner:nth-of-type(3n+2) {
          margin-left: 0;
          margin-right: 0; } }
  @media screen and (max-width: 414px) {
    .box-select-01 .select-inner {
      margin-top: 20px; } }
  @media screen and (max-width: 768px) {
    .box-select-01 .select-inner:first-child {
      margin-top: 0; } }
  .box-select-01 .select-inner .title {
    font-weight: bold;
    font-size: 1.6rem; }
  .box-select-01 .select-inner .unit-year-select {
    width: 100%;
    margin-top: 5px;
    margin-bottom: 0; }
    .box-select-01 .select-inner .unit-year-select select {
      width: 100%;
      min-width: 100%; }

#gnav {
  display: block;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 230px;
  height: 100%;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    #gnav {
      width: 100%;
      height: 50px;
      background-color: #D4454B; } }
  #gnav:before {
    display: none;
    z-index: 2;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background-color: #C9171E; }
    @media screen and (max-width: 768px) {
      #gnav:before {
        display: block; } }
  #gnav a {
    color: #ffffff; }
  #gnav .logo {
    display: block;
    z-index: 3;
    position: relative;
    width: 103px;
    height: 139px;
    margin: 20px auto 29px; }
    @media screen and (max-width: 768px) {
      #gnav .logo {
        top: 50%;
        left: 10px;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 132px;
        height: 21px;
        margin: 0; } }
    #gnav .logo a {
      overflow: hidden;
      text-indent: 200%;
      white-space: nowrap;
      display: block;
      width: 100%;
      height: 100%;
      background: url(../images/common/logo_white.svg) no-repeat center top transparent;
      background-size: contain; }
      @media screen and (max-width: 768px) {
        #gnav .logo a {
          background-image: url(../images/common/logo_white_sp.svg); } }
  #gnav > .logo {
    display: none; }
    @media screen and (max-width: 768px) {
      #gnav > .logo {
        display: block; } }
  #gnav .inner-nav {
    position: relative; }
    #gnav .inner-nav li {
      font-size: 1.5rem;
      margin-top: -1px; }
      #gnav .inner-nav li a {
        display: block;
        position: relative;
        padding: 8px 20px;
        text-align: center;
        letter-spacing: 0.1em; }
        #gnav .inner-nav li a:after {
          content: "\f105";
          position: absolute;
          top: 50%;
          right: 10px;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          opacity: 0;
          font-family: FontAwesome;
          font-size: 1.5rem;
          line-height: 1;
          -webkit-transition: opacity 0.3s linear;
          -o-transition: opacity 0.3s linear;
          transition: opacity 0.3s linear; }
        #gnav .inner-nav li a.is-active:after {
          opacity: 1; }
        #gnav .inner-nav li a span {
          display: block;
          font-family: 'Libre Baskerville', serif;
          font-size: .9rem; }
  #gnav .language {
    display: inline-block;
    min-width: 120px;
    margin-top: 22px;
    margin-bottom: 20px;
    font-family: 'Libre Baskerville', serif;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1; }
    #gnav .language a {
      display: block;
      padding: 13px 0 9px;
      border: 1px solid #ffffff;
      letter-spacing: 0.1em; }
  #gnav .btn-outline {
    display: none;
    z-index: 3;
    position: absolute;
    top: 50%;
    right: 60px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      #gnav .btn-outline {
        display: inline-block; } }
    #gnav .btn-outline a {
      display: block;
      padding: 8px 13px;
      border: 1px solid #ffffff;
      font-size: 1.4rem;
      color: #ffffff;
      line-height: 1; }
  #gnav .scroll-wrap {
    position: relative;
    overflow: auto;
    height: 100%; }
  #gnav .nav-main {
    z-index: 2;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #C9171E;
    text-align: center; }
    #gnav .nav-main .inner-nav li a.is-active, #gnav .nav-main .inner-nav li a:hover {
      opacity: 1;
      background-color: #971116; }
    #gnav .nav-main .unit-search {
      margin-top: 27px;
      padding: 0 40px; }
    #gnav .nav-main .box-sns {
      margin-top: 22px; }
      #gnav .nav-main .box-sns > span {
        margin: 0 4px; }
  #gnav .nav-sub {
    z-index: 1;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: -webkit-transform 0.3s linear;
    transition: -webkit-transform 0.3s linear;
    -o-transition: transform 0.3s linear;
    transition: transform 0.3s linear;
    transition: transform 0.3s linear, -webkit-transform 0.3s linear;
    width: 100%;
    height: 100%;
    background-color: #971116; }
    #gnav .nav-sub.is-active {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%); }
    #gnav .nav-sub .inner-nav {
      display: none;
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      #gnav .nav-sub .inner-nav:nth-of-type(3) {
        display: block; }
      #gnav .nav-sub .inner-nav:before {
        border-color: #C9171E; }
      #gnav .nav-sub .inner-nav li a {
        padding: 15px 20px; }
        #gnav .nav-sub .inner-nav li a:after {
          display: none; }
        #gnav .nav-sub .inner-nav li a:before {
          border-color: #C9171E; }
  #gnav .nav-sp {
    display: none;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 50px;
    background-color: #C9171E; }
    #gnav .nav-sp > ul {
      text-align: center;
      font-size: 1.5rem; }
      #gnav .nav-sp > ul > li {
        border-top: 1px solid #971116; }
        #gnav .nav-sp > ul > li > a,
        #gnav .nav-sp > ul > li > span {
          display: block;
          padding: 10px 0; }
        #gnav .nav-sp > ul > li > span:after {
          content: "\f107";
          margin-left: 5px;
          font-family: FontAwesome;
          line-height: 1; }
        #gnav .nav-sp > ul > li > ul {
          display: none; }
          #gnav .nav-sp > ul > li > ul li {
            border-top: 1px solid #C9171E;
            background-color: #971116; }
            #gnav .nav-sp > ul > li > ul li a {
              display: block;
              padding: 7px 0; }
    #gnav .nav-sp .box-other {
      padding: 10px 0;
      border-top: 1px solid #971116;
      text-align: center; }
    #gnav .nav-sp .address .street {
      display: block; }
    #gnav .nav-sp .address .telephone a {
      font-size: 1.8rem;
      text-decoration: underline; }
    #gnav .nav-sp .unit-search {
      padding: 10px 20px; }
      @media screen and (max-width: 768px) {
        #gnav .nav-sp .unit-search .btn-submit {
          margin-top: 0; } }

#header {
  overflow: hidden;
  position: relative;
  display: block;
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 17px 0 18px 230px;
  background-color: #ffffff; }
  @media screen and (max-width: 768px) {
    #header {
      display: none;
      width: 100%;
      padding: 0; } }
  #header .inner-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 1000px;
    margin: 0 auto; }
  #header .nav-header {
    width: 100%;
    padding-top: 4px; }
    #header .nav-header li {
      display: inline-block;
      padding-left: 20px;
      padding-right: 17px;
      border-left: 1px solid #D6D6D6; }
      #header .nav-header li:first-child {
        padding-left: 0;
        border-left: none; }
      #header .nav-header li a {
        color: #4D4D4D; }
  #header .btn-outline {
    z-index: 3; }
    @media screen and (max-width: 768px) {
      #header .btn-outline {
        display: inline-block; } }
    #header .btn-outline a {
      display: block;
      padding: 8px 21px;
      border: 1px solid #C9171E;
      font-size: 1.4rem;
      color: #C9171E;
      line-height: 1; }
  #header .func-header {
    width: 33%; }
  #header .unit-search {
    float: right; }
  #header .box-sns {
    float: right;
    margin-left: 15px; }

#navButton {
  display: none;
  z-index: 3;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px; }
  @media screen and (max-width: 768px) {
    #navButton {
      display: block; } }
  #navButton:before, #navButton:after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: no-repeat center center transparent;
    background-size: contain; }
  #navButton:before {
    background-image: url(../images/common/menu_button.svg); }
  #navButton:after {
    display: none;
    background-image: url(../images/common/menu_close.svg); }
  #navButton.is-open:after {
    display: block; }

#footer {
  overflow: hidden;
  position: relative;
  padding-top: 66px;
  background-color: #2B2B2B;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    #footer {
      width: 100%;
      padding-top: 15px; } }
  #footer a {
    color: #ffffff; }
  #footer .wrapper {
    position: relative;
    padding-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #footer .wrapper {
        padding-bottom: 50px; } }
  #footer .section-footer-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
    @media screen and (max-width: 768px) {
      #footer .section-footer-summary {
        width: 100%; } }
    #footer .section-footer-summary .footer-summary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 85%; }
      @media screen and (max-width: 768px) {
        #footer .section-footer-summary .footer-summary {
          width: 100%; } }
      #footer .section-footer-summary .footer-summary .logo {
        overflow: hidden;
        text-indent: 200%;
        white-space: nowrap;
        width: 233px;
        height: 50px;
        background: url(../images/common/logo_ver_white.svg) no-repeat center left transparent;
        background-size: contain; }
        @media screen and (max-width: 768px) {
          #footer .section-footer-summary .footer-summary .logo {
            width: 150px;
            height: 50px; } }
      #footer .section-footer-summary .footer-summary .address {
        margin-left: 34px;
        padding-top: 4px;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 768px) {
          #footer .section-footer-summary .footer-summary .address {
            margin-left: 17px; } }
        @media screen and (max-width: 580px) {
          #footer .section-footer-summary .footer-summary .address {
            width: 100%;
            margin-left: 0; } }
        #footer .section-footer-summary .footer-summary .address .street {
          display: block;
          font-size: 1.5rem; }
          @media screen and (max-width: 768px) {
            #footer .section-footer-summary .footer-summary .address .street {
              font-size: 1.2rem; } }
        #footer .section-footer-summary .footer-summary .address .telephone {
          display: inline-block;
          font-size: 2.2rem;
          letter-spacing: 0.1em; }
          @media screen and (max-width: 768px) {
            #footer .section-footer-summary .footer-summary .address .telephone {
              font-size: 1.7rem; } }
          #footer .section-footer-summary .footer-summary .address .telephone a:hover {
            opacity: 1; }
        #footer .section-footer-summary .footer-summary .address .fax {
          display: inline-block;
          margin-left: 10px;
          font-size: 1.5rem; }
          @media screen and (max-width: 768px) {
            #footer .section-footer-summary .footer-summary .address .fax {
              margin-left: 5px;
              font-size: 1.2rem; } }
  #footer .section-footer-nav {
    margin-top: 80px;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      #footer .section-footer-nav {
        margin-top: 0;
        margin-bottom: 20px; } }
    #footer .section-footer-nav .top-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
    #footer .section-footer-nav .bottom-nav {
      margin-top: 50px; }
      @media screen and (max-width: 768px) {
        #footer .section-footer-nav .bottom-nav {
          margin-top: 30px; } }
      #footer .section-footer-nav .bottom-nav ul li {
        display: inline-block;
        vertical-align: middle; }
        @media screen and (max-width: 768px) {
          #footer .section-footer-nav .bottom-nav ul li {
            display: block;
            margin-top: 10px; } }
        #footer .section-footer-nav .bottom-nav ul li:first-child:before {
          display: none; }
        #footer .section-footer-nav .bottom-nav ul li:before {
          display: inline-block;
          vertical-align: middle;
          content: "|";
          margin-left: 14px;
          margin-right: 17px; }
          @media screen and (max-width: 768px) {
            #footer .section-footer-nav .bottom-nav ul li:before {
              display: none; } }
    #footer .section-footer-nav .inner-nav {
      width: 20%; }
      @media screen and (max-width: 768px) {
        #footer .section-footer-nav .inner-nav {
          width: 100%;
          margin-top: 27px; } }
      @media screen and (max-width: 768px) {
        #footer .section-footer-nav .inner-nav.col01-sp {
          width: 100%; } }
      #footer .section-footer-nav .inner-nav.col01-sp ul li a {
        color: #ffffff; }
      @media screen and (max-width: 768px) {
        #footer .section-footer-nav .inner-nav ul {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          font-size: 1.2rem; } }
      #footer .section-footer-nav .inner-nav ul li {
        margin-top: 9px; }
        @media screen and (max-width: 768px) {
          #footer .section-footer-nav .inner-nav ul li {
            width: 50%; } }
        @media screen and (max-width: 768px) {
          #footer .section-footer-nav .inner-nav ul li:nth-of-type(odd) {
            padding-right: 5px; } }
        @media screen and (max-width: 768px) {
          #footer .section-footer-nav .inner-nav ul li:nth-of-type(even) {
            padding-left: 5px; } }
        #footer .section-footer-nav .inner-nav ul li a {
          color: #95949A; }
  #footer .box-sns {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 18px;
    text-align: right; }
    @media screen and (max-width: 768px) {
      #footer .box-sns {
        position: relative;
        margin-top: 33px;
        text-align: center; } }
    @media screen and (max-width: 768px) {
      #footer .box-sns > span {
        margin: 0 8px; } }
    #footer .box-sns .facebook a {
      width: 24px;
      height: 24px; }
    #footer .box-sns .twitter a {
      width: 25px;
      height: 20px; }
    #footer .box-sns .line a {
      width: 29px;
      height: 27px; }
    #footer .box-sns .youtube a {
      width: 29px;
      height: 27px; }
  #footer .copyright {
    display: block;
    margin-top: 56px;
    padding: 10px 0;
    font-size: 1.1rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #727171; }
    @media screen and (max-width: 768px) {
      #footer .copyright {
        margin-top: 10px;
        padding: 0;
        font-size: 1.0rem; } }

#contents {
  z-index: 1;
  overflow: hidden;
  position: relative;
  display: block; }
  @media screen and (max-width: 768px) {
    #contents {
      width: 100%;
      margin-top: 50px; } }
  #contents.underlayer {
    margin-top: 60px;
    background-color: #F1F1F3; }
    @media screen and (max-width: 768px) {
      #contents.underlayer {
        margin-top: 50px; } }
  #contents.smallcontent .content {
    padding-top: 20px; }
    @media screen and (max-width: 768px) {
      #contents.smallcontent .content {
        padding-top: 20px; } }
    @media screen and (max-width: 414px) {
      #contents.smallcontent .content {
        padding-top: 20px; } }
  #contents .content {
    padding-top: 45px;
    padding-bottom: 89px; }
    @media screen and (max-width: 768px) {
      #contents .content {
        padding-top: 30px;
        padding-bottom: 45px; } }
    @media screen and (max-width: 414px) {
      #contents .content {
        padding-top: 20px;
        padding-bottom: 35px; } }

.edit {
  line-height: 1.78;
  /*
    dl{
        display: flex;
        flex-wrap: wrap;
        dt,dd{
            display: block;
            margin-bottom: 10px;
        }
        dt{
            width: 10%;
        }
        dd{
            width: 90%;
        }
    }
    */ }
  .edit > *,
  .edit p {
    margin-top: 20px; }
    @media screen and (max-width: 768px) {
      .edit > *,
      .edit p {
        margin-top: 15px; } }
    @media screen and (max-width: 414px) {
      .edit > *,
      .edit p {
        margin-top: 10px; } }
    .edit > *:first-child,
    .edit p:first-child {
      margin-top: 0; }
    .edit > * + p,
    .edit p + p {
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .edit > * + p,
        .edit p + p {
          margin-top: 8px; } }
      @media screen and (max-width: 414px) {
        .edit > * + p,
        .edit p + p {
          margin-top: 5px; } }
  .edit p:after {
    content: "";
    clear: both;
    display: block; }
  .edit a {
    color: #0071BC;
    text-decoration: underline; }
  .edit strong {
    font-weight: bold; }
  .edit img {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      .edit img {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 20px; } }
    @media screen and (max-width: 414px) {
      .edit img {
        margin-top: 15px;
        margin-bottom: 15px; } }
    .edit img.alignright {
      margin-left: 50px; }
      @media screen and (max-width: 768px) {
        .edit img.alignright {
          margin-left: 30px; } }
      @media screen and (max-width: 414px) {
        .edit img.alignright {
          margin: 10px auto; } }
    .edit img.alignleft {
      margin-right: 50px; }
      @media screen and (max-width: 768px) {
        .edit img.alignleft {
          margin-right: 30px; } }
      @media screen and (max-width: 414px) {
        .edit img.alignleft {
          margin: 10px auto; } }
  .edit hr {
    display: block;
    margin-top: 30px;
    margin-bottom: 30px;
    border: none;
    border-top: 1px solid #E7E7EB; }
  .edit iframe {
    width: 100% !important; }
  .edit .pc-fix table {
    width: 1000px; }
  .edit table {
    table-layout: fixed;
    width: 100%;
    margin-top: 40px; }
    @media screen and (max-width: 768px) {
      .edit table {
        margin-top: 30px; } }
    @media screen and (max-width: 414px) {
      .edit table {
        margin-top: 25px; } }
    .edit table:first-child {
      margin-top: 0; }
    @media screen and (max-width: 768px) {
      .edit table.tb-ver thead {
        display: none; } }
    @media screen and (max-width: 768px) {
      .edit table.tb-ver tr {
        border: 1px solid #D6D6D6; } }
    @media screen and (max-width: 768px) {
      .edit table.tb-ver tr th, .edit table.tb-ver tr td {
        display: block;
        width: 100% !important;
        border: none; } }
    @media screen and (max-width: 414px) {
      .edit table.sp-ver thead {
        display: none; } }
    @media screen and (max-width: 414px) {
      .edit table.sp-ver tr {
        border: 1px solid #D6D6D6; } }
    @media screen and (max-width: 414px) {
      .edit table.sp-ver tr th, .edit table.sp-ver tr td {
        display: block;
        width: 100% !important;
        border: none; } }
    .edit table.small tr th, .edit table.small tr td {
      padding: 10px; }
      @media screen and (max-width: 768px) {
        .edit table.small tr th, .edit table.small tr td {
          padding: 7px; } }
    .edit table thead tr th,
    .edit table tbody tr th {
      background-color: #E7E7EB; }
    .edit table tr th, .edit table tr td {
      vertical-align: top;
      padding: 15px;
      border: 1px solid #D6D6D6;
      background-color: #ffffff;
      text-align: left; }
      @media screen and (max-width: 768px) {
        .edit table tr th, .edit table tr td {
          padding: 10px; } }
    .edit table tr th {
      font-weight: bold;
      font-size: 1.6rem; }
      @media screen and (max-width: 768px) {
        .edit table tr th {
          font-size: 1.5rem; } }
    .edit table tr td {
      font-size: 1.5rem; }
      @media screen and (max-width: 768px) {
        .edit table tr td {
          font-size: 1.4rem; } }
  .edit figure figcaption {
    padding: 5px 10px; }
  .edit .box-colomn .colomn-inner figure img {
    width: 100%; }
  .edit h2, .edit h3 {
    margin-top: 40px; }
    @media screen and (max-width: 768px) {
      .edit h2, .edit h3 {
        margin-top: 35px; } }
    @media screen and (max-width: 414px) {
      .edit h2, .edit h3 {
        margin-top: 30px; } }
    .edit h2:first-child, .edit h3:first-child {
      margin-top: 0; }
    .edit h2 + h2, .edit h2 + h3, .edit h2 + h4, .edit h2 + h5, .edit h2 + h6, .edit h3 + h2, .edit h3 + h3, .edit h3 + h4, .edit h3 + h5, .edit h3 + h6 {
      margin-top: 20px; }
      @media screen and (max-width: 768px) {
        .edit h2 + h2, .edit h2 + h3, .edit h2 + h4, .edit h2 + h5, .edit h2 + h6, .edit h3 + h2, .edit h3 + h3, .edit h3 + h4, .edit h3 + h5, .edit h3 + h6 {
          margin-top: 15px; } }
      @media screen and (max-width: 414px) {
        .edit h2 + h2, .edit h2 + h3, .edit h2 + h4, .edit h2 + h5, .edit h2 + h6, .edit h3 + h2, .edit h3 + h3, .edit h3 + h4, .edit h3 + h5, .edit h3 + h6 {
          margin-top: 10px; } }
    .edit h2 + table,
    .edit h2 + p, .edit h3 + table,
    .edit h3 + p {
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .edit h2 + table,
        .edit h2 + p, .edit h3 + table,
        .edit h3 + p {
          margin-top: 8px; } }
      @media screen and (max-width: 414px) {
        .edit h2 + table,
        .edit h2 + p, .edit h3 + table,
        .edit h3 + p {
          margin-top: 5px; } }
  .edit h4, .edit h5, .edit h6 {
    margin-top: 30px; }
    @media screen and (max-width: 768px) {
      .edit h4, .edit h5, .edit h6 {
        margin-top: 25px; } }
    @media screen and (max-width: 414px) {
      .edit h4, .edit h5, .edit h6 {
        margin-top: 20px; } }
    .edit h4:first-child, .edit h5:first-child, .edit h6:first-child {
      margin-top: 0; }
    .edit h4 + table,
    .edit h4 + p, .edit h5 + table,
    .edit h5 + p, .edit h6 + table,
    .edit h6 + p {
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .edit h4 + table,
        .edit h4 + p, .edit h5 + table,
        .edit h5 + p, .edit h6 + table,
        .edit h6 + p {
          margin-top: 8px; } }
      @media screen and (max-width: 414px) {
        .edit h4 + table,
        .edit h4 + p, .edit h5 + table,
        .edit h5 + p, .edit h6 + table,
        .edit h6 + p {
          margin-top: 5px; } }
  .edit h2 {
    margin-bottom: 20px;
    padding-bottom: 19px;
    border-bottom: 1px solid #D6D6D6;
    font-size: 2.2rem;
    letter-spacing: 0.07em;
    margin-top: 75px; }
    @media screen and (max-width: 768px) {
      .edit h2 {
        margin-top: 60px;
        margin-bottom: 20px;
        padding-bottom: 15px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 414px) {
      .edit h2 {
        margin-top: 40px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        font-size: 1.8rem; } }
    .edit h2:first-child {
      margin-top: 0; }
    .edit h2 + table.summary {
      margin-top: 54px; }
      @media screen and (max-width: 768px) {
        .edit h2 + table.summary {
          margin-bottom: 30px; } }
      @media screen and (max-width: 414px) {
        .edit h2 + table.summary {
          margin-bottom: 20px; } }
  .edit h3 {
    font-size: 2.0rem;
    color: #D4454B; }
    @media screen and (max-width: 768px) {
      .edit h3 {
        font-size: 1.8rem; } }
    @media screen and (max-width: 414px) {
      .edit h3 {
        font-size: 1.6rem; } }
  .edit h4 {
    font-size: 1.8rem; }
    @media screen and (max-width: 768px) {
      .edit h4 {
        font-size: 1.7rem; } }
    @media screen and (max-width: 414px) {
      .edit h4 {
        font-size: 1.5rem; } }
  .edit .alignright {
    float: right; }
    @media screen and (max-width: 414px) {
      .edit .alignright {
        float: none; } }
  .edit .alignleft {
    float: left; }
    @media screen and (max-width: 414px) {
      .edit .alignleft {
        float: none; } }
  .edit .aligncenter {
    margin-right: auto;
    margin-left: auto; }
  .edit .unit-title-06 {
    margin-top: 75px; }
    @media screen and (max-width: 768px) {
      .edit .unit-title-06 {
        margin-top: 60px; } }
    @media screen and (max-width: 414px) {
      .edit .unit-title-06 {
        margin-top: 40px; } }
    .edit .unit-title-06:first-child {
      margin-top: 0; }
  .edit .unit-title-08 a {
    color: inherit; }
  .edit .unit-btn-04 {
    width: auto;
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      .edit .unit-btn-04 {
        font-size: 1.5rem; } }
    .edit .unit-btn-04 a {
      padding-left: 20px;
      padding-right: 20px;
      color: #ffffff;
      text-decoration: none; }
  .edit .unit-btn-05 a {
    text-decoration: none; }
  .edit .unit-btn-06 a {
    color: #ffffff;
    text-decoration: none; }
    .edit .unit-btn-06 a:hover {
      color: #C9171E; }
  .edit .box-expl-01 {
    margin-top: 60px;
    margin-bottom: 60px; }
    @media screen and (max-width: 768px) {
      .edit .box-expl-01 {
        margin-top: 40px;
        margin-bottom: 40px; } }
    @media screen and (max-width: 414px) {
      .edit .box-expl-01 {
        margin-top: 30px;
        margin-bottom: 30px; } }
  .edit .box-colomn .colomn-inner figure img {
    margin: 0; }
  .edit .box-contact-01 {
    margin-top: 50px;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .edit .box-contact-01 {
        margin-top: 40px;
        margin-bottom: 40px; } }
    @media screen and (max-width: 414px) {
      .edit .box-contact-01 {
        margin-top: 30px;
        margin-bottom: 30px; } }

#mainvisual {
  overflow: hidden;
  width: 100%; }
  #mainvisual .bx-wrapper {
    position: relative; }
    #mainvisual .bx-wrapper:hover .bx-controls-direction .bx-prev,
    #mainvisual .bx-wrapper:hover .bx-controls-direction .bx-next {
      visibility: visible;
      opacity: 1; }
    #mainvisual .bx-wrapper .bx-viewport {
      height: auto !important; }
    #mainvisual .bx-wrapper .bx-controls-direction {
      /*
            z-index: 100;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            width: 100%;
            height: 100%;
            */ }
      #mainvisual .bx-wrapper .bx-controls-direction .bx-prev,
      #mainvisual .bx-wrapper .bx-controls-direction .bx-next {
        z-index: 100;
        visibility: hidden;
        opacity: 0;
        display: block;
        overflow: hidden;
        text-indent: 200%;
        white-space: nowrap;
        position: absolute;
        top: 0;
        width: 60px;
        height: 100%; }
        #mainvisual .bx-wrapper .bx-controls-direction .bx-prev:before,
        #mainvisual .bx-wrapper .bx-controls-direction .bx-next:before {
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          width: 100%;
          font-family: FontAwesome;
          font-size: 4rem;
          line-height: 1;
          text-align: center;
          color: #ffffff;
          text-indent: 0; }
      #mainvisual .bx-wrapper .bx-controls-direction .bx-prev {
        left: 0; }
        #mainvisual .bx-wrapper .bx-controls-direction .bx-prev:before {
          content: "\f104"; }
        #mainvisual .bx-wrapper .bx-controls-direction .bx-prev:hover {
          left: -5px; }
      #mainvisual .bx-wrapper .bx-controls-direction .bx-next {
        right: 0; }
        #mainvisual .bx-wrapper .bx-controls-direction .bx-next:before {
          content: "\f105"; }
        #mainvisual .bx-wrapper .bx-controls-direction .bx-next:hover {
          right: -5px; }
    #mainvisual .bx-wrapper .bx-controls {
      text-align: center; }
      #mainvisual .bx-wrapper .bx-controls .bx-pager {
        z-index: 101;
        position: absolute;
        bottom: 12px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: center; }
        @media screen and (max-width: 768px) {
          #mainvisual .bx-wrapper .bx-controls .bx-pager {
            position: relative;
            bottom: 0; } }
        #mainvisual .bx-wrapper .bx-controls .bx-pager .bx-pager-item {
          display: inline-block;
          margin: 0 8px; }
          @media screen and (max-width: 768px) {
            #mainvisual .bx-wrapper .bx-controls .bx-pager .bx-pager-item {
              margin: 10px 4px 0; } }
          #mainvisual .bx-wrapper .bx-controls .bx-pager .bx-pager-item a {
            overflow: hidden;
            text-indent: 200%;
            white-space: nowrap;
            width: 14px;
            height: 14px;
            border-radius: 30px;
            border: 2px solid #999999;
            background-color: #CCCCCC; }
            @media screen and (max-width: 768px) {
              #mainvisual .bx-wrapper .bx-controls .bx-pager .bx-pager-item a {
                width: 10px;
                height: 10px; } }
            #mainvisual .bx-wrapper .bx-controls .bx-pager .bx-pager-item a.active {
              background-color: #333333; }
  #mainvisual .bx-visual {
    padding-top: 40%; }
    @media screen and (max-width: 768px) {
      #mainvisual .bx-visual {
        padding-top: 88.5%; } }
    #mainvisual .bx-visual li {
      top: 0; }
      #mainvisual .bx-visual li img {
        width: 100% !important;
        height: auto; }

#bx-pager-thum {
  display: none;
  padding: 19px 0 17px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #bx-pager-thum {
      padding: 6px 0;
      background-color: #F1F1F3; } }
  #bx-pager-thum > a {
    display: inline-block;
    width: 94px;
    margin: 0 6px;
    cursor: pointer; }
    @media screen and (max-width: 768px) {
      #bx-pager-thum > a {
        width: 8px;
        height: 8px;
        border-radius: 30px;
        background-color: #D6D6D6; } }
    @media screen and (max-width: 768px) {
      #bx-pager-thum > a.active {
        background-color: #727171; } }
    #bx-pager-thum > a img {
      width: 100%;
      height: auto; }
      @media screen and (max-width: 768px) {
        #bx-pager-thum > a img {
          opacity: 0; } }

.section-info {
  position: relative;
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 0 23px; }
  @media screen and (max-width: 768px) {
    .section-info {
      width: 100%;
      padding: 15px 0 24px;
      text-align: center; } }
  .section-info .ruby {
    font-family: 'Crimson Text', serif;
    font-size: 3.0rem;
    letter-spacing: 0.02em;
    line-height: 1.3;
    color: #988627; }
    @media screen and (max-width: 768px) {
      .section-info .ruby {
        text-align: center;
        font-size: 1.3rem; } }
  .section-info .info-detail {
    margin-top: 12px; }
    @media screen and (max-width: 768px) {
      .section-info .info-detail {
        margin-top: 10px; } }
    .section-info .info-detail .title {
      display: block;
      font-family: 'FOT-マティス ProN DB', 'MatisseProN-DB';
      font-size: 4.0rem;
      line-height: 1;
      letter-spacing: 0.063em; }
      @media screen and (max-width: 768px) {
        .section-info .info-detail .title {
          font-size: 2.5rem; } }
      @media screen and (max-width: 414px) {
        .section-info .info-detail .title {
          font-size: 1.8rem; } }
      .section-info .info-detail .title span {
        font-size: 3.5rem; }
        @media screen and (max-width: 768px) {
          .section-info .info-detail .title span {
            font-size: 2.0rem; } }
        @media screen and (max-width: 414px) {
          .section-info .info-detail .title span {
            font-size: 1.4rem; } }
    .section-info .info-detail .period {
      display: inline-block;
      margin-top: 19px;
      font-family: 'Libre Baskerville', serif;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        .section-info .info-detail .period {
          margin-top: 13px; } }
      @media screen and (max-width: 414px) {
        .section-info .info-detail .period {
          display: block;
          margin-top: 9px; } }
      .section-info .info-detail .period .date {
        font-size: 5.2rem;
        letter-spacing: -0.04em; }
        @media screen and (max-width: 768px) {
          .section-info .info-detail .period .date {
            font-size: 4.0rem; } }
        @media screen and (max-width: 414px) {
          .section-info .info-detail .period .date {
            font-size: 3.3rem; } }
      .section-info .info-detail .period .week {
        font-size: 3.0rem; }
        @media screen and (max-width: 768px) {
          .section-info .info-detail .period .week {
            font-size: 2.4rem; } }
        @media screen and (max-width: 414px) {
          .section-info .info-detail .period .week {
            font-size: 1.8rem; } }
      .section-info .info-detail .period .place {
        font-family: 'FOT-マティス ProN DB', 'MatisseProN-DB';
        font-size: 2.6rem; }
        @media screen and (max-width: 768px) {
          .section-info .info-detail .period .place {
            margin-top: 14px;
            font-size: 1.9rem; } }
        @media screen and (max-width: 414px) {
          .section-info .info-detail .period .place {
            margin-top: 7px;
            font-size: 1.3rem; } }
  .section-info .overview {
    z-index: 100;
    position: absolute;
    top: -26px;
    left: 50%;
    -webkit-transform: translateX(330px);
    -ms-transform: translateX(330px);
    transform: translateX(330px);
    display: inline-block;
    min-width: 200px;
    min-height: 200px;
    padding: 0;
    border-radius: 300px;
    background-color: #FCEE21;
    text-align: center;
    font-size: 2.8rem;
    color: #1F3134; }
    @media screen and (max-width: 768px) {
      .section-info .overview {
        display: none; } }
    .section-info .overview a {
      display: block;
      width: 100%;
      min-width: 200px;
      height: 100%;
      min-height: 200px;
      color: inherit; }
    .section-info .overview .inner {
      display: block;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-46%);
      -ms-transform: translateY(-46%);
      transform: translateY(-46%);
      width: 100%;
      line-height: 1.4;
      letter-spacing: 0.1em; }
      .section-info .overview .inner span {
        display: block;
        margin-top: 10px;
        font-size: 1.3rem;
        letter-spacing: 0.05em; }
  .section-info .overview-btn {
    display: none;
    padding: 0 15px; }
    @media screen and (max-width: 768px) {
      .section-info .overview-btn {
        display: block; } }
  @media screen and (max-width: 768px) {
    .section-info .unit-btn-04 {
      max-width: 290px;
      margin-top: 20px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 768px) {
    .section-info .unit-btn-04 {
      margin-top: 15px;
      font-size: 1.6rem; } }

.section-news {
  padding-top: 58px;
  padding-bottom: 50px; }
  @media screen and (max-width: 768px) {
    .section-news {
      padding-top: 17px;
      padding-bottom: 15px; } }
  .section-news .wrapper {
    position: relative; }
  .section-news .btn-more {
    position: absolute;
    top: 20px;
    right: 0; }
    @media screen and (max-width: 768px) {
      .section-news .btn-more {
        display: block;
        position: relative;
        top: 0;
        width: 100%;
        margin-top: 20px;
        text-align: center; } }
    @media screen and (max-width: 768px) {
      .section-news .btn-more a {
        text-decoration: underline; } }
  .section-news .box-news-01 {
    margin-top: 15px; }
    @media screen and (max-width: 768px) {
      .section-news .box-news-01 {
        padding: 0 15px; } }

.section-event {
  padding-top: 22px;
  padding-bottom: 72px; }
  @media screen and (max-width: 768px) {
    .section-event {
      padding-top: 15px;
      padding-bottom: 15px; } }
  .section-event .wrapper {
    position: relative; }
  .section-event .bx-wrapper .bx-viewport {
    height: auto !important; }
  .section-event .btn-more {
    position: absolute;
    top: 20px;
    right: 0; }
    @media screen and (max-width: 768px) {
      .section-event .btn-more {
        display: block;
        position: relative;
        top: 0;
        width: 100%;
        margin-top: 15px;
        text-align: center; } }
    @media screen and (max-width: 768px) {
      .section-event .btn-more a {
        text-decoration: underline; } }
  .section-event .unit-title-01 {
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      .section-event .unit-title-01 {
        margin-bottom: 15px; } }
  .section-event .box-card-01 .inner-card {
    width: 25%; }
    @media screen and (max-width: 768px) {
      .section-event .box-card-01 .inner-card {
        width: 50%; } }
    @media screen and (max-width: 768px) {
      .section-event .box-card-01 .inner-card:nth-child(n + 5) {
        display: none; } }
  .section-event .bx-wrapper {
    position: relative;
    border-right: 1px solid #D6D6D6; }
    @media screen and (max-width: 768px) {
      .section-event .bx-wrapper .bx-controls {
        display: none; } }
    .section-event .bx-wrapper .bx-controls .bx-controls-direction {
      position: absolute;
      top: 44%;
      left: 0;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 100%; }
      .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-prev,
      .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-next {
        display: block;
        overflow: hidden;
        text-indent: 200%;
        white-space: nowrap;
        position: absolute;
        width: 40px;
        height: 40px;
        background-color: #D6D6D6; }
        .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-prev:before,
        .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-next:before {
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          width: 100%;
          font-family: FontAwesome;
          font-size: 1.3rem;
          line-height: 1;
          text-align: center;
          color: #ffffff;
          text-indent: 0; }
      .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-prev {
        left: -50px; }
        .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-prev:before {
          content: "\f104"; }
      .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-next {
        right: -50px; }
        .section-event .bx-wrapper .bx-controls .bx-controls-direction .bx-next:before {
          content: "\f105"; }

.section-summary .summary-back {
  padding-top: 86px;
  padding-bottom: 80px;
  background: url(../images/common/summary_back.jpg) no-repeat center center transparent;
  background-size: cover;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    .section-summary .summary-back {
      padding: 24px 13px 40px; } }
  .section-summary .summary-back a {
    color: #ffffff; }

.section-summary .unit-title-01 .ruby {
  color: #A96A66; }

.section-summary .catch {
  margin-top: 42px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.75;
  letter-spacing: -0.02em; }
  @media screen and (max-width: 768px) {
    .section-summary .catch {
      margin-top: 15px;
      font-size: 1.3rem;
      line-height: 2.0; } }
  @media screen and (max-width: 414px) {
    .section-summary .catch {
      text-align: left; } }
  @media screen and (max-width: 414px) {
    .section-summary .catch .iblock {
      display: inline; } }

.section-summary .box-btn-01 {
  width: 898px;
  margin: 42px auto 0;
  font-size: 1.8rem; }
  @media screen and (max-width: 768px) {
    .section-summary .box-btn-01 {
      width: 100%;
      margin: 20px auto 0;
      padding: 0 22px;
      font-size: 1.4rem; } }

.section-summary .summary-link {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 60px;
  padding-bottom: 39px; }
  @media screen and (max-width: 768px) {
    .section-summary .summary-link {
      width: 100%;
      padding: 30px 20px 15px; } }
  @media screen and (max-width: 768px) {
    .section-summary .summary-link .inner-col {
      width: 100%; } }
  .section-summary .summary-link .inner-col:nth-of-type(odd) {
    padding-right: 20px; }
    @media screen and (max-width: 768px) {
      .section-summary .summary-link .inner-col:nth-of-type(odd) {
        padding-right: 0; } }
  .section-summary .summary-link .inner-col:nth-of-type(even) {
    padding-left: 20px; }
    @media screen and (max-width: 768px) {
      .section-summary .summary-link .inner-col:nth-of-type(even) {
        margin-top: 30px;
        padding-left: 0; } }
  .section-summary .summary-link .inner-col .figure {
    width: 230px; }
    @media screen and (max-width: 768px) {
      .section-summary .summary-link .inner-col .figure {
        width: 44%; } }
    .section-summary .summary-link .inner-col .figure img {
      width: 100%; }
  .section-summary .summary-link .inner-col .detail {
    width: 250px; }
    @media screen and (max-width: 768px) {
      .section-summary .summary-link .inner-col .detail {
        width: 56%; } }
    .section-summary .summary-link .inner-col .detail .box-btn-02 {
      padding-left: 35px;
      padding-right: 35px; }
      @media screen and (max-width: 768px) {
        .section-summary .summary-link .inner-col .detail .box-btn-02 {
          margin-top: 8px; } }
  @media screen and (max-width: 414px) {
    .section-summary .summary-link .inner-col .box-card-02.link .detail {
      width: 100%; } }

.section-artwork .wrapper {
  position: relative;
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 90px; }
  @media screen and (max-width: 768px) {
    .section-artwork .wrapper {
      width: 100%;
      padding-top: 15px;
      padding-bottom: 25px; } }
  .section-artwork .wrapper .btn-more {
    position: absolute;
    top: 39px;
    right: 15px; }
    @media screen and (max-width: 768px) {
      .section-artwork .wrapper .btn-more {
        display: block;
        position: relative;
        top: 0;
        right: 0;
        width: 100%;
        margin-top: 15px;
        text-align: center; } }
    @media screen and (max-width: 768px) {
      .section-artwork .wrapper .btn-more a {
        text-decoration: underline; } }

.section-artwork .products_wrap {
  position: relative;
  left: -20px;
  width: 1040px; }
  @media screen and (max-width: 768px) {
    .section-artwork .products_wrap {
      left: 0;
      width: 100%; } }

.section-artwork .box-products-01 {
  margin-top: 20px;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .section-artwork .box-products-01 {
      margin-top: 15px;
      margin-bottom: 15px;
      padding: 0 5px; } }

.section-artwork .unit-title-02 {
  margin-top: 61px; }
  @media screen and (max-width: 768px) {
    .section-artwork .unit-title-02 {
      margin-top: 50px; } }

.section-artwork .box-btn-03 {
  width: 896px;
  margin: 32px auto 0; }
  @media screen and (max-width: 768px) {
    .section-artwork .box-btn-03 {
      width: 100%;
      margin: 17px auto 0; } }

.section-specialcont {
  background: url(../images/common/specialcont_back.jpg) no-repeat center center transparent;
  background-size: cover;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .section-specialcont {
      background-image: url(../images/common/specialcont_back_sp.jpg); } }
  .section-specialcont .unit-btn-02 {
    min-width: 650px; }
    @media screen and (max-width: 768px) {
      .section-specialcont .unit-btn-02 {
        min-width: inherit;
        min-width: auto;
        width: 100%; } }

.section-about .wrapper {
  padding-top: 58px;
  padding-bottom: 104px; }
  @media screen and (max-width: 768px) {
    .section-about .wrapper {
      padding-top: 24px;
      padding-bottom: 50px; } }

.section-about .unit-title-03 {
  margin-bottom: 42px; }
  @media screen and (max-width: 768px) {
    .section-about .unit-title-03 {
      margin-bottom: 30px; } }

.section-about .box-card-03 .inner-card {
  margin-top: 35px; }
  @media screen and (max-width: 768px) {
    .section-about .box-card-03 .inner-card {
      margin-top: 20px; } }
  .section-about .box-card-03 .inner-card .detail .unit-badge-01 {
    margin: 17px 2px 0; }
    @media screen and (max-width: 768px) {
      .section-about .box-card-03 .inner-card .detail .unit-badge-01 {
        margin: 10px 2px 0; } }
    @media screen and (max-width: 768px) {
      .section-about .box-card-03 .inner-card .detail .unit-badge-01 a {
        padding: 7px 25px; } }
    @media screen and (max-width: 414px) {
      .section-about .box-card-03 .inner-card .detail .unit-badge-01 a {
        padding: 5px; } }

.section-banner {
  min-height: 300px;
  background-color: #808080; }
  @media screen and (max-width: 768px) {
    .section-banner {
      min-height: 150px; } }

.section-movie {
  background: url(../images/common/moviecont_back.jpg) no-repeat center center transparent;
  background-size: cover;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .section-movie {
      background-image: url(../images/common/moviecont_back_sp.jpg); } }
  .section-movie .unit-btn-02 {
    min-width: 650px; }
    @media screen and (max-width: 768px) {
      .section-movie .unit-btn-02 {
        min-width: inherit;
        min-width: auto;
        width: 100%; } }

.section-sns {
  padding-top: 68px;
  padding-bottom: 84px; }
  @media screen and (max-width: 768px) {
    .section-sns {
      padding-top: 0;
      padding-bottom: 18px; } }
  .section-sns .unit-title-04 {
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      .section-sns .unit-title-04 {
        margin-bottom: 10px; } }
  @media screen and (max-width: 768px) {
    .section-sns .box-col {
      padding: 0 20px; } }
  @media screen and (max-width: 768px) {
    .section-sns .box-col .inner-col {
      margin-top: 15px; } }
  @media screen and (max-width: 600px) {
    .section-sns .box-col .inner-col {
      width: 100%; } }
  .section-sns .box-col .col-sns {
    overflow: hidden;
    height: 500px !important;
    /*
            .fb_iframe_widget{
                display: block;
                width: 100% !important;
                height: 500px !important;
                @media screen and (max-width: 768px) {
                    overflow: hidden;
                    width: 340px !important;
                    margin: 0 auto;
                    height: 290px;
                }
                @media screen and (max-width: 413px) {
                    width: 100% !important;

                }
                >span,
                iframe{
                    width: 100% !important;
                }
            }
            */ }
    @media screen and (max-width: 768px) {
      .section-sns .box-col .col-sns {
        width: 250px !important;
        height: 250px !important;
        margin: 0 auto !important; } }
    .section-sns .box-col .col-sns .fb_iframe_widget {
      width: 100%;
      height: 500px !important; }
      @media screen and (max-width: 768px) {
        .section-sns .box-col .col-sns .fb_iframe_widget {
          width: 250px !important;
          height: 250px !important; } }
      @media screen and (max-width: 414px) {
        .section-sns .box-col .col-sns .fb_iframe_widget {
          width: 250px !important; } }
      .section-sns .box-col .col-sns .fb_iframe_widget > span {
        width: 100% !important;
        height: 500px !important;
        margin-left: 0 !important; }
        @media screen and (max-width: 768px) {
          .section-sns .box-col .col-sns .fb_iframe_widget > span {
            width: 250px !important;
            height: 250px !important; } }
      .section-sns .box-col .col-sns .fb_iframe_widget iframe {
        width: 100% !important;
        margin: 0 auto !important; }
        @media screen and (max-width: 768px) {
          .section-sns .box-col .col-sns .fb_iframe_widget iframe {
            display: block;
            position: relative;
            width: 100% !important;
            margin: 0 auto; } }
  @media screen and (max-width: 768px) {
    .section-sns .box-col .box-facebook {
      border-bottom: 1px solid #e9ebee; } }
  .section-sns .box-col .box-twitter {
    margin-left: -1px;
    border: 1px solid #e9ebee;
    border-left: none; }
    @media screen and (max-width: 768px) {
      .section-sns .box-col .box-twitter {
        border-left: 1px solid #e9ebee; } }

.section-relatedcontent {
  padding-top: 55px;
  padding-bottom: 74px; }
  @media screen and (max-width: 768px) {
    .section-relatedcontent {
      padding: 15px; } }
  .section-relatedcontent .box-col {
    margin-top: 47px; }
    @media screen and (max-width: 768px) {
      .section-relatedcontent .box-col {
        margin-top: 10px; } }
    @media screen and (max-width: 768px) {
      .section-relatedcontent .box-col .inner-col:nth-of-type(odd) {
        padding-right: 5px; } }
    @media screen and (max-width: 768px) {
      .section-relatedcontent .box-col .inner-col:nth-of-type(even) {
        padding-left: 5px; } }

.summary-detail .box-detail-01 {
  margin-top: 43px; }
  @media screen and (max-width: 768px) {
    .summary-detail .box-detail-01 {
      margin-top: 30px; } }
  @media screen and (max-width: 414px) {
    .summary-detail .box-detail-01 {
      margin-top: 20px; } }

.summary-detail .box-contact-01 {
  margin-top: 57px; }
  @media screen and (max-width: 768px) {
    .summary-detail .box-contact-01 {
      margin-top: 40px; } }
  @media screen and (max-width: 414px) {
    .summary-detail .box-contact-01 {
      margin-top: 30px; } }

.products-list .unit-year-select {
  margin-top: 40px;
  margin-bottom: 18px; }
  @media screen and (max-width: 768px) {
    .products-list .unit-year-select {
      margin-top: 30px;
      margin-bottom: 15px; } }
  .products-list .unit-year-select:first-child {
    margin-top: 0; }
    @media screen and (max-width: 768px) {
      .products-list .unit-year-select:first-child {
        margin-top: 0; } }

.products-list .unit-list-01 {
  margin-top: 40px;
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    .products-list .unit-list-01 {
      margin-top: 30px;
      font-size: 1.5rem; } }
  @media screen and (max-width: 414px) {
    .products-list .unit-list-01 {
      margin-top: 25px;
      font-size: 1.4rem; } }

.products-list .unit-title-06 {
  margin-bottom: 0; }
  .products-list .unit-title-06:first-child {
    margin-top: 0; }

.products-list .box-products-01 {
  position: relative;
  left: -12px;
  width: 1024px; }
  @media screen and (max-width: 768px) {
    .products-list .box-products-01 {
      left: 0;
      width: 100%; } }
  .products-list .box-products-01 + .box-products-search {
    margin-top: 85px; }
    @media screen and (max-width: 768px) {
      .products-list .box-products-01 + .box-products-search {
        margin-top: 60px; } }
  .products-list .box-products-01 .inner-product {
    margin-top: 21px;
    padding: 12px; }
    @media screen and (max-width: 768px) {
      .products-list .box-products-01 .inner-product {
        margin-top: 10px; } }
    .products-list .box-products-01 .inner-product figure.horizon {
      max-width: 180px;
      height: 180px; }
      @media screen and (max-width: 768px) {
        .products-list .box-products-01 .inner-product figure.horizon {
          max-width: auto;
          max-width: inherit;
          height: auto; } }
      .products-list .box-products-01 .inner-product figure.horizon img {
        width: 100%;
        height: auto; }
    .products-list .box-products-01 .inner-product figure.vertical {
      max-width: 180px;
      height: 180px; }
      @media screen and (max-width: 768px) {
        .products-list .box-products-01 .inner-product figure.vertical {
          max-width: auto;
          max-width: inherit;
          height: auto; } }
      .products-list .box-products-01 .inner-product figure.vertical img {
        width: auto;
        height: 100%; }
    .products-list .box-products-01 .inner-product figure img {
      position: relative;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      margin: 0; }
      @media screen and (max-width: 768px) {
        .products-list .box-products-01 .inner-product figure img {
          position: absolute;
          max-width: auto;
          max-width: inherit;
          max-height: auto;
          max-height: inherit; } }

.products-list .wp-pagenavi + .box-products-search {
  margin-top: 85px; }
  @media screen and (max-width: 768px) {
    .products-list .wp-pagenavi + .box-products-search {
      margin-top: 60px; } }

.products-list .box-products-search {
  margin-top: 25px; }
  .products-list .box-products-search:first-child {
    margin-top: 0; }

.products-detail {
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    .products-detail {
      font-size: 1.5rem; } }
  @media screen and (max-width: 414px) {
    .products-detail {
      font-size: 1.4rem; } }
  .products-detail .award-name {
    display: inline-block;
    padding: 12px 16px 6px;
    background-color: #C9171E;
    letter-spacing: 0.08em;
    line-height: 1;
    color: #ffffff; }
    @media screen and (max-width: 768px) {
      .products-detail .award-name {
        padding: 11px 12px; } }
  .products-detail .products-name {
    margin-top: 10px;
    font-size: 2.8rem; }
    @media screen and (max-width: 768px) {
      .products-detail .products-name {
        font-size: 2.4rem; } }
    @media screen and (max-width: 414px) {
      .products-detail .products-name {
        font-size: 2.0rem; } }
  .products-detail .name-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    @media screen and (max-width: 768px) {
      .products-detail .name-wrap {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start; } }
    .products-detail .name-wrap > * {
      margin-right: 10px; }
      @media screen and (max-width: 768px) {
        .products-detail .name-wrap > * {
          margin-top: 10px; } }
    .products-detail .name-wrap .category {
      display: inline-block; }
      .products-detail .name-wrap .category span {
        display: inline-block;
        padding: 11px 17px;
        border: 1px solid #4D4D4D;
        text-align: center;
        line-height: 1;
        letter-spacing: 0.06em; }
        @media screen and (max-width: 768px) {
          .products-detail .name-wrap .category span {
            margin-top: 0;
            padding: 10px 15px; } }
  .products-detail .box-colomn .colomn-inner {
    margin-top: 0; }
    .products-detail .box-colomn .colomn-inner:nth-of-type(odd) {
      width: 45%;
      padding-right: 20px; }
      @media screen and (max-width: 768px) {
        .products-detail .box-colomn .colomn-inner:nth-of-type(odd) {
          width: 100%;
          padding-right: 0; } }
    .products-detail .box-colomn .colomn-inner:nth-of-type(even) {
      width: 55%;
      padding-left: 20px; }
      @media screen and (max-width: 768px) {
        .products-detail .box-colomn .colomn-inner:nth-of-type(even) {
          width: 100%;
          margin-top: 20px;
          padding-left: 0; } }
      @media screen and (max-width: 414px) {
        .products-detail .box-colomn .colomn-inner:nth-of-type(even) {
          margin-top: 15px; } }
  .products-detail .products-image {
    text-align: center; }
    @media screen and (max-width: 768px) {
      .products-detail .products-image {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 300px; } }
    .products-detail .products-image.visible {
      opacity: 1; }
    .products-detail .products-image.vertical img {
      width: auto;
      max-height: 430px; }
      @media screen and (max-width: 768px) {
        .products-detail .products-image.vertical img {
          max-height: 300px; } }
    .products-detail .products-image.horizon img {
      max-width: 430px;
      height: auto; }
      @media screen and (max-width: 768px) {
        .products-detail .products-image.horizon img {
          max-width: 300px; } }
    .products-detail .products-image img {
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 768px) {
        .products-detail .products-image img {
          max-width: 334px; } }
      @media screen and (max-width: 414px) {
        .products-detail .products-image img {
          width: auto; } }
  .products-detail .detail-title {
    margin-top: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    color: #D4454B; }
    @media screen and (max-width: 768px) {
      .products-detail .detail-title {
        margin-top: 15px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 414px) {
      .products-detail .detail-title {
        margin-top: 10px;
        font-size: 1.6rem; } }
    .products-detail .detail-title:first-child {
      margin-top: 0; }
      @media screen and (max-width: 768px) {
        .products-detail .detail-title:first-child {
          margin-top: 30px; } }
      @media screen and (max-width: 414px) {
        .products-detail .detail-title:first-child {
          margin-top: 25px; } }
  .products-detail .detail p {
    margin-top: 5px; }

.products-bottom {
  margin-top: 74px; }
  @media screen and (max-width: 768px) {
    .products-bottom {
      margin-top: 60px; } }
  @media screen and (max-width: 414px) {
    .products-bottom {
      margin-top: 40px; } }
  .products-bottom .box-products-search {
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      .products-bottom .box-products-search {
        margin-top: 60px; } }
    @media screen and (max-width: 414px) {
      .products-bottom .box-products-search {
        margin-top: 40px; } }

.event-archive .box-card-01 {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .event-archive .box-card-01 .inner-card {
    width: 25%;
    margin-bottom: 35px; }
    @media screen and (max-width: 768px) {
      .event-archive .box-card-01 .inner-card {
        width: 50%;
        margin-bottom: 20px; } }

.member-archive .unit-title-06 {
  margin-top: 40px; }
  @media screen and (max-width: 768px) {
    .member-archive .unit-title-06 {
      margin-bottom: 10px;
      padding-bottom: 10px; } }
  @media screen and (max-width: 414px) {
    .member-archive .unit-title-06 {
      margin-bottom: 5px;
      padding-bottom: 5px; } }
  .member-archive .unit-title-06:first-child {
    margin-top: 0; }

.member-archive .box-btnlist-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    .member-archive .box-btnlist-01 {
      font-size: 1.5rem; } }
  @media screen and (max-width: 414px) {
    .member-archive .box-btnlist-01 {
      font-size: 1.4rem; } }
  .member-archive .box-btnlist-01 li {
    margin-right: 10px;
    margin-top: 20px; }
    @media screen and (max-width: 768px) {
      .member-archive .box-btnlist-01 li {
        width: 25%;
        margin-top: 15px;
        margin-right: 0;
        padding-left: 6px;
        padding-right: 6px; } }
    @media screen and (max-width: 600px) {
      .member-archive .box-btnlist-01 li {
        width: 33%; } }
    @media screen and (max-width: 414px) {
      .member-archive .box-btnlist-01 li {
        width: 50%; } }
    @media screen and (max-width: 768px) {
      .member-archive .box-btnlist-01 li a {
        min-width: auto;
        min-width: inherit;
        width: 100%; } }
  .member-archive .box-btnlist-01 .unit-btn-04 {
    min-width: 180px; }
    @media screen and (max-width: 768px) {
      .member-archive .box-btnlist-01 .unit-btn-04 {
        min-width: auto;
        min-width: inherit;
        width: 100%; } }

.member-archive .unit-title-07 {
  margin-top: 60px;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .member-archive .unit-title-07 {
      margin-top: 50px;
      margin-bottom: 25px; } }
  @media screen and (max-width: 414px) {
    .member-archive .unit-title-07 {
      margin-top: 40px;
      margin-bottom: 20px; } }

.member-archive .date {
  margin-top: 10px; }

.contact-detail .form-wrap {
  margin: 30px auto 0;
  width: 800px;
  padding: 10px 30px 30px;
  background-color: #ffffff;
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    .contact-detail .form-wrap {
      width: 100%;
      margin: 20px auto 0;
      padding: 10px 15px 20px;
      font-size: 1.5rem; } }
  @media screen and (max-width: 414px) {
    .contact-detail .form-wrap {
      font-size: 1.4rem; } }
  .contact-detail .form-wrap dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 0;
    border-top: 1px solid #B3B3B3; }
    @media screen and (max-width: 768px) {
      .contact-detail .form-wrap dl {
        padding: 15px 0; } }
    .contact-detail .form-wrap dl:first-child {
      border-top: none; }
    .contact-detail .form-wrap dl dt {
      width: 30%; }
      @media screen and (max-width: 768px) {
        .contact-detail .form-wrap dl dt {
          width: 100%;
          margin-bottom: 10px; } }
    .contact-detail .form-wrap dl dd {
      width: 70%; }
      @media screen and (max-width: 768px) {
        .contact-detail .form-wrap dl dd {
          width: 100%; } }
  .contact-detail .form-wrap input {
    font-size: 1.6rem; }
  .contact-detail .form-wrap input[type="text"],
  .contact-detail .form-wrap input[type="email"],
  .contact-detail .form-wrap input[type="mail"],
  .contact-detail .form-wrap input[type="tel"],
  .contact-detail .form-wrap textarea {
    width: 100%; }
    .contact-detail .form-wrap input[type="text"]:disabled,
    .contact-detail .form-wrap input[type="email"]:disabled,
    .contact-detail .form-wrap input[type="mail"]:disabled,
    .contact-detail .form-wrap input[type="tel"]:disabled,
    .contact-detail .form-wrap textarea:disabled {
      background-color: #dddddd; }
  .contact-detail .form-wrap select {
    padding: 8px 17px 6px; }
  .contact-detail .form-wrap .required:after {
    display: inline-block;
    vertical-align: middle;
    content: "*";
    margin-left: 10px;
    font-size: 2.0rem;
    color: #D4454B; }
  .contact-detail .form-wrap .wpcf7-checkbox .wpcf7-list-item {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .contact-detail .form-wrap .wpcf7-checkbox .wpcf7-list-item {
        margin: 0 20px 15px 0; } }
  .contact-detail .form-wrap .wpcf7-checkbox .has-free-text {
    display: block; }
    .contact-detail .form-wrap .wpcf7-checkbox .has-free-text .wpcf7-free-text {
      width: 70%;
      margin-left: 10px; }
      @media screen and (max-width: 768px) {
        .contact-detail .form-wrap .wpcf7-checkbox .has-free-text .wpcf7-free-text {
          width: 100%;
          display: block;
          margin: 10px 0 0 0; } }
  .contact-detail .form-wrap .submit-wrap {
    text-align: center; }
    .contact-detail .form-wrap .submit-wrap input[type="submit"] {
      display: inline-block;
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      min-width: 300px;
      padding: 10px;
      border: 1px solid #2B2B2B;
      border-radius: 4px;
      background-color: #2B2B2B;
      font-size: 1.6rem;
      cursor: pointer;
      -webkit-transition: all 0.3s linear;
      -o-transition: all 0.3s linear;
      transition: all 0.3s linear;
      color: #ffffff; }
      @media screen and (max-width: 768px) {
        .contact-detail .form-wrap .submit-wrap input[type="submit"] {
          min-width: auto;
          min-width: inherit;
          width: 100%; } }
      .contact-detail .form-wrap .submit-wrap input[type="submit"]:hover {
        border-color: #C9171E;
        background-color: #C9171E; }
      .contact-detail .form-wrap .submit-wrap input[type="submit"]:disabled {
        border-color: #cccccc !important;
        background-color: #cccccc !important;
        cursor: default; }
  .contact-detail .form-wrap .input-small input[type="text"],
  .contact-detail .form-wrap .input-small input[type="email"],
  .contact-detail .form-wrap .input-small input[type="mail"],
  .contact-detail .form-wrap .input-small input[type="tel"] {
    display: inline-block;
    width: 100px; }
    @media screen and (max-width: 768px) {
      .contact-detail .form-wrap .input-small input[type="text"],
      .contact-detail .form-wrap .input-small input[type="email"],
      .contact-detail .form-wrap .input-small input[type="mail"],
      .contact-detail .form-wrap .input-small input[type="tel"] {
        width: 60px; } }
  .contact-detail .form-wrap .input-middle input[type="text"],
  .contact-detail .form-wrap .input-middle input[type="email"],
  .contact-detail .form-wrap .input-middle input[type="mail"],
  .contact-detail .form-wrap .input-middle input[type="tel"] {
    display: inline-block;
    width: 200px; }
    @media screen and (max-width: 768px) {
      .contact-detail .form-wrap .input-middle input[type="text"],
      .contact-detail .form-wrap .input-middle input[type="email"],
      .contact-detail .form-wrap .input-middle input[type="mail"],
      .contact-detail .form-wrap .input-middle input[type="tel"] {
        width: 110px; } }

.contact-detail .wpcf7-response-output {
  width: 800px;
  margin: 30px auto 0; }
  @media screen and (max-width: 768px) {
    .contact-detail .wpcf7-response-output {
      width: 100%;
      margin: 20px auto 0; } }

.ajax-loader {
  display: none !important; }

.award-archive .box-products-search {
  margin-top: 56px; }
  @media screen and (max-width: 768px) {
    .award-archive .box-products-search {
      margin-top: 40px; } }
  @media screen and (max-width: 414px) {
    .award-archive .box-products-search {
      margin-top: 30px; } }
  .award-archive .box-products-search:first-child {
    margin-top: 0; }

.award-archive .box-products-01 {
  position: relative;
  left: -12px;
  width: 1024px; }
  @media screen and (max-width: 768px) {
    .award-archive .box-products-01 {
      left: 0;
      width: 100%; } }
  .award-archive .box-products-01 .inner-product {
    margin-top: 21px;
    padding: 12px; }

.award-archive .unit-title-06 {
  margin-top: 56px;
  margin-bottom: 0; }
  @media screen and (max-width: 768px) {
    .award-archive .unit-title-06 {
      margin-top: 40px; } }
  @media screen and (max-width: 414px) {
    .award-archive .unit-title-06 {
      margin-top: 30px; } }

.special-detail .detail {
  font-size: 1.5rem;
  line-height: 2; }
  @media screen and (max-width: 768px) {
    .special-detail .detail {
      font-size: 1.4rem; } }

.special-detail .link-btn {
  margin-top: 35px;
  font-size: 1.8rem; }
  @media screen and (max-width: 768px) {
    .special-detail .link-btn {
      margin-top: 30px;
      font-size: 1.7rem; } }
  @media screen and (max-width: 414px) {
    .special-detail .link-btn {
      margin-top: 25px;
      font-size: 1.6rem; } }

.special-detail .main-book {
  margin-top: 75px; }
  @media screen and (max-width: 768px) {
    .special-detail .main-book {
      margin-top: 60px; } }
  @media screen and (max-width: 414px) {
    .special-detail .main-book {
      margin-top: 50px; } }

.special-detail .box-pagenation01 {
  margin-top: 117px; }
  @media screen and (max-width: 768px) {
    .special-detail .box-pagenation01 {
      margin-top: 100px; } }
  @media screen and (max-width: 414px) {
    .special-detail .box-pagenation01 {
      margin-top: 70px; } }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }
@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }
@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

#kidsHeader {
  position: relative; }
  @media screen and (max-width: 768px) {
    #kidsHeader {
      z-index: 100; } }
  #kidsHeader .inner {
    z-index: 1;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    @media screen and (max-width: 768px) {
      #kidsHeader .inner {
        position: fixed;
        width: 100%; } }
    #kidsHeader .inner.index {
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      width: 1000px; }
      @media screen and (max-width: 768px) {
        #kidsHeader .inner.index {
          position: fixed;
          width: 100%; } }
    #kidsHeader .inner.underlayer {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      width: 1000px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        #kidsHeader .inner.underlayer {
          width: 100%; } }
      #kidsHeader .inner.underlayer > * {
        width: 100%; }
      #kidsHeader .inner.underlayer .kidsnav-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        width: 100%; }
      #kidsHeader .inner.underlayer .unit-kbtn-01 {
        margin-top: 0;
        margin-right: 13px; }
      #kidsHeader .inner.underlayer .undernav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #kidsHeader .inner.underlayer .undernav .mainlogo a {
          display: block; }
        #kidsHeader .inner.underlayer .undernav ul {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: end;
          -ms-flex-align: end;
          align-items: flex-end; }
          #kidsHeader .inner.underlayer .undernav ul li {
            margin: 0 10px; }
  #kidsHeader .kidsnav {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 360px;
    border-radius: 0 0 6px 6px; }
    @media screen and (max-width: 768px) {
      #kidsHeader .kidsnav {
        display: none; } }
    #kidsHeader .kidsnav li {
      font-size: 1.4rem;
      text-align: center;
      color: #ffffff; }
      #kidsHeader .kidsnav li:first-child a {
        border-left: none; }
      #kidsHeader .kidsnav li a {
        min-width: 180px;
        padding: 22px 0 20px;
        border-left: 1px dashed #ffffff;
        background-color: #583314;
        color: #ffffff; }
  #kidsHeader .unit-kbtn-01 {
    margin-top: 15px; }
  #kidsHeader .logo {
    z-index: 4;
    position: absolute;
    top: 7px;
    left: 15px;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    width: 152px;
    height: 37px;
    background: url(../images/kids/common/logo.svg) no-repeat center center transparent;
    background-size: contain; }
    #kidsHeader .logo a {
      display: block;
      width: 100%;
      height: 100%; }
  #kidsHeader .globalNav .nav-inner {
    display: none;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 50px;
    background-color: rgba(253, 249, 224, 0.9); }
    #kidsHeader .globalNav .nav-inner ul {
      text-align: center;
      font-size: 1.5rem; }
      #kidsHeader .globalNav .nav-inner ul li {
        position: relative;
        font-size: 1.2rem;
        font-weight: bold; }
        #kidsHeader .globalNav .nav-inner ul li:before {
          content: "";
          display: block;
          width: 100%;
          height: 3px;
          position: absolute;
          bottom: 0;
          left: 0;
          background: url(../images/kids/common/underline.png) repeat-x left bottom transparent;
          background-size: 341px 2px; }
        #kidsHeader .globalNav .nav-inner ul li a {
          display: block;
          width: 100%;
          padding: 10px 0; }
          #kidsHeader .globalNav .nav-inner ul li a:before {
            content: "";
            position: absolute;
            top: 50%;
            right: 15px;
            -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 5px 0 5px 7px;
            border-color: transparent transparent transparent #583314; }
      #kidsHeader .globalNav .nav-inner ul .main {
        font-size: 1.5rem; }
        #kidsHeader .globalNav .nav-inner ul .main a {
          padding: 13px 0; }
        #kidsHeader .globalNav .nav-inner ul .main span {
          display: block; }
        #kidsHeader .globalNav .nav-inner ul .main .rubytop {
          font-size: 1.0rem; }
        #kidsHeader .globalNav .nav-inner ul .main .ruby {
          font-size: 0.9rem; }
      #kidsHeader .globalNav .nav-inner ul .about a {
        color: #0cbad3; }
        #kidsHeader .globalNav .nav-inner ul .about a:before {
          border-color: transparent transparent transparent #0cbad3; }
      #kidsHeader .globalNav .nav-inner ul .oneday a {
        color: #ff4121; }
        #kidsHeader .globalNav .nav-inner ul .oneday a:before {
          border-color: transparent transparent transparent #ff4121; }
      #kidsHeader .globalNav .nav-inner ul .classroom a {
        color: #ffa800; }
        #kidsHeader .globalNav .nav-inner ul .classroom a:before {
          border-color: transparent transparent transparent #ffa800; }
      #kidsHeader .globalNav .nav-inner ul .toppage a {
        padding: 30px 0;
        background-color: #583314;
        color: #ffffff; }
        #kidsHeader .globalNav .nav-inner ul .toppage a:before {
          border-color: transparent transparent transparent #ffffff; }
    #kidsHeader .globalNav .nav-inner .box-other {
      padding: 10px 0;
      border-top: 1px solid #971116;
      text-align: center; }
    #kidsHeader .globalNav .nav-inner .address .street {
      display: block; }
    #kidsHeader .globalNav .nav-inner .address .telephone a {
      font-size: 1.8rem;
      text-decoration: underline; }
    #kidsHeader .globalNav .nav-inner .unit-search {
      padding: 10px 20px; }
      @media screen and (max-width: 768px) {
        #kidsHeader .globalNav .nav-inner .unit-search .btn-submit {
          margin-top: 0; } }

#navBtn {
  display: none;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  z-index: 4;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px; }
  @media screen and (max-width: 768px) {
    #navBtn {
      display: block;
      right: 3px; } }
  #navBtn:before, #navBtn:after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: no-repeat center center transparent;
    background-size: contain; }
  #navBtn:before {
    background-image: url(../images/kids/common/menu_btn.svg); }
  #navBtn:after {
    display: none;
    background-image: url(../images/kids/common/menu_btn_close.svg); }
  #navBtn.is-open:after {
    display: block; }

.kidsmainvisual h1 {
  overflow: hidden; }
  .kidsmainvisual h1 img {
    position: relative;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
    @media screen and (max-width: 768px) {
      .kidsmainvisual h1 img {
        width: 320px; } }

#kidspageTop {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -53%);
  -ms-transform: translate(-50%, -53%);
  transform: translate(-50%, -53%);
  width: 214px;
  height: 214px; }
  @media screen and (max-width: 768px) {
    #kidspageTop {
      width: 90px;
      height: 90px; } }
  #kidspageTop a {
    display: block;
    width: 100%;
    height: 100%;
    background: url(../images/kids/common/pagetop.png) no-repeat center center transparent;
    background-size: contain; }
    #kidspageTop a:hover {
      opacity: 0.7; }

#kidsFooter {
  position: relative;
  padding: 128px 0 0;
  background-color: #fdf9e8; }
  @media screen and (max-width: 768px) {
    #kidsFooter {
      padding: 50px 0 0; } }
  #kidsFooter:before, #kidsFooter:after {
    content: "";
    display: block;
    position: absolute;
    background: no-repeat center center transparent;
    background-size: contain; }
  #kidsFooter:before {
    z-index: 0;
    bottom: -10px;
    left: 0;
    width: 339px;
    height: 386px;
    background-image: url(../images/kids/common/dec_rainbow.png); }
    @media screen and (max-width: 768px) {
      #kidsFooter:before {
        bottom: 12px;
        left: -2px;
        width: 102px;
        height: 86px;
        background-image: url(../images/kids/common/dec_rainbow_sp.png); } }
  #kidsFooter:after {
    z-index: 2;
    bottom: 60px;
    right: 95px;
    width: 205px;
    height: 157px;
    background-image: url(../images/kids/common/dec_kids.png); }
    @media screen and (max-width: 768px) {
      #kidsFooter:after {
        bottom: 31px;
        right: 9px;
        width: 72px;
        height: 56px; } }
  #kidsFooter .nav-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #kidsFooter .nav-top {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
    #kidsFooter .nav-top li {
      position: relative;
      min-width: 240px; }
      @media screen and (max-width: 768px) {
        #kidsFooter .nav-top li {
          min-width: auto;
          min-width: inherit;
          width: 100%;
          background: url(../images/kids/common/underline.png) repeat-x left bottom transparent;
          background-size: 341px 2px;
          font-weight: bold; } }
      #kidsFooter .nav-top li:before, #kidsFooter .nav-top li:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 4px;
        height: 100%;
        min-height: 100%;
        background: url(../images/kids/common/line_vertical.png) repeat-y right top transparent; }
        @media screen and (max-width: 768px) {
          #kidsFooter .nav-top li:before, #kidsFooter .nav-top li:after {
            display: none; } }
      #kidsFooter .nav-top li:after {
        display: none;
        left: 0; }
      #kidsFooter .nav-top li:first-child:after {
        display: block; }
        @media screen and (max-width: 768px) {
          #kidsFooter .nav-top li:first-child:after {
            display: none; } }
      #kidsFooter .nav-top li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        position: relative;
        min-height: 58px;
        width: 100%;
        font-size: 2.0rem;
        color: #583314; }
        @media screen and (max-width: 768px) {
          #kidsFooter .nav-top li a {
            min-height: auto;
            min-height: inherit;
            padding: 10px 0 9px;
            font-size: 1.5rem;
            line-height: 1.2; } }
        #kidsFooter .nav-top li a:before {
          display: none;
          content: "";
          position: absolute;
          top: 50%;
          right: 15px;
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 5px 0 5px 7px;
          border-color: transparent transparent transparent #583314; }
          @media screen and (max-width: 768px) {
            #kidsFooter .nav-top li a:before {
              display: block; } }
        #kidsFooter .nav-top li a span {
          display: block;
          font-size: 1.2rem;
          letter-spacing: 0.15em; }
          @media screen and (max-width: 768px) {
            #kidsFooter .nav-top li a span {
              font-size: 1.0rem;
              font-weight: normal; } }
  #kidsFooter .nav-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 26px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #kidsFooter .nav-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 0; } }
    #kidsFooter .nav-bottom li {
      margin: 10px 22px 0; }
      @media screen and (max-width: 768px) {
        #kidsFooter .nav-bottom li {
          min-width: auto;
          min-width: inherit;
          width: 100%;
          margin: 0;
          background: url(../images/kids/common/underline.png) repeat-x left bottom transparent;
          background-size: 341px 2px;
          font-weight: bold;
          font-size: 1.3rem; } }
      #kidsFooter .nav-bottom li a {
        display: block;
        position: relative;
        width: 100%;
        color: #85542a; }
        @media screen and (max-width: 768px) {
          #kidsFooter .nav-bottom li a {
            padding: 10px 0; } }
        #kidsFooter .nav-bottom li a:before {
          content: "";
          display: inline-block;
          width: 0;
          height: 0;
          margin-right: 10px;
          border-style: solid;
          border-width: 4px 0 4px 6px;
          border-color: transparent transparent transparent #85552a; }
          @media screen and (max-width: 768px) {
            #kidsFooter .nav-bottom li a:before {
              display: none; } }
        #kidsFooter .nav-bottom li a:after {
          display: none;
          content: "";
          position: absolute;
          top: 50%;
          right: 15px;
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 5px 0 5px 7px;
          border-color: transparent transparent transparent #583314; }
          @media screen and (max-width: 768px) {
            #kidsFooter .nav-bottom li a:after {
              display: block; } }
  #kidsFooter .footer-nav {
    position: relative;
    z-index: 1; }
  #kidsFooter .kidscopyright {
    z-index: 1;
    position: relative;
    display: block;
    margin-top: 49px;
    padding: 23px 0 19px;
    background-color: #583314;
    text-align: center;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
    color: #ffffff; }
    @media screen and (max-width: 768px) {
      #kidsFooter .kidscopyright {
        margin-top: 66px;
        padding: 11px 0 9px;
        font-size: 1.0rem; } }

@media screen and (max-width: 768px) {
  #kidsContents {
    padding: 0 15px; } }

@media screen and (max-width: 768px) {
  .kidsmainvisual .unit-kbtnlist-01 {
    margin-top: 21px; } }

.section-kidsnews {
  margin-top: 89px;
  margin-bottom: 173px;
  padding: 33px 60px 56px;
  border-radius: 6px;
  background-color: #ffffff; }
  @media screen and (max-width: 768px) {
    .section-kidsnews {
      margin-top: 36px;
      margin-bottom: 78px;
      padding: 24px 12px 24px; } }
  .section-kidsnews .box-kidsnews {
    margin-top: 39px; }
    @media screen and (max-width: 768px) {
      .section-kidsnews .box-kidsnews {
        margin-top: 20px; } }
  .section-kidsnews .unit-kbtn-01 {
    margin-top: 40px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .section-kidsnews .unit-kbtn-01 {
        margin-top: 24px; } }
    .section-kidsnews .unit-kbtn-01 a {
      min-width: 400px;
      padding: 15px 10px;
      font-size: 2.0rem;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 768px) {
        .section-kidsnews .unit-kbtn-01 a {
          min-width: 200px;
          padding: 7px 5px;
          font-size: 1.3rem; } }
      .section-kidsnews .unit-kbtn-01 a:before {
        margin-right: 15px; }
        @media screen and (max-width: 768px) {
          .section-kidsnews .unit-kbtn-01 a:before {
            display: none; } }

table.kids tr th, table.kids tr td {
  padding: 20px 10px;
  border: 1px solid #583314; }

table.kids tbody tr th,
table.kids thead tr th {
  border-bottom: none;
  background-color: #c6a487;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center; }

table.kids02 {
  width: 100%; }
  table.kids02 tr th, table.kids02 tr td {
    padding: 10px 15px;
    border: 1px solid #583314; }
    @media screen and (max-width: 768px) {
      table.kids02 tr th, table.kids02 tr td {
        padding: 5px 7px; } }
  table.kids02 tbody tr th,
  table.kids02 thead tr th {
    background-color: #c6a487; }

.kids-edit {
  width: 1000px;
  margin: 0 auto;
  padding: 80px 0 200px; }
  @media screen and (max-width: 768px) {
    .kids-edit {
      width: 100%;
      padding: 40px 0 100px; } }
  @media screen and (max-width: 414px) {
    .kids-edit {
      padding: 20px 0 100px; } }
  .kids-edit > * {
    margin-top: 30px;
    line-height: 2.1; }
    @media screen and (max-width: 768px) {
      .kids-edit > * {
        margin-top: 20px; } }
    @media screen and (max-width: 414px) {
      .kids-edit > * {
        margin-top: 15px; } }
    .kids-edit > *:first-child {
      margin-top: 0; }
  .kids-edit > h2, .kids-edit > h3, .kids-edit > h4, .kids-edit > h5, .kids-edit > h6 {
    margin-top: 130px; }
    @media screen and (max-width: 768px) {
      .kids-edit > h2, .kids-edit > h3, .kids-edit > h4, .kids-edit > h5, .kids-edit > h6 {
        margin-top: 90px; } }
    @media screen and (max-width: 414px) {
      .kids-edit > h2, .kids-edit > h3, .kids-edit > h4, .kids-edit > h5, .kids-edit > h6 {
        margin-top: 65px; } }
    .kids-edit > h2:first-child, .kids-edit > h3:first-child, .kids-edit > h4:first-child, .kids-edit > h5:first-child, .kids-edit > h6:first-child {
      margin-top: 0; }
  .kids-edit > p a {
    text-decoration: underline; }
  .kids-edit .alignright {
    float: right; }
    .kids-edit .alignright:after {
      content: "";
      clear: both;
      display: block; }
    @media screen and (max-width: 768px) {
      .kids-edit .alignright {
        float: none; } }
  .kids-edit .alignleft {
    float: left; }
    .kids-edit .alignleft:after {
      content: "";
      clear: both;
      display: block; }
    @media screen and (max-width: 768px) {
      .kids-edit .alignleft {
        float: none; } }
  .kids-edit img.alignright {
    margin-left: 10px; }
    @media screen and (max-width: 768px) {
      .kids-edit img.alignright {
        margin-left: 0; } }
  .kids-edit img.alignleft {
    margin-right: 10px; }
    @media screen and (max-width: 768px) {
      .kids-edit img.alignleft {
        margin-right: 0; } }
  .kids-edit .aligncenter {
    margin-right: auto;
    margin-left: auto; }
  .kids-edit img {
    max-width: 100%; }
    @media screen and (max-width: 768px) {
      .kids-edit img {
        margin: 0 auto 10px; } }

.box-kidsnews {
  background: url(../images/kids/common/line_gray.png) repeat-x left bottom transparent; }
  @media screen and (max-width: 768px) {
    .box-kidsnews {
      background-size: 442px 2px; } }
  .box-kidsnews article {
    background: url(../images/kids/common/line_gray.png) repeat-x left top transparent; }
    @media screen and (max-width: 768px) {
      .box-kidsnews article {
        background-size: 442px 2px; } }
    .box-kidsnews article a {
      display: block;
      padding: 39px 0 34px; }
      @media screen and (max-width: 768px) {
        .box-kidsnews article a {
          padding: 20px 0 17px; } }
    .box-kidsnews article dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 0 25px; }
      @media screen and (max-width: 768px) {
        .box-kidsnews article dl {
          overflow: visible;
          padding: 0 15px 0 5px; } }
      .box-kidsnews article dl dt {
        width: 160px;
        padding-left: 40px;
        background: url(../images/kids/common/dec_leave.png) no-repeat left center transparent;
        background-size: 16px auto;
        font-weight: bold;
        letter-spacing: 0.2em; }
        @media screen and (max-width: 768px) {
          .box-kidsnews article dl dt {
            width: 100%;
            padding-left: 23px; } }
      .box-kidsnews article dl dd {
        width: 653px;
        text-decoration: underline; }
        @media screen and (max-width: 768px) {
          .box-kidsnews article dl dd {
            width: 100%;
            padding-left: 23px; } }

.box-kidsdetail-01 {
  padding: 50px 60px;
  border-radius: 7px;
  background-color: #ffffff; }
  @media screen and (max-width: 768px) {
    .box-kidsdetail-01 {
      padding: 30px 40px;
      border-radius: 3px; } }
  @media screen and (max-width: 414px) {
    .box-kidsdetail-01 {
      padding: 20px; } }
  .box-kidsdetail-01 .unit-kidsnote-01 {
    margin-top: 20px;
    margin-bottom: 20px; }

.box-kidslist-01 {
  background: url(../images/kids/common/line_gray.png) repeat-x left top transparent; }
  .box-kidslist-01 .inner {
    padding: 30px 10px;
    background: url(../images/kids/common/line_gray.png) repeat-x left bottom transparent; }
    @media screen and (max-width: 768px) {
      .box-kidslist-01 .inner {
        padding: 20px 0 30px; } }
    .box-kidslist-01 .inner .title {
      font-size: 2.0rem;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .box-kidslist-01 .inner .title {
          font-size: 1.8rem; } }
      @media screen and (max-width: 414px) {
        .box-kidslist-01 .inner .title {
          font-size: 1.6rem; } }
    .box-kidslist-01 .inner p {
      margin-top: 3px;
      font-size: 1.6rem; }
      @media screen and (max-width: 768px) {
        .box-kidslist-01 .inner p {
          font-size: 1.5rem; } }
      @media screen and (max-width: 414px) {
        .box-kidslist-01 .inner p {
          font-size: 1.4rem; } }
    .box-kidslist-01 .inner .unit-kbtn-02 {
      margin-top: 10px;
      text-align: right; }

.box-kidslist-02 {
  background: url(../images/kids/common/line_gray.png) repeat-x left top transparent; }
  .box-kidslist-02 .inner {
    padding: 30px 0;
    background: url(../images/kids/common/line_gray.png) repeat-x left bottom transparent; }
    @media screen and (max-width: 768px) {
      .box-kidslist-02 .inner {
        padding: 15px 0 25px; } }
    @media screen and (max-width: 414px) {
      .box-kidslist-02 .inner {
        padding: 10px 0 20px; } }
    @media screen and (max-width: 414px) {
      .box-kidslist-02 .inner > * {
        margin-top: 10px; } }
    @media screen and (max-width: 414px) {
      .box-kidslist-02 .inner > *:first-child {
        margin-top: 0; } }
    .box-kidslist-02 .inner dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (max-width: 768px) {
        .box-kidslist-02 .inner dl {
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
      .box-kidslist-02 .inner dl dt {
        width: 300px;
        padding-left: 10px;
        font-size: 2.0rem;
        font-weight: bold; }
        @media screen and (max-width: 768px) {
          .box-kidslist-02 .inner dl dt {
            width: 100%;
            font-size: 1.8rem; } }
        @media screen and (max-width: 414px) {
          .box-kidslist-02 .inner dl dt {
            font-size: 1.6rem; } }
      .box-kidslist-02 .inner dl dd {
        width: 600px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end; }
        @media screen and (max-width: 768px) {
          .box-kidslist-02 .inner dl dd {
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            width: 100%; } }
        @media screen and (max-width: 414px) {
          .box-kidslist-02 .inner dl dd {
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            justify-content: space-between; } }
        .box-kidslist-02 .inner dl dd .unit-kbtn-02 {
          margin-left: 15px; }
          @media screen and (max-width: 768px) {
            .box-kidslist-02 .inner dl dd .unit-kbtn-02 {
              margin-left: 10px; } }
          @media screen and (max-width: 414px) {
            .box-kidslist-02 .inner dl dd .unit-kbtn-02 {
              margin-top: 10px;
              margin-left: 0;
              width: 100%; } }

.unit-kbtn-01 a {
  min-width: 226px;
  padding: 10px 5px;
  border: 3px solid #ffffff;
  border-radius: 6px;
  background-color: #fdf9e8;
  text-align: center;
  color: #583314; }
  @media screen and (max-width: 414px) {
    .unit-kbtn-01 a {
      min-width: auto;
      min-width: inherit;
      width: 100%; } }
  .unit-kbtn-01 a:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 6px;
    border-style: solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #583314;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear; }
  .unit-kbtn-01 a:hover {
    opacity: 1;
    background-color: #966f4e;
    color: #ffffff; }
    .unit-kbtn-01 a:hover:before {
      border-color: transparent transparent transparent #ffffff; }

.unit-kbtn-01.c-brown a {
  border-color: #583314;
  background-color: #583314;
  color: #ffffff; }
  .unit-kbtn-01.c-brown a:before {
    border-color: transparent transparent transparent #ffffff; }
  .unit-kbtn-01.c-brown a:hover {
    border-color: #7f532e;
    background-color: #966f4e;
    color: #ffffff; }
  .unit-kbtn-01.c-brown a:visited {
    color: #ffffff; }
  .unit-kbtn-01.c-brown a:active {
    color: #ffffff; }
  .unit-kbtn-01.c-brown a:hover {
    color: #ffffff; }

.unit-kbtn-02 a {
  min-width: 260px;
  padding: 10px 5px;
  border: 3px solid #583314;
  border-radius: 100px;
  background-color: #583314;
  text-align: center;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    .unit-kbtn-02 a {
      padding: 8px 5px; } }
  @media screen and (max-width: 414px) {
    .unit-kbtn-02 a {
      min-width: auto;
      min-width: inherit;
      width: 100%;
      padding: 5px; } }
  .unit-kbtn-02 a:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 6px;
    border-style: solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #ffffff;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear; }
  .unit-kbtn-02 a:hover {
    opacity: 1;
    background-color: #966f4e;
    color: #ffffff; }
  .unit-kbtn-02 a:visited {
    color: #ffffff; }
  .unit-kbtn-02 a:active {
    color: #ffffff; }

.unit-kbtn-03 a {
  min-width: 600px;
  padding: 25px 5px;
  border: 3px solid #583314;
  border-radius: 100px;
  background-color: #583314;
  font-size: 2.0rem;
  text-align: center;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    .unit-kbtn-03 a {
      min-width: auto;
      min-width: inherit;
      width: 100%;
      padding: 20px 5px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 414px) {
    .unit-kbtn-03 a {
      padding: 10px 5px;
      font-size: 1.6rem; } }
  .unit-kbtn-03 a:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 6px;
    border-style: solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #ffffff;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear; }
  .unit-kbtn-03 a:hover {
    opacity: 1;
    background-color: #966f4e;
    color: #ffffff; }
  .unit-kbtn-03 a:visited {
    color: #ffffff; }
  .unit-kbtn-03 a:active {
    color: #ffffff; }

.unit-kbtnlist-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .unit-kbtnlist-01 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  @media screen and (max-width: 768px) {
    .unit-kbtnlist-01 li {
      margin-bottom: 22px; } }
  @media screen and (max-width: 768px) {
    .unit-kbtnlist-01 li:last-child {
      margin-bottom: 0; } }
  .unit-kbtnlist-01 li:nth-of-type(1) {
    margin-top: -8px; }
    @media screen and (max-width: 768px) {
      .unit-kbtnlist-01 li:nth-of-type(1) {
        margin-top: 0; } }
    .unit-kbtnlist-01 li:nth-of-type(1) .navcatch {
      margin-top: 7px;
      margin-left: 1px; }
      @media screen and (max-width: 768px) {
        .unit-kbtnlist-01 li:nth-of-type(1) .navcatch {
          margin-top: 0;
          margin-left: 0; } }
  .unit-kbtnlist-01 li:nth-of-type(2) {
    margin: 62px 25px 0; }
    @media screen and (max-width: 768px) {
      .unit-kbtnlist-01 li:nth-of-type(2) {
        margin: 0 0 16px; } }
    .unit-kbtnlist-01 li:nth-of-type(2) .navcatch {
      margin-top: 7px;
      margin-left: 8px; }
      @media screen and (max-width: 768px) {
        .unit-kbtnlist-01 li:nth-of-type(2) .navcatch {
          margin-top: 0;
          margin-left: 0; } }
  .unit-kbtnlist-01 li:nth-of-type(3) {
    margin-top: 3px; }
    @media screen and (max-width: 768px) {
      .unit-kbtnlist-01 li:nth-of-type(3) {
        margin-top: 0; } }
    .unit-kbtnlist-01 li:nth-of-type(3) .navcatch {
      margin-top: 7px;
      margin-left: 24px; }
      @media screen and (max-width: 768px) {
        .unit-kbtnlist-01 li:nth-of-type(3) .navcatch {
          margin-top: 0;
          margin-left: 0; } }
  .unit-kbtnlist-01 li a:hover {
    opacity: 1; }
    .unit-kbtnlist-01 li a:hover .animate {
      -webkit-animation-name: bounce;
      animation-name: bounce;
      -webkit-transform-origin: center bottom;
      -ms-transform-origin: center bottom;
      transform-origin: center bottom;
      -webkit-animation-duration: 1s;
      animation-duration: 1s;
      -webkit-animation-fill-mode: both;
      animation-fill-mode: both; }
  @media screen and (max-width: 768px) {
    .unit-kbtnlist-01 li a img {
      width: 285px; } }

.unit-kidstitle-01 {
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: 2.5rem;
  color: #583314; }
  @media screen and (max-width: 768px) {
    .unit-kidstitle-01 {
      font-size: 1.5rem; } }
  .unit-kidstitle-01:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-213%, -61%);
    -ms-transform: translate(-213%, -61%);
    transform: translate(-213%, -61%);
    width: 126px;
    height: 100px;
    background: url(../images/kids/common/dec_speaker.png) no-repeat center center transparent;
    background-size: contain; }
    @media screen and (max-width: 768px) {
      .unit-kidstitle-01:before {
        left: 0;
        -webkit-transform: translate(-34%, -60%);
        -ms-transform: translate(-34%, -60%);
        transform: translate(-34%, -60%);
        width: 70px;
        height: 55px; } }

.unit-kidstitle-02 {
  position: relative;
  padding-bottom: 10px;
  padding-right: 170px;
  font-size: 2.6rem;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .unit-kidstitle-02 {
      padding-right: 90px;
      font-size: 2.1rem;
      line-height: 1.5; } }
  @media screen and (max-width: 414px) {
    .unit-kidstitle-02 {
      font-size: 1.6rem; } }
  .unit-kidstitle-02:before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background-color: #583314; }
  .unit-kidstitle-02:after {
    display: block;
    content: "";
    position: absolute;
    bottom: -13px;
    right: 0;
    width: 164px;
    height: 112px;
    background: url(../images/kids/common/dec_title01.png) no-repeat center center transparent;
    background-size: 164px 112px; }
    @media screen and (max-width: 768px) {
      .unit-kidstitle-02:after {
        top: auto;
        bottom: 0;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        width: 82px;
        height: 56px;
        background-size: 82px 56px; } }
  .unit-kidstitle-02 span {
    font-size: 2.2rem; }
    @media screen and (max-width: 768px) {
      .unit-kidstitle-02 span {
        font-size: 1.8rem; } }
    @media screen and (max-width: 414px) {
      .unit-kidstitle-02 span {
        font-size: 1.4rem; } }

.unit-kidstitle-03 {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  color: #88582f; }
  @media screen and (max-width: 768px) {
    .unit-kidstitle-03 {
      font-size: 2.0rem;
      line-height: 1.5; } }
  @media screen and (max-width: 414px) {
    .unit-kidstitle-03 {
      text-align: left;
      font-size: 1.6rem; } }
  .unit-kidstitle-03:before {
    margin-right: 10px;
    font-family: FontAwesome; }
  .unit-kidstitle-03.icon-pencile:before {
    content: "\f040"; }
  .unit-kidstitle-03.icon-download:before {
    content: "\f019"; }
  .unit-kidstitle-03.icon-brush:before {
    content: "\f1fc"; }

.unit-kidstitle-04 {
  font-weight: bold;
  font-size: 2.2rem; }
  .unit-kidstitle-04:before {
    margin-right: 10px;
    font-family: FontAwesome; }
  .unit-kidstitle-04.icon-pencile:before {
    content: "\f040"; }
  .unit-kidstitle-04.icon-download:before {
    content: "\f019"; }
  .unit-kidstitle-04.icon-brush:before {
    content: "\f1fc"; }

.unit-kidscatch-01 {
  text-align: center;
  font-size: 1.4rem; }
  @media screen and (max-width: 414px) {
    .unit-kidscatch-01 {
      text-align: left; } }

.unit-kidsnote-01 {
  padding: 33px 35px 25px;
  background-color: #fbf9ee; }
  @media screen and (max-width: 768px) {
    .unit-kidsnote-01 {
      padding: 20px; } }
  @media screen and (max-width: 414px) {
    .unit-kidsnote-01 {
      padding: 10px; } }
  .unit-kidsnote-01 .unit-kidstitle-03 {
    font-size: 1.8rem; }
  .unit-kidsnote-01 dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem; }
    @media screen and (max-width: 768px) {
      .unit-kidsnote-01 dl {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: 10px; } }
    .unit-kidsnote-01 dl dt {
      margin-right: 10px;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .unit-kidsnote-01 dl dt {
          width: 100%;
          margin-right: 0; } }
