@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,700&display=swap&subset=japanese);
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

body { margin: 0; }

h1 { font-size: 2em; margin: 0.67em 0; }

hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

a { background-color: transparent; }

abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

b, strong { font-weight: bolder; }

code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

img { border-style: none; }

button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

button, input { /* 1 */ overflow: visible; }

button, select { /* 1 */ text-transform: none; }

button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

fieldset { padding: 0.35em 0.75em 0.625em; }

legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

progress { vertical-align: baseline; }

textarea { overflow: auto; }

[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

details { display: block; }

summary { display: list-item; }

template { display: none; }

[hidden] { display: none; }

/******************************************************************
reset
******************************************************************/
main { display: block; }

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd, figure { margin: 0; padding: 0; }

li { list-style: none; }

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

iframe { border: 0; }

button { background-color: transparent; border: none; cursor: pointer; padding: 0; appearance: none; }

em { font-style: normal; font-weight: bold; }

fieldset { border: 0; padding: 0; margin: 0; }

address { font-style: normal; }

/******************************************************************
base
******************************************************************/
body { min-width: 320px; font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 1rem; color: var(--light-font-color); line-height: 1.8; -webkit-font-smoothing: antialiased; }

@media screen and (max-width: 599px) { body { font-size: 0.9rem; } }

body[data-menu-open="true"] { overflow: hidden; }

a { color: var(--light-font-color); text-decoration: underline; }

a:hover { color: var(--light-font-color); text-decoration: none; }

h1, h2 { line-height: 1.5; }

h3 { line-height: 1.6; }

h4 { line-height: 1.7; }

small { line-height: 1.6; }

img { max-width: 100%; height: auto; vertical-align: middle; image-rendering: -webkit-optimize-contrast; }

svg { vertical-align: middle; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #B5C1CC; }

button, input, optgroup, select, textarea { color: var(--light-font-color); line-height: inherit; }

/******************************************************************
image-noselect
******************************************************************/
img { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-user-drag: none; /* Prevents dragging of images/divs etc */ user-drag: none; -webkit-touch-callout: none; }

/******************************************************************
layout - wrapper
******************************************************************/
.l-wrapper { width: 100%; overflow: hidden; background-color: var(--light-bg-color); }

/******************************************************************
layout - header
******************************************************************/
.l-header { background: var(--head-bg-color); color: var(--head-font-color); }

.l-header a { text-decoration: none; color: var(--head-font-color); }

.l-header a:hover { text-decoration: none; }

.l-header .u-icon-blank1 { fill: var(--head-font-color); }

.l-header .u-icon-blank2 { stroke: var(--head-font-color); }

@media print, screen and (min-width: 1001px) { .l-header__inner { position: relative; z-index: +2; max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; display: flex; align-items: center; padding-top: 1.5rem; padding-bottom: 1.8rem; }
  .l-header__logo { line-height: 1.2; font-weight: normal; font-weight: 400; font-size: 38px; padding-right: 30px; } }

@media print, screen and (min-width: 1001px) and (max-width: 1230px) { .l-header__logo { font-size: 3.08943vw; padding-right: 2.43902vw; } }

@media print, screen and (min-width: 1001px) { .l-header__logo span { display: block; font-size: 13px; } }

@media print, screen and (min-width: 1001px) and (max-width: 1230px) { .l-header__logo span { font-size: 1.05691vw; } }

@media print, screen and (min-width: 1001px) { .l-header__body-pc { flex-grow: 1; display: flex; align-items: center; justify-content: space-between; }
  .l-header__body-pc-nav { display: flex; }
  .l-header__body-pc-nav li { border-left: 1px solid var(--head-border-color); }
  .l-header__body-pc-nav li:last-child { border-right: 1px solid var(--head-border-color); }
  .l-header__body-pc-nav li.hino > a > span span { color: var(--head-font-hino-color); }
  .l-header__body-pc-nav li.shibuya > a > span span { color: var(--head-font-shibuya-color); }
  .l-header__body-pc-nav li > a { position: relative; display: flex; line-height: 1.6; padding: 6px 30px; font-size: 16px; font-weight: 500; position: relative; padding-bottom: -10px; } }

@media print, screen and (min-width: 1001px) and (max-width: 1230px) { .l-header__body-pc-nav li > a { padding-right: 2.43902vw; padding-left: 2.43902vw; font-size: 1.30081vw; } }

@media print, screen and (min-width: 1001px) { .l-header__body-pc-nav li > a > span { display: block; text-align: center; transition-property: opacity; transition-duration: 0.3s; }
  .l-header__body-pc-nav li > a > span:hover { opacity: .7; }
  .l-header__body-pc-nav li > a > span span { display: block; font-size: 10px; font-family: 'Noto Serif JP', serif; }
  .l-header__body-pc-nav li > a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; bottom: -30px; right: 0; left: 0; width: 20px; height: 20px; border-color: #000; border-style: solid; border-top-width: 0; border-bottom-width: 20px; border-left: 10px solid transparent; border-right: 10px solid transparent; }
  .l-header__body-pc-nav li > a::after { transition-property: opacity; transition-duration: 0.3s; opacity: 0; }
  .l-header__body-pc-nav li.hino > a::after { border-bottom-color: var(--head-submenu-hino-color) !important; }
  .l-header__body-pc-nav li.shibuya > a::after { border-bottom-color: var(--head-submenu-shibuya-color) !important; }
  .l-header__body-pc-nav li[aria-expanded="true"] > a::after { transition-delay: 0.05s; opacity: 1; }
  .l-header__body-pc-right { display: flex; flex-direction: column; align-items: flex-end; }
  .l-header__body-pc-right > ul { margin-bottom: 16px; display: flex; font-weight: 500; }
  .l-header__body-pc-right > ul li:not(:last-child) { margin-right: 18px; }
  .l-header__body-pc-right > ul li a { font-size: 14px; transition-property: opacity; transition-duration: 0.3s; }
  .l-header__body-pc-right > ul li a:hover { opacity: .7; }
  .l-header__body-sp { display: none; } }

@media screen and (max-width: 1000px) { .l-header { padding: 28px 15px 28px 28px; }
  .l-header__inner { display: flex; justify-content: space-between; align-items: center; }
  .l-header__logo { line-height: 1.2; font-weight: normal; font-weight: 400; font-size: 38px; padding-right: 30px; }
  .l-header__logo span { display: block; font-size: 13px; }
  .l-header__body-pc { display: none; } }

/******************************************************************
layout - nav-sns
******************************************************************/
.l-nav-sns--pc { display: flex; }

.l-nav-sns--pc > *:not(:last-child) { margin-right: 10px; }

@media print, screen and (max-width: 1230px) { .l-nav-sns--pc .l-nav-sns__item { padding-right: 1.30081vw; padding-left: 1.30081vw; }
  .l-nav-sns--pc .l-nav-sns__item dt { font-size: 1.30081vw; padding-right: 1.13821vw; margin-right: 1.13821vw; } }

.l-nav-sns--sp { margin-top: 30px; display: flex; flex-direction: column; align-items: center; }

.l-nav-sns--sp > *:not(:last-child) { margin-bottom: 10px; }

.l-nav-sns--hino { background-color: var(--hino-bg-color); }

.l-nav-sns--shibuya { background-color: var(--shibuya-bg-color); }

.l-nav-sns__item { display: flex; align-items: center; padding: 12px 16px; border-radius: 5px; line-height: 1.2; }

.l-nav-sns__item dt { border-right: 1px solid var(--dark-border-color); font-size: 16px; padding-right: 14px; margin-right: 14px; color: #fff; }

.l-nav-sns__item dd { font-size: 10px; }

.l-nav-sns__item dd ul { display: flex; align-items: center; }

.l-nav-sns__item dd ul > *:not(:last-child) { margin-right: 16px; }

.l-nav-sns__item dd ul a { transition-property: opacity; transition-duration: 0.3s; }

.l-nav-sns__item dd ul a:hover { opacity: .7; }

/******************************************************************
layout - nav-main
******************************************************************/
@media print, screen and (min-width: 1001px) { .l-nav-main { box-sizing: border-box; display: none; position: absolute; left: 0; width: 100%; }
  .l-nav-main a { color: #fff; }
  .l-nav-main__inner { position: relative; background-color: #000; margin: 0 30px; margin-top: 30px; border-radius: 10px; display: flex; padding: 30px 30px 30px 0; }
  .hino .l-nav-main__inner { background-color: var(--head-submenu-hino-color); }
  .shibuya .l-nav-main__inner { background-color: var(--head-submenu-shibuya-color); }
  .l-nav-main dt { border-right: 1px solid var(--dark-border-color); padding: 0 50px 0 50px; white-space: nowrap; }
  .l-nav-main dt a { display: block; position: relative; padding-left: 13px; padding: 2px 0 2px 26px; font-size: 24px; transition-property: opacity; transition-duration: 0.3s; }
  .l-nav-main dt a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; transform: translate(13px, 2px) rotate(135deg); transform-origin: top left; border-top: 1px solid #000; border-left: 1px solid #000; width: 6px; height: 6px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-nav-main dt a::after { top: 6px; }
  .hino .l-nav-main dt a::after { border-color: var(--head-submenu-hino-color); }
  .shibuya .l-nav-main dt a::after { border-color: var(--head-submenu-shibuya-color); }
  .l-nav-main dt a::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 16px; left: 0; width: 20px; height: 20px; background-color: #fff; border-radius: 100%; }
  .l-nav-main dt a:hover { opacity: .7; }
  .l-nav-main div { display: flex; flex-wrap: wrap; padding: 2px 0 0 50px; }
  .l-nav-main dd:not(:last-child) { margin-right: 20px; }
  .l-nav-main dd a { display: block; position: relative; padding-left: 7.5px; padding: 6px 14px 6px 14px; font-size: 18px; transition-property: opacity; transition-duration: 0.3s; }
  .l-nav-main dd a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; transform: translate(7.5px, 3px) rotate(135deg); transform-origin: top left; border-top: 2px solid #fff; border-left: 2px solid #fff; width: 8px; height: 8px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-nav-main dd a::after { top: 3px; } }

@media print, screen and (min-width: 1001px) and (max-width: 1230px) { .l-nav-main dd a { font-size: 1.46341vw; } }

@media print, screen and (min-width: 1001px) { .l-nav-main dd a:hover { opacity: .7; } }

@media screen and (max-width: 1000px) { .l-nav-main { display: none; } }

/******************************************************************
layout - sp-nav-control
******************************************************************/
@media screen and (max-width: 1000px) { .l-sp-nav-control { box-sizing: border-box; display: inline-block; padding: 15px; text-align: center; }
  .l-sp-nav-control__item { display: inline-block; top: -1px; position: relative; height: 3px; width: 24px; background-color: var(--head-hamburger-color); transition-property: all; transition-duration: 0.3s; }
  .l-sp-nav-control__item::before, .l-sp-nav-control__item::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; width: 0; height: 0; left: 0; transition-property: all; transition-duration: 0.3s; }
  .l-sp-nav-control__item::before { height: 3px; width: 24px; background-color: var(--head-hamburger-color); width: 24px; bottom: 8px; }
  .l-sp-nav-control__item::after { height: 3px; width: 24px; background-color: var(--head-hamburger-color); width: 24px; bottom: -8px; }
  .l-sp-nav-control[aria-expanded="true"] .l-sp-nav-control__item { background-color: transparent; }
  .l-sp-nav-control[aria-expanded="true"] .l-sp-nav-control__item::before { bottom: 0; transform: rotate(-45deg); }
  .l-sp-nav-control[aria-expanded="true"] .l-sp-nav-control__item::after { bottom: 0; transform: rotate(45deg); }
  .l-sp-nav-control__text { display: block; font-size: 10px; color: #fff; }
  .l-sp-nav-control:hover { text-decoration: none; } }

/******************************************************************
layout - sp-nav
******************************************************************/
@media print, screen and (min-width: 1001px) { .l-sp-nav { display: none; } }

@media screen and (max-width: 1000px) { .l-sp-nav { display: none; background: var(--head-bg-color); color: var(--head-font-color); padding: 0 30px 50px 30px; }
  .l-sp-nav--fixed { z-index: 1000; position: absolute; width: 100%; box-sizing: border-box; }
  .l-sp-nav a { text-decoration: none; color: var(--head-font-color); }
  .l-sp-nav a:hover { text-decoration: none; }
  .l-sp-nav .u-icon-blank1 { fill: var(--head-font-color); }
  .l-sp-nav .u-icon-blank2 { stroke: var(--head-font-color); }
  .l-sp-nav__nav { margin-top: 30px; text-align: center; } }

/******************************************************************
layout - sp-nav-main
******************************************************************/
@media print, screen and (min-width: 1001px) { .l-sp-nav-main { display: none; } }

@media screen and (max-width: 1000px) { .l-sp-nav-main { border-top: 1px solid var(--head-border-color); font-weight: 500; font-size: 16px; }
  .l-sp-nav-main__item { border-bottom: 1px solid var(--head-border-color); }
  .l-sp-nav-main__item > a { overflow: hidden; box-sizing: border-box; display: block; line-height: 1.5; }
  .l-sp-nav-main__item > a[role="button"] { position: relative; padding-right: 24px; }
  .l-sp-nav-main__item > a[role="button"]::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; transform: translate(-8px, 2px) rotate(45deg); transform-origin: top right; border-bottom: 2px solid var(--head-border-color); border-right: 2px solid var(--head-border-color); width: 12px; height: 12px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-sp-nav-main__item > a span { display: block; padding: 14px 8px 14px 0; }
  .l-sp-nav-main__item[aria-expanded="true"] > a[role="button"]::after { transform: translate(-24px, 8px) rotate(-135deg); }
  .l-sp-nav-main__item.hino dl { background-color: var(--head-submenu-hino-color); }
  .l-sp-nav-main__item.hino dt a::after { border-color: var(--head-submenu-hino-color); }
  .l-sp-nav-main__item.shibuya dl { background-color: var(--head-submenu-shibuya-color); }
  .l-sp-nav-main__item.shibuya dt a::after { border-color: var(--head-submenu-shibuya-color); }
  .l-sp-nav-main__item dl { display: none; padding: 0 18px 14px 18px; }
  .l-sp-nav-main__item dl dt { border-bottom: 1px solid var(--head-border-color); margin-bottom: 8px; }
  .l-sp-nav-main__item dl dt a { color: #fff; display: block; position: relative; padding-left: 13px; padding: 14px 0 14px 26px; }
  .l-sp-nav-main__item dl dt a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; transform: translate(13px, 2px) rotate(135deg); transform-origin: top left; border-top: 1px solid #000; border-left: 1px solid #000; width: 6px; height: 6px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-sp-nav-main__item dl dt a::after { top: 3px; }
  .l-sp-nav-main__item dl dt a::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 19px; left: 0; width: 20px; height: 20px; background-color: #fff; border-radius: 100%; }
  .l-sp-nav-main__item dl dd a { color: #fff; display: block; position: relative; padding-left: 7.5px; padding: 6px 0 6px 14px; }
  .l-sp-nav-main__item dl dd a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; transform: translate(7.5px, 3px) rotate(135deg); transform-origin: top left; border-top: 2px solid #fff; border-left: 2px solid #fff; width: 8px; height: 8px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-sp-nav-main__item dl dd a::after { top: 3px; } }

/******************************************************************
layout - visual
******************************************************************/
.l-visual { position: relative; z-index: +1; }

.l-visual::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; width: 100%; height: 50%; background-color: var(--head-bg-color); z-index: -1; }

.l-visual__inner { position: relative; }

@media print, screen and (min-width: 1001px) { .l-visual__inner { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; } }

/******************************************************************
layout - side-fixed
******************************************************************/
.l-side-fixed { position: fixed; top: 50%; transform: translate3d(100%, -50%, 0); z-index: 101; right: 0; animation-delay: 1.6s; animation-duration: 0.6s; animation-name: slideInRight; animation-fill-mode: forwards; }

.l-side-fixed__item { background-color: var(--footer-bg-color); border-radius: 12px 0 0 12px; padding: 14px; }

.l-side-fixed__item li:not(:last-child) { border-bottom: 1px solid var(--dark-border-color); }

.l-side-fixed__item li a { display: block; font-weight: 500; font-size: 15px; padding: .5em 0; color: var(--footer-font-color); transition-property: opacity; transition-duration: 0.3s; text-decoration: none; }

.l-side-fixed__item li a:hover { text-decoration: none; opacity: .7; }

@media screen and (max-width: 1000px) { .l-side-fixed { display: none; } }

@media print, screen and (min-width: 1001px) { .l-side-fixed-sp { display: none; } }

@media screen and (max-width: 1000px) { .l-side-fixed-sp { padding: 20px 20px 40px 20px; }
  .l-side-fixed-sp__item { background-color: var(--footer-bg-color); border-radius: 12px; padding: 14px; }
  .l-side-fixed-sp__item li:not(:last-child) { border-bottom: 1px solid var(--dark-border-color); }
  .l-side-fixed-sp__item li a { display: block; font-weight: 500; font-size: 15px; padding: .5em 0; color: var(--footer-font-color); transition-property: opacity; transition-duration: 0.3s; }
  .l-side-fixed-sp__item li a:hover { text-decoration: none; opacity: .7; } }

/******************************************************************
layout - footer
******************************************************************/
.l-footer { position: relative; background: var(--footer-bg-color); font-size: 14px; }

.l-footer__inner { position: relative; color: var(--footer-font-color); }

.l-footer__btn { position: absolute; top: -25px; right: 30px; }

@media screen and (max-width: 1000px) { .l-footer__btn { right: 20px; } }

.l-footer__btn a { position: relative; display: block; width: 50px; height: 50px; background-color: var(--footer-pagetop-color); border-radius: 10px 0 0 0; position: relative; transition-property: opacity; transition-duration: 0.3s; padding: 0; }

.l-footer__btn a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(6px, 1px) rotate(45deg); transform-origin: top left; border-top: 1px solid #fff; border-left: 1px solid #fff; width: 12px; height: 12px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.l-footer__btn a:hover { opacity: .7; }

.l-footer__body { line-height: 1.5; }

.l-footer__body > *:not(:last-child) { margin-bottom: 2rem; }

@media screen and (max-width: 599px) { .l-footer__body > *:not(:last-child) { margin-bottom: 1.5rem; } }

.l-footer__body h2 { position: relative; font-size: 38px; font-weight: 400; }

.l-footer__body h2::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; width: 100%; height: 1px; border-top: 1px solid var(--dark-border-color); }

.l-footer__body h2 span { position: relative; padding-right: .6em; background-color: var(--footer-bg-color); }

.l-footer__about-jissen { display: flex; }

.l-footer__about-jissen p:first-child { flex-shrink: 0; }

.l-footer__about-jissen p:last-child { padding: 4px 0 0 20px; }

.l-footer__questionnaire { box-sizing: border-box; background-color: var(--footer-questionnaire-color); border-radius: 0 40px 0 40px; padding: 40px; }

.l-footer__questionnaire > *:not(:last-child) { margin-bottom: 1rem; }

@media screen and (max-width: 599px) { .l-footer__questionnaire > *:not(:last-child) { margin-bottom: 0.75rem; } }

@media print, screen and (min-width: 1001px) { .l-footer__questionnaire { display: flex; flex-direction: column; justify-content: center; align-items: center; } }

@media screen and (max-width: 1000px) { .l-footer__questionnaire { padding: 20px; } }

.l-footer__questionnaire h2 { text-align: center; font-weight: 400; font-size: 24px; }

@media screen and (max-width: 1000px) { .l-footer__questionnaire h2 { font-size: 20px; } }

.l-footer__questionnaire p { text-align: center; }

.l-footer__questionnaire ul { text-align: center; }

@media print, screen and (min-width: 1001px) { .l-footer__questionnaire ul { display: flex; }
  .l-footer__questionnaire ul > *:not(:last-child) { margin-right: 10px; } }

@media screen and (max-width: 1000px) { .l-footer__questionnaire ul > *:not(:last-child) { margin-bottom: 10px; } }

.l-footer__questionnaire ul a { width: 100%; max-width: 400px; }

.l-footer__copy { background-color: #fff; text-align: center; }

.l-footer__copy span { display: inline-block; }

@media print, screen and (min-width: 1001px) { .l-footer__inner { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; padding-top: 90px; padding-bottom: 90px; display: flex; justify-content: space-between; }
  .l-footer__body { width: 47%; }
  .l-footer__questionnaire { width: 47%; }
  .l-footer__copy { padding: 20px; font-size: 14px; } }

@media screen and (max-width: 1000px) { .l-footer__inner { padding: 40px 20px; }
  .l-footer__body { margin-bottom: 40px; }
  .l-footer__copy { padding: 20px; font-size: 12px; } }

.u-icon-blank1 { fill: #000; }

.u-icon-blank2 { stroke: #000; fill: none; stroke-linecap: square; stroke-miterlimit: 10; }

/******************************************************************
component - section
******************************************************************/
.c-section { padding-top: 0.1px; padding-bottom: 0.1px; }

.c-section--offset { padding-top: 0; padding-bottom: 0; }

.c-section__fit { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }

@media screen and (max-width: 599px) { .c-section__fit { padding-right: 18px; padding-left: 18px; } }

.c-section__top { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 6rem; }

@media screen and (max-width: 599px) { .c-section__top { padding-right: 18px; padding-left: 18px; } }

.c-section__bottom { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-bottom: 6rem; }

@media screen and (max-width: 599px) { .c-section__bottom { padding-right: 18px; padding-left: 18px; } }

.c-section--bg-white { background-color: #fff; }

.c-section--bg-light { background-color: var(--light-bg-color); color: var(--light-font-color); }

.c-section--bg-light a { color: var(--light-font-color); }

.c-section--bg-light .ico-download { fill: var(--light-font-color); }

.c-section--bg-light .u-icon-blank1 { fill: var(--light-font-color); }

.c-section--bg-light .u-icon-blank2 { stroke: var(--light-font-color); }

.c-section--bg-light .u-hr { border-top-color: var(--light-border-color) !important; }

.c-section--bg-light2 { background-color: var(--light2-bg-color); color: var(--light-font-color); }

.c-section--bg-light2 a { color: var(--light-font-color); }

.c-section--bg-light2 .ico-download { fill: var(--light-font-color); }

.c-section--bg-light2 .u-icon-blank1 { fill: var(--light-font-color); }

.c-section--bg-light2 .u-icon-blank2 { stroke: var(--light-font-color); }

.c-section--bg-light2 .u-hr { border-top-color: var(--light-border-color) !important; }

.c-section--bg-top-half-light2 { position: relative; z-index: +1; }

.c-section--bg-top-half-light2::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; width: 100%; height: 50%; z-index: -1; background-color: var(--light2-bg-color); }

.c-section--bg-dark { background-color: var(--dark-bg-color); color: var(--dark-font-color); }

.c-section--bg-dark a { color: var(--dark-font-color); }

.c-section--bg-dark .ico-download { fill: var(--dark-font-color); }

.c-section--bg-dark .u-icon-blank1 { fill: var(--dark-font-color); }

.c-section--bg-dark .u-icon-blank2 { stroke: var(--dark-font-color); }

.c-section--bg-dark .u-hr { border-top-color: var(--dark-border-color) !important; }

.c-section--bg-dark-arrow { position: relative; position: relative; padding-bottom: 40px; padding-bottom: 0.1px; }

.c-section--bg-dark-arrow::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; bottom: 0px; right: 0; left: 0; width: 40px; height: 40px; border-color: var(--dark-bg-color); border-style: solid; border-top-width: 40px; border-bottom-width: 0; border-left: 20px solid transparent; border-right: 20px solid transparent; }

.c-section--bg-dark-arrow::after { bottom: -35px; }

@media screen and (max-width: 1000px) { .c-section--bg-dark-arrow { position: relative; padding-bottom: 25px; padding-bottom: 0.1px; }
  .c-section--bg-dark-arrow::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; bottom: 0px; right: 0; left: 0; width: 26px; height: 25px; border-color: var(--dark-bg-color); border-style: solid; border-top-width: 26px; border-bottom-width: 0; border-left: 12.5px solid transparent; border-right: 12.5px solid transparent; }
  .c-section--bg-dark-arrow::after { bottom: -20px; } }

.c-section__vertical { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 6rem; margin-bottom: 6rem; }

@media screen and (max-width: 599px) { .c-section__vertical { padding-right: 18px; padding-left: 18px; } }

.c-section__pagetitle { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 10px; margin-bottom: 4.5rem; }

@media screen and (max-width: 599px) { .c-section__pagetitle { margin-bottom: 2rem; padding-right: 18px; padding-left: 18px; } }

.c-section__vertical-detail { max-width: 1170px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 6rem; margin-bottom: 6rem; }

@media screen and (max-width: 599px) { .c-section__vertical-detail { padding-right: 18px; padding-left: 18px; } }

.c-section--bg-light + .c-section--bg-light .c-section__vertical-detail { margin-top: 0 !important; }

.c-section--bg-light2 + .c-section--bg-light2 .c-section__vertical-detail { margin-top: 0 !important; }

.c-section--bg-dark + .c-section--bg-dark .c-section__vertical-detail { margin-top: 0 !important; }

.c-section__w1000 { max-width: 1000px; margin-left: auto; margin-right: auto; }

.c-section__w800 { max-width: 800px; margin-left: auto; margin-right: auto; }

@media print, screen and (min-width: 600px) { .c-section--contentsrow > * { padding-right: 0; padding-left: 0; } }

@media screen and (max-width: 599px) { .c-section__top { margin-top: 2rem; }
  .c-section__bottom { margin-bottom: 2rem; }
  .c-section__vertical { margin: 2rem auto 2rem auto; } }

.c-section__top--2s { margin-top: 3rem; }

.c-section__bottom--2s { margin-bottom: 3rem; }

.c-section__vertical--2s { margin: 3rem auto 3rem auto; }

.c-section__top--m { margin-top: 6rem; }

.c-section__bottom--m { margin-bottom: 6rem; }

.c-section__vertical--m { margin: 6rem auto 6rem auto; }

@media screen and (max-width: 599px) { .c-section__top--2s { margin-top: 1rem; }
  .c-section__bottom--2s { margin-bottom: 1rem; }
  .c-section__vertical--2s { margin: 1rem auto 1rem auto; }
  .c-section__top--m { margin-top: 2rem; }
  .c-section__bottom--m { margin-bottom: 2rem; }
  .c-section__vertical--m { margin: 2rem auto 2rem auto; } }

@media screen and (max-width: 599px) { .c-section__top.sp-2s { margin-top: 1rem; }
  .c-section__bottom.sp-2s { margin-bottom: 1rem; }
  .c-section__vertical.sp-2s { margin: 1rem auto 1rem auto; }
  .c-section__top.sp-m { margin-top: 2rem; }
  .c-section__bottom.sp-m { margin-bottom: 2rem; }
  .c-section__vertical.sp-m { margin: 2rem auto 2rem auto; } }

@media screen and (max-width: 599px) { .c-sp-section-side-clear { padding-right: 0; padding-left: 0; }
  .c-sp-section-side { padding-right: 18px; padding-left: 18px; }
  .c-sp-section-vertical-clear { margin-top: 0; margin-bottom: 0; }
  .c-sp-section-top-clear { margin-top: 0; }
  .c-sp-section-bottom-clear { margin-bottom: 0; }
  .c-sp-section-vertical { margin-top: 2rem; margin-bottom: 2rem; }
  .c-sp-section-top { margin-top: 2rem; }
  .c-sp-section-bottom { margin-bottom: 2rem; } }

/******************************************************************
component - grid2
******************************************************************/
.c-grid2 { display: flex; flex-wrap: wrap; margin-right: -1rem; margin-top: -1rem; }

.c-grid2--center { justify-content: center; }

.c-grid2--right { justify-content: flex-end; }

.c-grid2--bottom { align-items: flex-end; }

@media screen and (max-width: 599px) { .c-grid2.sp-left { justify-content: flex-start; }
  .c-grid2.sp-center { justify-content: center; }
  .c-grid2.sp-right { justify-content: flex-end; }
  .c-grid2.sp-bottom { align-items: flex-end; } }

.c-grid2 > [class*="c-grid2__item"], .c-grid2 > .c-grid2__item5col { position: relative; box-sizing: border-box; margin-right: 1rem; margin-top: 1rem; }

.c-grid2 > .c-grid2__item1 { width: calc( 8.33333% - 1rem); }

.c-grid2 > .c-grid2__item2 { width: calc( 16.66667% - 1rem); }

.c-grid2 > .c-grid2__item3 { width: calc( 25% - 1rem); }

.c-grid2 > .c-grid2__item4 { width: calc( 33.33333% - 1rem); }

.c-grid2 > .c-grid2__item5 { width: calc( 41.66667% - 1rem); }

.c-grid2 > .c-grid2__item6 { width: calc( 50% - 1rem); }

.c-grid2 > .c-grid2__item7 { width: calc( 58.33333% - 1rem); }

.c-grid2 > .c-grid2__item8 { width: calc( 66.66667% - 1rem); }

.c-grid2 > .c-grid2__item9 { width: calc( 75% - 1rem); }

.c-grid2 > .c-grid2__item10 { width: calc( 83.33333% - 1rem); }

.c-grid2 > .c-grid2__item11 { width: calc( 91.66667% - 1rem); }

.c-grid2 > .c-grid2__item12 { width: calc( 100% - 1rem); }

.c-grid2 > .c-grid2__item5col { width: calc( 20% - 1rem); }

.c-grid2--vertical > [class*="c-grid2__item"], .c-grid2--vertical > .c-grid2__item5col { display: flex; align-items: center; }

.c-grid2--flex > [class*="c-grid2__item"], .c-grid2--flex > .c-grid2__item5col { display: flex; }

@media screen and (max-width: 1000px) { .c-grid2 > .m-item1 { width: calc( 8.33333% - 1rem); }
  .c-grid2 > .m-item2 { width: calc( 16.66667% - 1rem); }
  .c-grid2 > .m-item3 { width: calc( 25% - 1rem); }
  .c-grid2 > .m-item4 { width: calc( 33.33333% - 1rem); }
  .c-grid2 > .m-item5 { width: calc( 41.66667% - 1rem); }
  .c-grid2 > .m-item6 { width: calc( 50% - 1rem); }
  .c-grid2 > .m-item7 { width: calc( 58.33333% - 1rem); }
  .c-grid2 > .m-item8 { width: calc( 66.66667% - 1rem); }
  .c-grid2 > .m-item9 { width: calc( 75% - 1rem); }
  .c-grid2 > .m-item10 { width: calc( 83.33333% - 1rem); }
  .c-grid2 > .m-item11 { width: calc( 91.66667% - 1rem); }
  .c-grid2 > .m-item12 { width: calc( 100% - 1rem); }
  .c-grid2 > .m-item5col { width: calc( 20% - 1rem); } }

@media screen and (max-width: 599px) { .c-grid2 { margin-right: -0.75rem; margin-top: -0.75rem; }
  .c-grid2 > [class*="c-grid2__item"], .c-grid2 > .c-grid2__item5col { margin-right: 0.75rem; margin-top: 0.75rem; }
  .c-grid2 > .c-grid2__item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item3 { width: calc( 25% - 0.75rem); }
  .c-grid2 > .c-grid2__item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item6 { width: calc( 50% - 0.75rem); }
  .c-grid2 > .c-grid2__item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item9 { width: calc( 75% - 0.75rem); }
  .c-grid2 > .c-grid2__item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item12 { width: calc( 100% - 0.75rem); }
  .c-grid2 > .c-grid2__item5col { width: calc( 20% - 0.75rem); }
  .c-grid2 > .sp-item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2 > .sp-item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2 > .sp-item3 { width: calc( 25% - 0.75rem); }
  .c-grid2 > .sp-item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2 > .sp-item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2 > .sp-item6 { width: calc( 50% - 0.75rem); }
  .c-grid2 > .sp-item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2 > .sp-item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2 > .sp-item9 { width: calc( 75% - 0.75rem); }
  .c-grid2 > .sp-item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2 > .sp-item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2 > .sp-item12 { width: calc( 100% - 0.75rem); }
  .c-grid2 > .sp-item5col { width: calc( 20% - 0.75rem); } }

.c-grid2--m { margin-right: -1rem; margin-top: -1rem; }

.c-grid2--m > [class*="c-grid2__item"], .c-grid2--m > .c-grid2__item5col { margin-right: 1rem; margin-top: 1rem; }

.c-grid2--m > .c-grid2__item1 { width: calc( 8.33333% - 1rem); }

.c-grid2--m > .c-grid2__item2 { width: calc( 16.66667% - 1rem); }

.c-grid2--m > .c-grid2__item3 { width: calc( 25% - 1rem); }

.c-grid2--m > .c-grid2__item4 { width: calc( 33.33333% - 1rem); }

.c-grid2--m > .c-grid2__item5 { width: calc( 41.66667% - 1rem); }

.c-grid2--m > .c-grid2__item6 { width: calc( 50% - 1rem); }

.c-grid2--m > .c-grid2__item7 { width: calc( 58.33333% - 1rem); }

.c-grid2--m > .c-grid2__item8 { width: calc( 66.66667% - 1rem); }

.c-grid2--m > .c-grid2__item9 { width: calc( 75% - 1rem); }

.c-grid2--m > .c-grid2__item10 { width: calc( 83.33333% - 1rem); }

.c-grid2--m > .c-grid2__item11 { width: calc( 91.66667% - 1rem); }

.c-grid2--m > .c-grid2__item12 { width: calc( 100% - 1rem); }

.c-grid2--m > .c-grid2__item5col { width: calc( 20% - 1rem); }

@media screen and (max-width: 1000px) { .c-grid2--m { margin-right: -1rem; margin-top: -1rem; }
  .c-grid2--m > [class*="c-grid2__item"], .c-grid2--m > .c-grid2__item5col { margin-right: 1rem; margin-top: 1rem; }
  .c-grid2--m > .c-grid2__item1 { width: calc( 8.33333% - 1rem); }
  .c-grid2--m > .c-grid2__item2 { width: calc( 16.66667% - 1rem); }
  .c-grid2--m > .c-grid2__item3 { width: calc( 25% - 1rem); }
  .c-grid2--m > .c-grid2__item4 { width: calc( 33.33333% - 1rem); }
  .c-grid2--m > .c-grid2__item5 { width: calc( 41.66667% - 1rem); }
  .c-grid2--m > .c-grid2__item6 { width: calc( 50% - 1rem); }
  .c-grid2--m > .c-grid2__item7 { width: calc( 58.33333% - 1rem); }
  .c-grid2--m > .c-grid2__item8 { width: calc( 66.66667% - 1rem); }
  .c-grid2--m > .c-grid2__item9 { width: calc( 75% - 1rem); }
  .c-grid2--m > .c-grid2__item10 { width: calc( 83.33333% - 1rem); }
  .c-grid2--m > .c-grid2__item11 { width: calc( 91.66667% - 1rem); }
  .c-grid2--m > .c-grid2__item12 { width: calc( 100% - 1rem); }
  .c-grid2--m > .c-grid2__item5col { width: calc( 20% - 1rem); }
  .c-grid2--m > .m-item1 { width: calc( 8.33333% - 1rem); }
  .c-grid2--m > .m-item2 { width: calc( 16.66667% - 1rem); }
  .c-grid2--m > .m-item3 { width: calc( 25% - 1rem); }
  .c-grid2--m > .m-item4 { width: calc( 33.33333% - 1rem); }
  .c-grid2--m > .m-item5 { width: calc( 41.66667% - 1rem); }
  .c-grid2--m > .m-item6 { width: calc( 50% - 1rem); }
  .c-grid2--m > .m-item7 { width: calc( 58.33333% - 1rem); }
  .c-grid2--m > .m-item8 { width: calc( 66.66667% - 1rem); }
  .c-grid2--m > .m-item9 { width: calc( 75% - 1rem); }
  .c-grid2--m > .m-item10 { width: calc( 83.33333% - 1rem); }
  .c-grid2--m > .m-item11 { width: calc( 91.66667% - 1rem); }
  .c-grid2--m > .m-item12 { width: calc( 100% - 1rem); }
  .c-grid2--m > .m-item5col { width: calc( 20% - 1rem); } }

@media screen and (max-width: 599px) { .c-grid2--m { margin-right: -0.75rem; margin-top: -0.75rem; }
  .c-grid2--m > [class*="c-grid2__item"], .c-grid2--m > .c-grid2__item5col { margin-right: 0.75rem; margin-top: 0.75rem; }
  .c-grid2--m > .c-grid2__item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2--m > .c-grid2__item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2--m > .c-grid2__item3 { width: calc( 25% - 0.75rem); }
  .c-grid2--m > .c-grid2__item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2--m > .c-grid2__item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2--m > .c-grid2__item6 { width: calc( 50% - 0.75rem); }
  .c-grid2--m > .c-grid2__item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2--m > .c-grid2__item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2--m > .c-grid2__item9 { width: calc( 75% - 0.75rem); }
  .c-grid2--m > .c-grid2__item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2--m > .c-grid2__item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2--m > .c-grid2__item12 { width: calc( 100% - 0.75rem); }
  .c-grid2--m > .c-grid2__item5col { width: calc( 20% - 0.75rem); }
  .c-grid2--m > .sp-item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2--m > .sp-item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2--m > .sp-item3 { width: calc( 25% - 0.75rem); }
  .c-grid2--m > .sp-item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2--m > .sp-item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2--m > .sp-item6 { width: calc( 50% - 0.75rem); }
  .c-grid2--m > .sp-item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2--m > .sp-item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2--m > .sp-item9 { width: calc( 75% - 0.75rem); }
  .c-grid2--m > .sp-item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2--m > .sp-item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2--m > .sp-item12 { width: calc( 100% - 0.75rem); }
  .c-grid2--m > .sp-item5col { width: calc( 20% - 0.75rem); } }

.c-grid2--2x { margin-right: -2rem; margin-top: -2rem; }

.c-grid2--2x > [class*="c-grid2__item"], .c-grid2--2x > .c-grid2__item5col { margin-right: 2rem; margin-top: 2rem; }

.c-grid2--2x > .c-grid2__item1 { width: calc( 8.33333% - 2rem); }

.c-grid2--2x > .c-grid2__item2 { width: calc( 16.66667% - 2rem); }

.c-grid2--2x > .c-grid2__item3 { width: calc( 25% - 2rem); }

.c-grid2--2x > .c-grid2__item4 { width: calc( 33.33333% - 2rem); }

.c-grid2--2x > .c-grid2__item5 { width: calc( 41.66667% - 2rem); }

.c-grid2--2x > .c-grid2__item6 { width: calc( 50% - 2rem); }

.c-grid2--2x > .c-grid2__item7 { width: calc( 58.33333% - 2rem); }

.c-grid2--2x > .c-grid2__item8 { width: calc( 66.66667% - 2rem); }

.c-grid2--2x > .c-grid2__item9 { width: calc( 75% - 2rem); }

.c-grid2--2x > .c-grid2__item10 { width: calc( 83.33333% - 2rem); }

.c-grid2--2x > .c-grid2__item11 { width: calc( 91.66667% - 2rem); }

.c-grid2--2x > .c-grid2__item12 { width: calc( 100% - 2rem); }

.c-grid2--2x > .c-grid2__item5col { width: calc( 20% - 2rem); }

@media screen and (max-width: 1000px) { .c-grid2--2x { margin-right: -2rem; margin-top: -2rem; }
  .c-grid2--2x > [class*="c-grid2__item"], .c-grid2--2x > .c-grid2__item5col { margin-right: 2rem; margin-top: 2rem; }
  .c-grid2--2x > .c-grid2__item1 { width: calc( 8.33333% - 2rem); }
  .c-grid2--2x > .c-grid2__item2 { width: calc( 16.66667% - 2rem); }
  .c-grid2--2x > .c-grid2__item3 { width: calc( 25% - 2rem); }
  .c-grid2--2x > .c-grid2__item4 { width: calc( 33.33333% - 2rem); }
  .c-grid2--2x > .c-grid2__item5 { width: calc( 41.66667% - 2rem); }
  .c-grid2--2x > .c-grid2__item6 { width: calc( 50% - 2rem); }
  .c-grid2--2x > .c-grid2__item7 { width: calc( 58.33333% - 2rem); }
  .c-grid2--2x > .c-grid2__item8 { width: calc( 66.66667% - 2rem); }
  .c-grid2--2x > .c-grid2__item9 { width: calc( 75% - 2rem); }
  .c-grid2--2x > .c-grid2__item10 { width: calc( 83.33333% - 2rem); }
  .c-grid2--2x > .c-grid2__item11 { width: calc( 91.66667% - 2rem); }
  .c-grid2--2x > .c-grid2__item12 { width: calc( 100% - 2rem); }
  .c-grid2--2x > .c-grid2__item5col { width: calc( 20% - 2rem); }
  .c-grid2--2x > .m-item1 { width: calc( 8.33333% - 2rem); }
  .c-grid2--2x > .m-item2 { width: calc( 16.66667% - 2rem); }
  .c-grid2--2x > .m-item3 { width: calc( 25% - 2rem); }
  .c-grid2--2x > .m-item4 { width: calc( 33.33333% - 2rem); }
  .c-grid2--2x > .m-item5 { width: calc( 41.66667% - 2rem); }
  .c-grid2--2x > .m-item6 { width: calc( 50% - 2rem); }
  .c-grid2--2x > .m-item7 { width: calc( 58.33333% - 2rem); }
  .c-grid2--2x > .m-item8 { width: calc( 66.66667% - 2rem); }
  .c-grid2--2x > .m-item9 { width: calc( 75% - 2rem); }
  .c-grid2--2x > .m-item10 { width: calc( 83.33333% - 2rem); }
  .c-grid2--2x > .m-item11 { width: calc( 91.66667% - 2rem); }
  .c-grid2--2x > .m-item12 { width: calc( 100% - 2rem); }
  .c-grid2--2x > .m-item5col { width: calc( 20% - 2rem); } }

@media screen and (max-width: 599px) { .c-grid2--2x { margin-right: -1.5rem; margin-top: -1.5rem; }
  .c-grid2--2x > [class*="c-grid2__item"], .c-grid2--2x > .c-grid2__item5col { margin-right: 1.5rem; margin-top: 1.5rem; }
  .c-grid2--2x > .c-grid2__item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item3 { width: calc( 25% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item6 { width: calc( 50% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item9 { width: calc( 75% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item12 { width: calc( 100% - 1.5rem); }
  .c-grid2--2x > .c-grid2__item5col { width: calc( 20% - 1.5rem); }
  .c-grid2--2x > .sp-item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2--2x > .sp-item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2--2x > .sp-item3 { width: calc( 25% - 1.5rem); }
  .c-grid2--2x > .sp-item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2--2x > .sp-item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2--2x > .sp-item6 { width: calc( 50% - 1.5rem); }
  .c-grid2--2x > .sp-item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2--2x > .sp-item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2--2x > .sp-item9 { width: calc( 75% - 1.5rem); }
  .c-grid2--2x > .sp-item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2--2x > .sp-item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2--2x > .sp-item12 { width: calc( 100% - 1.5rem); }
  .c-grid2--2x > .sp-item5col { width: calc( 20% - 1.5rem); } }

@media screen and (max-width: 1000px) { .c-grid2.m-m { margin-right: -1rem; margin-top: -1rem; }
  .c-grid2.m-m > [class*="c-grid2__item"], .c-grid2.m-m > .c-grid2__item5col { margin-right: 1rem; margin-top: 1rem; }
  .c-grid2.m-m > .c-grid2__item1 { width: calc( 8.33333% - 1rem); }
  .c-grid2.m-m > .c-grid2__item2 { width: calc( 16.66667% - 1rem); }
  .c-grid2.m-m > .c-grid2__item3 { width: calc( 25% - 1rem); }
  .c-grid2.m-m > .c-grid2__item4 { width: calc( 33.33333% - 1rem); }
  .c-grid2.m-m > .c-grid2__item5 { width: calc( 41.66667% - 1rem); }
  .c-grid2.m-m > .c-grid2__item6 { width: calc( 50% - 1rem); }
  .c-grid2.m-m > .c-grid2__item7 { width: calc( 58.33333% - 1rem); }
  .c-grid2.m-m > .c-grid2__item8 { width: calc( 66.66667% - 1rem); }
  .c-grid2.m-m > .c-grid2__item9 { width: calc( 75% - 1rem); }
  .c-grid2.m-m > .c-grid2__item10 { width: calc( 83.33333% - 1rem); }
  .c-grid2.m-m > .c-grid2__item11 { width: calc( 91.66667% - 1rem); }
  .c-grid2.m-m > .c-grid2__item12 { width: calc( 100% - 1rem); }
  .c-grid2.m-m > .c-grid2__item5col { width: calc( 20% - 1rem); }
  .c-grid2.m-m > .m-item1 { width: calc( 8.33333% - 1rem); }
  .c-grid2.m-m > .m-item2 { width: calc( 16.66667% - 1rem); }
  .c-grid2.m-m > .m-item3 { width: calc( 25% - 1rem); }
  .c-grid2.m-m > .m-item4 { width: calc( 33.33333% - 1rem); }
  .c-grid2.m-m > .m-item5 { width: calc( 41.66667% - 1rem); }
  .c-grid2.m-m > .m-item6 { width: calc( 50% - 1rem); }
  .c-grid2.m-m > .m-item7 { width: calc( 58.33333% - 1rem); }
  .c-grid2.m-m > .m-item8 { width: calc( 66.66667% - 1rem); }
  .c-grid2.m-m > .m-item9 { width: calc( 75% - 1rem); }
  .c-grid2.m-m > .m-item10 { width: calc( 83.33333% - 1rem); }
  .c-grid2.m-m > .m-item11 { width: calc( 91.66667% - 1rem); }
  .c-grid2.m-m > .m-item12 { width: calc( 100% - 1rem); }
  .c-grid2.m-m > .m-item5col { width: calc( 20% - 1rem); } }

@media screen and (max-width: 599px) { .c-grid2.sp-m { margin-right: -0.75rem; margin-top: -0.75rem; }
  .c-grid2.sp-m > [class*="c-grid2__item"], .c-grid2.sp-m > .c-grid2__item5col { margin-right: 0.75rem; margin-top: 0.75rem; }
  .c-grid2.sp-m > .c-grid2__item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item3 { width: calc( 25% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item6 { width: calc( 50% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item9 { width: calc( 75% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item12 { width: calc( 100% - 0.75rem); }
  .c-grid2.sp-m > .c-grid2__item5col { width: calc( 20% - 0.75rem); }
  .c-grid2.sp-m > .sp-item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2.sp-m > .sp-item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2.sp-m > .sp-item3 { width: calc( 25% - 0.75rem); }
  .c-grid2.sp-m > .sp-item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2.sp-m > .sp-item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2.sp-m > .sp-item6 { width: calc( 50% - 0.75rem); }
  .c-grid2.sp-m > .sp-item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2.sp-m > .sp-item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2.sp-m > .sp-item9 { width: calc( 75% - 0.75rem); }
  .c-grid2.sp-m > .sp-item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2.sp-m > .sp-item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2.sp-m > .sp-item12 { width: calc( 100% - 0.75rem); }
  .c-grid2.sp-m > .sp-item5col { width: calc( 20% - 0.75rem); } }

@media screen and (max-width: 1000px) { .c-grid2.m-2x { margin-right: -2rem; margin-top: -2rem; }
  .c-grid2.m-2x > [class*="c-grid2__item"], .c-grid2.m-2x > .c-grid2__item5col { margin-right: 2rem; margin-top: 2rem; }
  .c-grid2.m-2x > .c-grid2__item1 { width: calc( 8.33333% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item2 { width: calc( 16.66667% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item3 { width: calc( 25% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item4 { width: calc( 33.33333% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item5 { width: calc( 41.66667% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item6 { width: calc( 50% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item7 { width: calc( 58.33333% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item8 { width: calc( 66.66667% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item9 { width: calc( 75% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item10 { width: calc( 83.33333% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item11 { width: calc( 91.66667% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item12 { width: calc( 100% - 2rem); }
  .c-grid2.m-2x > .c-grid2__item5col { width: calc( 20% - 2rem); }
  .c-grid2.m-2x > .m-item1 { width: calc( 8.33333% - 2rem); }
  .c-grid2.m-2x > .m-item2 { width: calc( 16.66667% - 2rem); }
  .c-grid2.m-2x > .m-item3 { width: calc( 25% - 2rem); }
  .c-grid2.m-2x > .m-item4 { width: calc( 33.33333% - 2rem); }
  .c-grid2.m-2x > .m-item5 { width: calc( 41.66667% - 2rem); }
  .c-grid2.m-2x > .m-item6 { width: calc( 50% - 2rem); }
  .c-grid2.m-2x > .m-item7 { width: calc( 58.33333% - 2rem); }
  .c-grid2.m-2x > .m-item8 { width: calc( 66.66667% - 2rem); }
  .c-grid2.m-2x > .m-item9 { width: calc( 75% - 2rem); }
  .c-grid2.m-2x > .m-item10 { width: calc( 83.33333% - 2rem); }
  .c-grid2.m-2x > .m-item11 { width: calc( 91.66667% - 2rem); }
  .c-grid2.m-2x > .m-item12 { width: calc( 100% - 2rem); }
  .c-grid2.m-2x > .m-item5col { width: calc( 20% - 2rem); } }

@media screen and (max-width: 599px) { .c-grid2.sp-2x { margin-right: -1.5rem; margin-top: -1.5rem; }
  .c-grid2.sp-2x > [class*="c-grid2__item"], .c-grid2.sp-2x > .c-grid2__item5col { margin-right: 1.5rem; margin-top: 1.5rem; }
  .c-grid2.sp-2x > .c-grid2__item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item3 { width: calc( 25% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item6 { width: calc( 50% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item9 { width: calc( 75% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item12 { width: calc( 100% - 1.5rem); }
  .c-grid2.sp-2x > .c-grid2__item5col { width: calc( 20% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item3 { width: calc( 25% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item6 { width: calc( 50% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item9 { width: calc( 75% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item12 { width: calc( 100% - 1.5rem); }
  .c-grid2.sp-2x > .sp-item5col { width: calc( 20% - 1.5rem); } }

/******************************************************************
component - frame-bg
******************************************************************/
.c-frame-bg { color: var(--light-font-color); border: 1px dashed var(--light-font-color); background-color: #fff; border-radius: 0 50px; padding: 40px; }

@media screen and (max-width: 599px) { .c-frame-bg { border-radius: 0 30px; padding: 20px; } }

@media print, screen and (min-width: 1001px) { .c-frame-bg__theme { display: flex; align-items: center; } }

.c-frame-bg__theme .c-frame-bg__title { font-weight: 400; }

@media print, screen and (min-width: 1001px) { .c-frame-bg__theme .c-frame-bg__title { font-size: 26px; text-align: center; flex-shrink: 0; width: 10em; } }

@media screen and (max-width: 1000px) { .c-frame-bg__theme .c-frame-bg__title { font-size: 22px; margin-bottom: 10px; } }

/******************************************************************
component - card
******************************************************************/
.c-card__item { display: flex; flex-direction: column; color: var(--light-font-color); border: 1px dashed var(--light-font-color); background-color: #fff; border-radius: 0 50px; padding: 40px; }

@media screen and (max-width: 599px) { .c-card__item { border-radius: 0 30px; padding: 20px; } }

.c-card__item > *:not(:last-child) { margin-bottom: 1rem; }

@media screen and (max-width: 599px) { .c-card__item > *:not(:last-child) { margin-bottom: 0.75rem; } }

.c-card__item > a { color: var(--light-font-color); display: flex; flex-direction: column; text-decoration: none; }

.c-card__item > a > *:not(:last-child) { margin-bottom: 1rem; }

@media screen and (max-width: 599px) { .c-card__item > a > *:not(:last-child) { margin-bottom: 0.75rem; } }

.c-card__item > a .c-card__img { transition-property: filter; transition-duration: 0.3s; }

.c-card__item > a:hover .c-card__img { filter: brightness(115%); }

.c-card__img { margin-bottom: 25px !important; }

.c-card__img img { width: 100%; }

@media screen and (max-width: 599px) { .c-card__img { margin-bottom: 15px !important; } }

.c-card__title { text-align: center; font-weight: 400; font-size: 26px; margin-bottom: 25px !important; }

@media screen and (max-width: 599px) { .c-card__title { margin-bottom: 15px !important; } }

.c-card__copy { flex-grow: 1; }

.c-card__faculty { background-color: #F5F5F5; display: flex; font-weight: 500; border-radius: 0 30px; padding: 20px; }

@media screen and (max-width: 599px) { .c-card__faculty { border-radius: 0 15px; padding: 10px; } }

.c-card__faculty dt { font-weight: 600; white-space: nowrap; padding-right: 20px; }

@media screen and (max-width: 599px) { .c-card__faculty dt { padding-right: 10px; } }

/******************************************************************
component - hierarchy1
******************************************************************/
.c-hierarchy1__item { display: flex; color: var(--light-font-color); border: 1px dashed var(--light-font-color); background-color: #fff; border-radius: 0 50px; padding: 40px; }

@media screen and (max-width: 599px) { .c-hierarchy1__item { border-radius: 0 30px; padding: 20px; } }

.c-hierarchy1__item > *:not(:last-child) { margin-bottom: 1rem; }

@media screen and (max-width: 599px) { .c-hierarchy1__item > *:not(:last-child) { margin-bottom: 0.75rem; } }

.c-hierarchy1__item > a { color: var(--light-font-color); display: flex; text-decoration: none; transition-property: opacity; transition-duration: 0.3s; }

.c-hierarchy1__item > a > *:not(:last-child) { margin-bottom: 1rem; }

@media screen and (max-width: 599px) { .c-hierarchy1__item > a > *:not(:last-child) { margin-bottom: 0.75rem; } }

.c-hierarchy1__item > a:hover { opacity: .6; }

.c-hierarchy1__item > a .c-hierarchy1__title { position: relative; padding-left: 10.5px; padding-left: 24px; }

.c-hierarchy1__item > a .c-hierarchy1__title::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; transform: translate(10.5px, 0.8em) rotate(135deg); transform-origin: top left; border-top: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.c-hierarchy1__item > a .c-hierarchy1__title::after { top: 1px; }

.c-hierarchy1__item > a .c-hierarchy1__title::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 9px; left: 0; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

.c-hierarchy1__img { flex-shrink: 0; width: 150px; }

.c-hierarchy1__img img { width: 100%; border-radius: 0 20px; }

.c-hierarchy1__body { box-sizing: border-box; width: calc(100% - 150px); padding-left: 20px; }

.c-hierarchy1__title { font-weight: 600; font-size: 20px; }

/******************************************************************
component - hierarchy2
******************************************************************/
.c-section--bg-dark .c-hierarchy2__title::before { background-color: var(--dark-font-color) !important; }

.c-section--bg-dark .c-hierarchy2__title::after { border-top-color: var(--dark-link-color) !important; border-left-color: var(--dark-link-color) !important; }

.c-hierarchy2__item > *:not(:last-child) { margin-bottom: 0.5rem; }

@media screen and (max-width: 599px) { .c-hierarchy2__item > *:not(:last-child) { margin-bottom: 0.375rem; } }

.c-hierarchy2__item > a { text-decoration: none; }

.c-hierarchy2__item > a > *:not(:last-child) { margin-bottom: 0.5rem; }

@media screen and (max-width: 599px) { .c-hierarchy2__item > a > *:not(:last-child) { margin-bottom: 0.375rem; } }

.c-hierarchy2__item > a img { transition-property: filter; transition-duration: 0.3s; }

.c-hierarchy2__item > a:hover img { filter: brightness(115%); }

.c-hierarchy2__item > a .c-hierarchy2__title { position: relative; padding-left: 10.5px; padding-left: 24px; }

.c-hierarchy2__item > a .c-hierarchy2__title::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; transform: translate(10.5px, 0.8em) rotate(135deg); transform-origin: top left; border-top: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.c-hierarchy2__item > a .c-hierarchy2__title::after { top: 1px; }

.c-hierarchy2__item > a .c-hierarchy2__title::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 7px; left: 0; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

.c-hierarchy2__img img { width: 100%; border-radius: 0 20px; }

.c-hierarchy2__title { font-weight: 600; font-size: 18px; }

/******************************************************************
component - sponsorship
******************************************************************/
.c-sponsorship__item a { text-decoration: none; }

.c-sponsorship__img { border: 1px dashed var(--light-font-color); background-color: #fff; border-radius: 0 50px; padding: 40px; }

@media screen and (max-width: 599px) { .c-sponsorship__img { border-radius: 0 30px; padding: 20px; } }

.c-sponsorship__title { text-align: center; font-weight: 500; margin-top: .5em; }

/******************************************************************
component - feature-img
******************************************************************/
.c-feature-img { position: relative; box-sizing: border-box; overflow: hidden; border-radius: 0 50px; }

@media screen and (max-width: 599px) { .c-feature-img { border-radius: 0 30px; } }

.c-feature-img__img img { width: 100%; }

/******************************************************************
component - vertical-area
******************************************************************/
.c-vertical-area { position: absolute; z-index: +1; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; }

.c-vertical-area--top { align-items: flex-start; }

.c-vertical-area--bottom { align-items: flex-end; }

.c-vertical-area__inner { box-sizing: border-box; width: 100%; }

.c-vertical-area__title { color: #fff; font-size: 50px; }

@media screen and (max-width: 599px) { .c-vertical-area__title { font-size: 30px; } }

/******************************************************************
component - gutter
******************************************************************/
.c-gutter > *:not(:last-child) { margin-bottom: 1rem; }

.c-gutter-s > *:not(:last-child) { margin-bottom: 0.75rem; }

.c-gutter-2x > *:not(:last-child) { margin-bottom: 2rem; }

.c-gutter-3x > *:not(:last-child) { margin-bottom: 3rem; }

@media screen and (max-width: 599px) { .c-gutter > *:not(:last-child) { margin-bottom: 0.75rem; }
  .c-gutter-s > *:not(:last-child) { margin-bottom: 0.5625rem; }
  .c-gutter-2x > *:not(:last-child) { margin-bottom: 1.5rem; }
  .c-gutter-3x > *:not(:last-child) { margin-bottom: 2.25rem; }
  .c-sp-gutter > *:not(:last-child) { margin-bottom: 0.75rem; }
  .c-sp-gutter-s > *:not(:last-child) { margin-bottom: 0.5625rem; }
  .c-sp-gutter-2x > *:not(:last-child) { margin-bottom: 1.5rem; }
  .c-sp-gutter-3x > *:not(:last-child) { margin-bottom: 2.25rem; } }

/******************************************************************
component - text-row2
******************************************************************/
.c-text-row2 { display: flex; }

.c-text-row2--inline { display: inline-flex; }

.c-text-row2--vertical { align-items: center; }

.c-text-row2 > .c-text-row2__head-left, .c-text-row2 > .c-text-row2__head-right { box-sizing: border-box; flex-shrink: 0; max-width: 60%; }

.c-text-row2 > .c-text-row2__head-left { margin-right: 1rem; order: 1; }

.c-text-row2 > .c-text-row2__head-right { margin-left: 1rem; order: 2; }

.c-text-row2 > .c-text-row2__body-right, .c-text-row2 > .c-text-row2__body-left { box-sizing: border-box; flex-grow: 1; }

.c-text-row2 > .c-text-row2__body-right { order: 2; }

.c-text-row2 > .c-text-row2__body-left { order: 1; }

@media screen and (max-width: 1000px) { .c-text-row2.m-top { align-items: stretch; }
  .c-text-row2.m-vertical { align-items: center; }
  .c-text-row2.m-column { flex-direction: column; }
  .c-text-row2.m-column--center { align-items: flex-start; }
  .c-text-row2.m-column > .c-text-row2__head-left, .c-text-row2.m-column > .c-text-row2__head-right { order: 1; margin-bottom: 1rem; margin-right: 0; margin-left: 0; text-align: center; width: 100% !important; max-width: none !important; }
  .c-text-row2.m-column > .c-text-row2__body-right, .c-text-row2.m-column > .c-text-row2__body-left { order: 2; width: 100%; }
  .c-text-row2.m-column.m-column-reverse > .c-text-row2__head-left, .c-text-row2.m-column.m-column-reverse > .c-text-row2__head-right { order: 2; margin-top: 1rem; margin-bottom: 0; }
  .c-text-row2.m-column.m-column-reverse > .c-text-row2__body-right, .c-text-row2.m-column.m-column-reverse > .c-text-row2__body-left { order: 1; } }

@media screen and (max-width: 599px) { .c-text-row2.sp-top { align-items: stretch; }
  .c-text-row2.sp-vertical { align-items: center; }
  .c-text-row2 > .c-text-row2__head-left { margin-right: 0.75rem; }
  .c-text-row2 > .c-text-row2__head-right { margin-left: 0.75rem; }
  .c-text-row2.sp-column { flex-direction: column; }
  .c-text-row2.sp-column--center { align-items: flex-start; }
  .c-text-row2.sp-column > .c-text-row2__head-left, .c-text-row2.sp-column > .c-text-row2__head-right { order: 1; margin-bottom: 0.75rem; margin-right: 0; margin-left: 0; text-align: center; width: 100% !important; max-width: none !important; }
  .c-text-row2.sp-column > .c-text-row2__body-right, .c-text-row2.sp-column > .c-text-row2__body-left { order: 2; width: 100%; }
  .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__head-right { order: 2; margin-top: 0.75rem; margin-bottom: 0; }
  .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__body-right, .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__body-left { order: 1; } }

.c-text-row2--m > .c-text-row2__head-left { margin-right: 1rem; }

.c-text-row2--m > .c-text-row2__head-right { margin-left: 1rem; }

@media screen and (max-width: 1000px) { .c-text-row2--m.m-column > .c-text-row2__head-left, .c-text-row2--m.m-column > .c-text-row2__head-right { margin-bottom: 1rem; }
  .c-text-row2--m.m-column.m-column-reverse > .c-text-row2__head-left, .c-text-row2--m.m-column.m-column-reverse > .c-text-row2__head-right { margin-top: 1rem; } }

@media screen and (max-width: 599px) { .c-text-row2--m > .c-text-row2__head-left { margin-right: 0.75rem; }
  .c-text-row2--m > .c-text-row2__head-right { margin-left: 0.75rem; }
  .c-text-row2--m.sp-column > .c-text-row2__head-left, .c-text-row2--m.sp-column > .c-text-row2__head-right { margin-bottom: 0.75rem; }
  .c-text-row2--m.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2--m.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 0.75rem; } }

.c-text-row2--3x > .c-text-row2__head-left { margin-right: 3rem; }

.c-text-row2--3x > .c-text-row2__head-right { margin-left: 3rem; }

@media screen and (max-width: 1000px) { .c-text-row2--3x.m-column > .c-text-row2__head-left, .c-text-row2--3x.m-column > .c-text-row2__head-right { margin-bottom: 3rem; }
  .c-text-row2--3x.m-column.m-column-reverse > .c-text-row2__head-left, .c-text-row2--3x.m-column.m-column-reverse > .c-text-row2__head-right { margin-top: 3rem; } }

@media screen and (max-width: 599px) { .c-text-row2--3x > .c-text-row2__head-left { margin-right: 2.25rem; }
  .c-text-row2--3x > .c-text-row2__head-right { margin-left: 2.25rem; }
  .c-text-row2--3x.sp-column > .c-text-row2__head-left, .c-text-row2--3x.sp-column > .c-text-row2__head-right { margin-bottom: 2.25rem; }
  .c-text-row2--3x.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2--3x.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 2.25rem; } }

@media screen and (max-width: 1000px) { .c-text-row2.m-m > .c-text-row2__head-left { margin-right: 1rem; }
  .c-text-row2.m-m > .c-text-row2__head-right { margin-left: 1rem; }
  .c-text-row2.m-m.m-column > .c-text-row2__head-left, .c-text-row2.m-m.m-column > .c-text-row2__head-right { margin-bottom: 1rem; margin-right: 0; margin-left: 0; }
  .c-text-row2.m-m.m-column.m-column-reverse > .c-text-row2__head-left, .c-text-row2.m-m.m-column.m-column-reverse > .c-text-row2__head-right { margin-top: 1rem; } }

@media screen and (max-width: 599px) { .c-text-row2.sp-m > .c-text-row2__head-left { margin-right: 0.75rem; }
  .c-text-row2.sp-m > .c-text-row2__head-right { margin-left: 0.75rem; }
  .c-text-row2.sp-m.sp-column > .c-text-row2__head-left, .c-text-row2.sp-m.sp-column > .c-text-row2__head-right { margin-bottom: 0.75rem; margin-right: 0; margin-left: 0; }
  .c-text-row2.sp-m.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2.sp-m.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 0.75rem; } }

@media screen and (max-width: 1000px) { .c-text-row2.m-3x > .c-text-row2__head-left { margin-right: 3rem; }
  .c-text-row2.m-3x > .c-text-row2__head-right { margin-left: 3rem; }
  .c-text-row2.m-3x.m-column > .c-text-row2__head-left, .c-text-row2.m-3x.m-column > .c-text-row2__head-right { margin-bottom: 3rem; margin-right: 0; margin-left: 0; }
  .c-text-row2.m-3x.m-column.m-column-reverse > .c-text-row2__head-left, .c-text-row2.m-3x.m-column.m-column-reverse > .c-text-row2__head-right { margin-top: 3rem; } }

@media screen and (max-width: 599px) { .c-text-row2.sp-3x > .c-text-row2__head-left { margin-right: 2.25rem; }
  .c-text-row2.sp-3x > .c-text-row2__head-right { margin-left: 2.25rem; }
  .c-text-row2.sp-3x.sp-column > .c-text-row2__head-left, .c-text-row2.sp-3x.sp-column > .c-text-row2__head-right { margin-bottom: 2.25rem; margin-right: 0; margin-left: 0; }
  .c-text-row2.sp-3x.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2.sp-3x.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 2.25rem; } }

/******************************************************************
component - text-around2
******************************************************************/
.c-text-around2::after { content: ""; display: block; clear: both; }

.c-text-around2 > .c-text-around2__image--left, .c-text-around2 > .c-text-around2__image--right { display: block; margin-bottom: 1rem; }

.c-text-around2 > .c-text-around2__image--left { float: left; margin-right: 1rem; }

.c-text-around2 > .c-text-around2__image--right { float: right; margin-left: 1rem; }

@media screen and (max-width: 1000px) { .c-text-around2.m-column > .c-text-around2__image--left, .c-text-around2.m-column > .c-text-around2__image--right { float: none; margin-bottom: 1rem; margin-right: 0; margin-left: 0; text-align: center; width: 100%; max-width: none; } }

@media screen and (max-width: 599px) { .c-text-around2 > .c-text-around2__image--left, .c-text-around2 > .c-text-around2__image--right { margin-bottom: 0.75rem; }
  .c-text-around2 > .c-text-around2__image--left { margin-right: 0.75rem; }
  .c-text-around2 > .c-text-around2__image--right { margin-left: 0.75rem; }
  .c-text-around2.sp-column > .c-text-around2__image--left, .c-text-around2.sp-column > .c-text-around2__image--right { float: none; margin-bottom: 0.75rem; margin-right: 0; margin-left: 0; text-align: center; width: 100%; max-width: none; } }

.c-text-around2--m > .c-text-around2__image--left, .c-text-around2--m > .c-text-around2__image--right { margin-bottom: 1rem; }

.c-text-around2--m > .c-text-around2__image--left { margin-right: 1rem; }

.c-text-around2--m > .c-text-around2__image--right { margin-left: 1rem; }

@media screen and (max-width: 1000px) { .c-text-around2--m.m-column > .c-text-around2__image--left, .c-text-around2--m.m-column > .c-text-around2__image--right { margin-bottom: 1rem; margin-right: 0; margin-left: 0; } }

@media screen and (max-width: 599px) { .c-text-around2--m > .c-text-around2__image--left, .c-text-around2--m > .c-text-around2__image--right { margin-bottom: 0.75rem; }
  .c-text-around2--m > .c-text-around2__image--left { margin-right: 0.75rem; }
  .c-text-around2--m > .c-text-around2__image--right { margin-left: 0.75rem; }
  .c-text-around2--m.sp-column > .c-text-around2__image--left, .c-text-around2--m.sp-column > .c-text-around2__image--right { margin-bottom: 0.75rem; margin-right: 0; margin-left: 0; } }

.c-text-around2--3x > .c-text-around2__image--left, .c-text-around2--3x > .c-text-around2__image--right { margin-bottom: 3rem; }

.c-text-around2--3x > .c-text-around2__image--left { margin-right: 3rem; }

.c-text-around2--3x > .c-text-around2__image--right { margin-left: 3rem; }

@media screen and (max-width: 1000px) { .c-text-around2--3x.m-column > .c-text-around2__image--left, .c-text-around2--3x.m-column > .c-text-around2__image--right { margin-bottom: 3rem; margin-right: 0; margin-left: 0; } }

@media screen and (max-width: 599px) { .c-text-around2--3x > .c-text-around2__image--left, .c-text-around2--3x > .c-text-around2__image--right { margin-bottom: 2.25rem; }
  .c-text-around2--3x > .c-text-around2__image--left { margin-right: 2.25rem; }
  .c-text-around2--3x > .c-text-around2__image--right { margin-left: 2.25rem; }
  .c-text-around2--3x.sp-column > .c-text-around2__image--left, .c-text-around2--3x.sp-column > .c-text-around2__image--right { margin-bottom: 2.25rem; margin-right: 0; margin-left: 0; } }

@media screen and (max-width: 1000px) { .c-text-around2.m-m > .c-text-around2__image--left, .c-text-around2.m-m > .c-text-around2__image--right { margin-bottom: 1rem; }
  .c-text-around2.m-m > .c-text-around2__image--left { margin-right: 1rem; }
  .c-text-around2.m-m > .c-text-around2__image--right { margin-left: 1rem; }
  .c-text-around2.m-m.m-column > .c-text-around2__image--left, .c-text-around2.m-m.m-column > .c-text-around2__image--right { margin-bottom: 1rem; margin-right: 0; margin-left: 0; } }

@media screen and (max-width: 599px) { .c-text-around2.sp-m > .c-text-around2__image--left, .c-text-around2.sp-m > .c-text-around2__image--right { margin-bottom: 0.75rem; }
  .c-text-around2.sp-m > .c-text-around2__image--left { margin-right: 0.75rem; }
  .c-text-around2.sp-m > .c-text-around2__image--right { margin-left: 0.75rem; }
  .c-text-around2.sp-m.sp-column > .c-text-around2__image--left, .c-text-around2.sp-m.sp-column > .c-text-around2__image--right { margin-bottom: 0.75rem; margin-right: 0; margin-left: 0; } }

@media screen and (max-width: 1000px) { .c-text-around2.m-3x > .c-text-around2__image--left, .c-text-around2.m-3x > .c-text-around2__image--right { margin-bottom: 3rem; }
  .c-text-around2.m-3x > .c-text-around2__image--left { margin-right: 3rem; }
  .c-text-around2.m-3x > .c-text-around2__image--right { margin-left: 3rem; }
  .c-text-around2.m-3x.m-column > .c-text-around2__image--left, .c-text-around2.m-3x.m-column > .c-text-around2__image--right { margin-bottom: 3rem; margin-right: 0; margin-left: 0; } }

@media screen and (max-width: 599px) { .c-text-around2.sp-3x > .c-text-around2__image--left, .c-text-around2.sp-3x > .c-text-around2__image--right { margin-bottom: 2.25rem; }
  .c-text-around2.sp-3x > .c-text-around2__image--left { margin-right: 2.25rem; }
  .c-text-around2.sp-3x > .c-text-around2__image--right { margin-left: 2.25rem; }
  .c-text-around2.sp-3x.sp-column > .c-text-around2__image--left, .c-text-around2.sp-3x.sp-column > .c-text-around2__image--right { margin-bottom: 2.25rem; margin-right: 0; margin-left: 0; } }

/******************************************************************
component - news-icon2
******************************************************************/
.c-news-icon2 a { color: var(--light-font-color); transition-property: opacity; transition-duration: 0.3s; text-decoration: none; }

.c-news-icon2 a:hover { text-decoration: none; opacity: .7; }

.c-news-icon2__item:not(:last-child) { margin-bottom: 1.2rem; }

.c-news-icon2__item > * { display: grid; grid-template-columns: 9em 1fr; grid-template-areas: "date icon" "body body"; }

.c-news-icon2__date { grid-area: date; }

.c-news-icon2__icon { grid-area: icon; }

.c-news-icon2__icon > *:not(:last-child) { margin-right: .5em; }

.c-news-icon2__body { grid-area: body; }

/******************************************************************
component - list-disc
******************************************************************/
.c-list-disc__item { position: relative; padding-left: 1em; }

.c-list-disc__item::before { position: absolute; top: 0; left: 0; content: "・"; }

.c-list-disc--gutter .c-list-disc__item:not(:first-child) { margin-top: 1.2rem; }

@media screen and (max-width: 599px) { .c-list-disc--gutter .c-list-disc__item:not(:first-child) { margin-top: 0.9rem; } }

.c-list-disc--gutter .c-list-disc__item > * { margin-top: 1.2rem; }

@media screen and (max-width: 599px) { .c-list-disc--gutter .c-list-disc__item > * { margin-top: 0.9rem; } }

/******************************************************************
component - list-order
******************************************************************/
.c-list-order__item { margin-left: 1.5em; list-style: decimal; }

.c-list-order--gutter .c-list-order__item:not(:first-child) { margin-top: 1.2rem; }

@media screen and (max-width: 599px) { .c-list-order--gutter .c-list-order__item:not(:first-child) { margin-top: 0.9rem; } }

.c-list-order--gutter .c-list-order__item > * { margin-top: 1.2rem; }

@media screen and (max-width: 599px) { .c-list-order--gutter .c-list-order__item > * { margin-top: 0.9rem; } }

/******************************************************************
component - list-arrow
******************************************************************/
.c-section--bg-dark .c-list-arrow__item::before { background-color: var(--dark-font-color); }

.c-section--bg-dark .c-list-arrow__item::after { border-top-color: var(--dark-link-color); border-left-color: var(--dark-link-color); }

.c-list-arrow__item { position: relative; padding-left: 10.5px; padding-left: 1.5em; }

.c-list-arrow__item::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; transform: translate(10.5px, 0.8em) rotate(135deg); transform-origin: top left; border-top: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.c-list-arrow__item::after { top: 1px; }

.c-list-arrow__item::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 6px; left: 0; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

/******************************************************************
component - list-arrow-inline
******************************************************************/
.c-section--bg-dark .c-list-arrow-inline__item::before { background-color: var(--dark-font-color); }

.c-section--bg-dark .c-list-arrow-inline__item::after { border-top-color: var(--dark-link-color); border-left-color: var(--dark-link-color); }

.c-list-arrow-inline > *:not(:first-child) { margin-left: 1em; }

.c-list-arrow-inline__item { display: inline-block; position: relative; padding-left: 10.5px; padding-left: 1.5em; }

.c-list-arrow-inline__item::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; transform: translate(10.5px, 0.8em) rotate(135deg); transform-origin: top left; border-top: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.c-list-arrow-inline__item::after { top: 1px; }

.c-list-arrow-inline__item::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 6px; left: 0; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

/******************************************************************
component - define
******************************************************************/
.c-section--bg-dark .c-define__head span { border-left-color: var(--dark-font-color); }

.c-section--bg-dark .c-define--bordersand { border-top-color: var(--dark-border-color); border-bottom-color: var(--dark-border-color); }

.c-section--bg-dark .c-define--border > .c-define__head:not(:first-child) { border-top-color: var(--dark-border-color); }

.c-define__item:not(:first-child) { margin-top: 1rem; }

@media screen and (max-width: 599px) { .c-define__item:not(:first-child) { margin-top: 0.75rem; } }

.c-define__item > *:not(:last-child) { margin-bottom: 0.5rem; }

@media screen and (max-width: 599px) { .c-define__item > *:not(:last-child) { margin-bottom: 0.375rem; } }

.c-define__head { font-weight: bold; font-size: 1rem; padding-bottom: 5px; line-height: 1.6; }

.c-define__head span { display: block; border-left: 4px solid var(--light-button-color); padding-left: .5em; }

.c-define__body:not(:last-child) { margin-bottom: 10px; }

.c-define--bordersand { border-top: 1px solid var(--light-border-color); border-bottom: 1px solid var(--light-border-color); padding-top: 1rem; padding-bottom: 1rem; }

@media screen and (max-width: 599px) { .c-define--bordersand { padding-top: 0.75rem; padding-bottom: 0.75rem; } }

.c-define--border > .c-define__head:not(:first-child) { border-top: 1px solid var(--light-border-color); padding-top: 1rem; }

.c-define--border > .c-define__head:not(:first-child)::after { top: 1rem; }

@media screen and (max-width: 599px) { .c-define--border > .c-define__head:not(:first-child) { padding-top: 0.75rem; }
  .c-define--border > .c-define__head:not(:first-child)::after { top: 0.75rem; }
  .c-define--border > .c-define__body:not(:last-child) { margin-bottom: 0; padding-bottom: 0.75rem; } }

/******************************************************************
component - define-arrow
******************************************************************/
.c-section--bg-dark .c-define-arrow--bordersand { border-top-color: var(--dark-border-color); border-bottom-color: var(--dark-border-color); }

.c-section--bg-dark .c-define-arrow--border > .c-define-arrow__head:not(:first-child) { border-top-color: var(--dark-border-color); }

.c-section--bg-dark .c-define-arrow__head a::before { background-color: var(--dark-font-color); }

.c-section--bg-dark .c-define-arrow__head a::after { border-top-color: var(--dark-link-color); border-left-color: var(--dark-link-color); }

.c-define-arrow__head { padding-bottom: 5px; line-height: 1.6; }

.c-define-arrow__head a { position: relative; font-weight: bold; position: relative; padding-left: 10.5px; padding-left: 1.5em; }

.c-define-arrow__head a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; transform: translate(10.5px, 0.8em) rotate(135deg); transform-origin: top left; border-top: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.c-define-arrow__head a::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 5px; left: 0; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

.c-define-arrow__body:not(:last-child) { margin-bottom: 10px; }

.c-define-arrow--bordersand { border-top: 1px solid var(--light-border-color); border-bottom: 1px solid var(--light-border-color); padding-top: 1rem; padding-bottom: 1rem; }

@media screen and (max-width: 599px) { .c-define-arrow--bordersand { padding-top: 0.75rem; padding-bottom: 0.75rem; } }

.c-define-arrow--border > .c-define-arrow__head:not(:first-child) { border-top: 1px solid var(--light-border-color); padding-top: 1rem; }

.c-define-arrow--border > .c-define-arrow__head:not(:first-child)::after { top: 1rem; }

@media screen and (max-width: 599px) { .c-define-arrow--border > .c-define-arrow__head:not(:first-child) { padding-top: 0.75rem; }
  .c-define-arrow--border > .c-define-arrow__head:not(:first-child)::after { top: 0.75rem; }
  .c-define-arrow--border > .c-define-arrow__body:not(:last-child) { margin-bottom: 0; padding-bottom: 0.75rem; } }

/******************************************************************
component - image
******************************************************************/
.js-image-size-sync > a { display: block; color: inherit; text-decoration: none; }

.js-image-size-sync > a:hover { color: inherit; text-decoration: none; }

.js-image-size-sync.c-image--center > a { margin-right: auto; margin-left: auto; }

.js-image-size-sync.c-image--right > a { margin-left: auto; }

.c-card a .c-image__img::after { border-top-color: #fff; border-right-color: #fff; }

.c-card a .c-image__img::before { background-color: var(--light-button-color); }

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

.c-image--right { text-align: right; }

.c-image > a:hover { text-decoration: none; }

a .c-image__img { position: relative; display: inline-block; position: relative; padding-right: 17px; padding: 0; }

a .c-image__img::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; transform: translate(-10px, 3.5px) rotate(45deg); transform-origin: top right; border-top: 1px solid var(--light-button-color); border-right: 1px solid var(--light-button-color); width: 9px; height: 9px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

a .c-image__img::after { top: auto; bottom: 9px; }

a .c-image__img::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; right: 0; bottom: 0; width: 29px; height: 29px; background-color: #fff; }

.c-image__img { display: block !important; }

.c-image__img img { border-radius: 0 30px; }

@media screen and (max-width: 1000px) { .c-image__img img { border-radius: 0 20px; } }

.c-image__title { display: block; text-align: left; line-height: 1.5; font-weight: bold; font-size: 1.2rem; line-height: 1.6; margin-top: 0.6rem; }

@media screen and (max-width: 599px) { .c-image__title { font-size: 1.08rem; } }

.c-image--center .c-image__title { margin-right: auto; margin-left: auto; }

.c-image--right .c-image__title { margin-left: auto; }

.c-image__title:first-child { margin-bottom: 0.5rem; }

@media screen and (max-width: 599px) { .c-image__title:first-child { margin-bottom: 0.375rem; } }

@media screen and (max-width: 599px) { .c-image__title { margin-top: 0.45rem; } }

.c-image__caption { font-weight: 400; display: block; text-align: left; line-height: 1.5; }

.c-image--center .c-image__caption { margin-right: auto; margin-left: auto; }

.c-image--right .c-image__caption { margin-left: auto; }

.c-image__caption:first-child { margin-bottom: 0.5rem; }

@media screen and (max-width: 599px) { .c-image__caption:first-child { margin-bottom: 0.375rem; } }

.c-image__caption:last-child { margin-top: 0.3rem; }

@media screen and (max-width: 599px) { .c-image__caption:last-child { margin-top: 0.225rem; } }

/******************************************************************
component - image-fix
******************************************************************/
.c-image-fix { display: block; position: relative; padding-top: 75%; }

.c-image-fix--wide { padding-top: 56.25%; }

.c-image-fix--cinema { padding-top: 42.55319%; }

.c-image-fix--square { padding-top: 100%; }

.c-image-fix--border { border: 1px solid #B5C1CC; }

.c-image-fix__inner { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; display: flex; align-items: center; justify-content: center; min-width: 0%; min-height: 0%; background-size: contain; background-position: center center; background-repeat: no-repeat; }

.c-image-fix__inner img { max-width: 100%; max-height: 100%; }

/******************************************************************
component - heading
******************************************************************/
.c-heading1-border { font-weight: 400; border-left: 8px solid var(--title-border-color); padding-left: .5em; font-size: 34px; }

.c-heading1-border:not(:first-child) { margin-top: 2rem; }

@media screen and (max-width: 599px) { .c-heading1-border:not(:first-child) { margin-top: 1.5rem; } }

@media screen and (max-width: 599px) { .c-heading1-border { font-size: 23px; } }

.c-heading2-index { text-align: center; font-weight: 400; font-size: 34px; }

.c-heading2-index:not(:first-child) { margin-top: 2rem; }

@media screen and (max-width: 599px) { .c-heading2-index:not(:first-child) { margin-top: 1.5rem; } }

@media screen and (max-width: 599px) { .c-heading2-index { font-size: 26px; } }

.c-heading2-index-border { font-weight: 400; border-left: 8px solid var(--title-border-color); padding-left: .5em; font-size: 30px; }

.c-heading2-index-border:not(:first-child) { margin-top: 2rem; }

@media screen and (max-width: 599px) { .c-heading2-index-border:not(:first-child) { margin-top: 1.5rem; } }

@media screen and (max-width: 599px) { .c-heading2-index-border { font-size: 23px; } }

.c-section--bg-dark .c-heading2-index-border { border-left-color: var(--dark-font-color); }

.c-heading2 { font-weight: 400; padding-top: .25em; font-size: 38px; border-top: 6px solid var(--title-border-color); }

.c-heading2:not(:first-child) { margin-top: 5rem; }

@media screen and (max-width: 599px) { .c-heading2:not(:first-child) { margin-top: 3.75rem; } }

@media screen and (max-width: 599px) { .c-heading2 { font-size: 28px; } }

.c-section--bg-dark .c-heading2 { border-top-color: var(--dark-font-color); }

.c-heading3 { font-weight: 400; border-left: 6px solid var(--title-border-color); padding-left: .5em; font-size: 30px; }

.c-heading3:not(:first-child) { margin-top: 3rem; }

@media screen and (max-width: 599px) { .c-heading3:not(:first-child) { margin-top: 2.25rem; } }

@media screen and (max-width: 599px) { .c-heading3 { font-size: 23px; } }

.c-section--bg-dark .c-heading3 { border-left-color: var(--dark-font-color); }

.c-heading4 { font-weight: 400; font-size: 26px; }

@media screen and (max-width: 599px) { .c-heading4 { font-size: 21px; } }

.c-heading5 { font-weight: 400; font-size: 20px; }

@media screen and (max-width: 599px) { .c-heading5 { font-size: 18px; } }

.c-heading-organization { padding-bottom: 20px; }

.c-heading-organization span { position: relative; display: block; background-color: var(--light-button-color); color: var(--light2-bg-color); font-weight: 400; text-align: center; font-size: 50px; border-radius: 0 60px; position: relative; padding-bottom: 20px; padding: 1em; }

.c-heading-organization span::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; bottom: 0px; right: 0; left: 0; width: 20px; height: 20px; border-color: var(--light-button-color); border-style: solid; border-top-width: 20px; border-bottom-width: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; }

.c-heading-organization span::after { bottom: -20px; }

@media screen and (max-width: 599px) { .c-heading-organization span { font-size: 30px; border-radius: 0 30px; } }

.c-section--bg-dark .c-heading-organization span { background-color: var(--dark-font-color); color: var(--dark-bg-color); }

.c-section--bg-dark .c-heading-organization span::after { border-top-color: var(--dark-font-color); }

/******************************************************************
component - lead
******************************************************************/
.c-lead1 { font-weight: 300; text-align: center; font-size: 50px; }

.c-lead1:not(:first-child) { margin-top: 2rem; }

@media screen and (max-width: 599px) { .c-lead1:not(:first-child) { margin-top: 1.5rem; } }

@media screen and (max-width: 599px) { .c-lead1 { font-size: 26px; } }

/******************************************************************
component - news-date
******************************************************************/
.c-news-date { text-align: right; }

.c-news-date .c-badge { margin-right: 1em; }

/******************************************************************
component - button-list
******************************************************************/
.c-button-list { display: flex; flex-wrap: wrap; margin-top: -1rem; margin-right: -1rem; }

.c-button-list--center { justify-content: center; }

.c-button-list--right { justify-content: flex-end; }

@media screen and (max-width: 1000px) { .c-button-list.m-center { justify-content: center; }
  .c-button-list.m-column { flex-direction: column; }
  .c-button-list.m-column-center { flex-direction: column; align-items: center; } }

.c-button-list__item { margin-top: 1rem; margin-right: 1rem; display: flex; }

/******************************************************************
component - button
******************************************************************/
.c-button { color: inherit; text-decoration: none; display: inline-block; text-align: center; cursor: pointer; vertical-align: middle; box-sizing: border-box; border: 1px solid transparent; line-height: 1.5; padding: 0.5em 1.5em; }

.c-button:hover { color: inherit; text-decoration: none; }

.c-button--radius { border-radius: 6px; }

.c-button--circle { border-radius: 3em; }

.c-button--full { display: block; width: 100%; padding: 0.5em 1em; min-width: auto; }

.c-button--border { position: relative; display: flex; align-items: center; text-align: left; width: 100%; font-weight: 600; border-radius: 0 16px 0 16px; position: relative; padding-left: 24.5px; padding-left: 1.5em; padding: 0.75em 1.5em 0.75em 2.5em; border: 2px solid var(--light-button-color); }

.c-button--border:hover { transform: scale(1.03); }

.c-button--border::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; transform: translate(24.5px, 1.5px) rotate(135deg); transform-origin: top left; border-top: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.c-button--border::after { top: 1px; }

.c-button--border::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 14px; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

.c-section--bg-dark .c-button--border { border: 2px solid var(--dark-font-color); }

.c-section--bg-dark .c-button--border::before { background-color: var(--dark-font-color); }

.c-section--bg-dark .c-button--border::after { border-top-color: var(--dark-link-color); border-left-color: var(--dark-link-color); }

.c-button--border-bottom { position: relative; display: flex; align-items: center; text-align: left; width: 100%; font-weight: 600; border-radius: 0 16px 0 16px; position: relative; padding-left: 25px; padding-left: 1.5em; padding: 0.75em 1.5em 0.75em 2.5em; border: 2px solid var(--light-button-color); }

.c-button--border-bottom:hover { transform: scale(1.03); }

.c-button--border-bottom::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; transform: translate(18px, 0.75px) rotate(-45deg); transform-origin: top left; border-bottom: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.c-button--border-bottom::after { top: 1px; }

.c-button--border-bottom::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 14px; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

.c-section--bg-dark .c-button--border-bottom { border: 2px solid var(--dark-font-color); }

.c-section--bg-dark .c-button--border-bottom::before { background-color: var(--dark-font-color); }

.c-section--bg-dark .c-button--border-bottom::after { border-bottom-color: var(--dark-link-color); border-left-color: var(--dark-link-color); }

.c-button--basic { position: relative; font-weight: 500; border-radius: 0 16px 0 16px; padding: 0.75em 3.5em 0.75em 1.5em; background-color: var(--light-button-color); color: #fff !important; }

.c-button--basic:hover { transform: scale(1.03); }

.c-button--basic::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; right: 16px; bottom: 0; width: 22px; height: 8px; transform: skew(40deg); border-right: 1px solid #fff; border-bottom: 1px solid #fff; }

.c-button--basic:hover { color: #fff !important; }

.c-button--basic::after { border-right: 1px solid #fff; border-bottom: 1px solid #fff; }

.c-button--basic-hino { background-color: var(--hino-bg-color); color: #fff !important; }

.c-button--basic-hino:hover { color: #fff !important; }

.c-button--basic-hino::after { border-right: 1px solid #fff; border-bottom: 1px solid #fff; }

.c-button--basic-shibuya { background-color: var(--shibuya-bg-color); color: #fff !important; }

.c-button--basic-shibuya:hover { color: #fff !important; }

.c-button--basic-shibuya::after { border-right: 1px solid #fff; border-bottom: 1px solid #fff; }

.c-section--bg-dark .c-button--basic { background-color: #fff; color: var(--dark-link-color) !important; }

.c-section--bg-dark .c-button--basic:hover { color: var(--dark-link-color) !important; }

.c-section--bg-dark .c-button--basic::after { border-right: 1px solid var(--dark-link-color); border-bottom: 1px solid var(--dark-link-color); }

.c-section--bg-dark .c-button--basic-hino { background-color: #fff; color: var(--hino-font-color) !important; }

.c-section--bg-dark .c-button--basic-hino:hover { color: var(--hino-font-color) !important; }

.c-section--bg-dark .c-button--basic-hino::after { border-right: 1px solid var(--hino-font-color); border-bottom: 1px solid var(--hino-font-color); }

.c-section--bg-dark .c-button--basic-shibuya { background-color: #fff; color: var(--shibuya-font-color) !important; }

.c-section--bg-dark .c-button--basic-shibuya:hover { color: var(--shibuya-font-color) !important; }

.c-section--bg-dark .c-button--basic-shibuya::after { border-right: 1px solid var(--shibuya-font-color); border-bottom: 1px solid var(--shibuya-font-color); }

.l-footer .c-button--basic-hino { background-color: #fff; color: var(--hino-font-color) !important; }

.l-footer .c-button--basic-hino:hover { color: var(--hino-font-color) !important; }

.l-footer .c-button--basic-hino::after { border-right: 1px solid var(--hino-font-color); border-bottom: 1px solid var(--hino-font-color); }

.l-footer .c-button--basic-shibuya { background-color: #fff; color: var(--shibuya-font-color) !important; }

.l-footer .c-button--basic-shibuya:hover { color: var(--shibuya-font-color) !important; }

.l-footer .c-button--basic-shibuya::after { border-right: 1px solid var(--shibuya-font-color); border-bottom: 1px solid var(--shibuya-font-color); }

.c-button:disabled { opacity: 0.6; cursor: not-allowed; }

/******************************************************************
component - badge
******************************************************************/
.c-badge { display: inline-block; text-align: center; vertical-align: 1px; box-sizing: border-box; line-height: 1; font-size: 13px; font-weight: bold; border: 1px solid transparent; padding: 0.35em 0.5em 0.35em; border-radius: 3px; }

.c-badge--full { display: block; width: 100%; }

.c-badge--news { min-width: 6em; border: 1px solid var(--font-color); color: var(--font-color); }

.c-badge--news-hino { min-width: 6em; border-color: var(--hino-font-color); color: var(--hino-font-color); }

.c-badge--news-shibuya { min-width: 6em; border-color: var(--shibuya-font-color); color: var(--shibuya-font-color); }

/******************************************************************
component - youtube
******************************************************************/
.c-youtube { width: 480px; max-width: 100%; }

.c-youtube--center { margin-right: auto; margin-left: auto; }

.c-youtube--right { margin-left: auto; }

.c-youtube--full { width: 100%; }

.c-youtube__title { display: block; text-align: left; line-height: 1.5; font-weight: bold; font-size: 1.2rem; line-height: 1.6; margin-top: 0.6rem; }

@media screen and (max-width: 599px) { .c-youtube__title { font-size: 1.08rem; } }

.c-youtube__title:first-child { margin-bottom: 0.5rem; }

@media screen and (max-width: 599px) { .c-youtube__title:first-child { margin-bottom: 0.375rem; } }

@media screen and (max-width: 599px) { .c-youtube__title { margin-top: 0.45rem; } }

.c-youtube__caption { display: block; text-align: left; line-height: 1.5; }

.c-youtube__caption:first-child { margin-bottom: 0.5rem; }

@media screen and (max-width: 599px) { .c-youtube__caption:first-child { margin-bottom: 0.375rem; } }

.c-youtube__caption:last-child { margin-top: 0.3rem; }

@media screen and (max-width: 599px) { .c-youtube__caption:last-child { margin-top: 0.225rem; } }

.c-youtube__inner { position: relative; padding-top: 56.25%; display: block; border-radius: 0 30px; overflow: hidden; }

.c-youtube__inner > * { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

.c-youtube__overlay { position: absolute; z-index: +1; top: 0; left: 0; width: 100%; height: 100%; }

/******************************************************************
component - animate
******************************************************************/
/*! animate.css -http://daneden.me/animate Version - 3.7.0 Licensed under the MIT license - http://opensource.org/licenses/MIT Copyright (c) 2018 Daniel Eden */
@-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; 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; 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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble { from { -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

@-webkit-keyframes jello { from, 11.1%, to { -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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; transform-origin: center; }

@keyframes heartBeat { 0% { -webkit-transform: scale(1);
    transform: scale(1); }
  14% { -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  28% { -webkit-transform: scale(1);
    transform: scale(1); }
  42% { -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  70% { -webkit-transform: scale(1);
    transform: scale(1); } }

.heartBeat { -webkit-animation-name: heartBeat; animation-name: heartBeat; -webkit-animation-duration: 1.3s; animation-duration: 1.3s; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; }

@-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-duration: 0.75s; animation-duration: 0.75s; -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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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-duration: 0.75s; animation-duration: 0.75s; -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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

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

@keyframes fadeInUp { from { opacity: 0;
    transform: translate3d(0, 150px, 0); }
  to { opacity: 1;
    transform: translate3d(0, 0, 0); } }

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% { -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to { -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip { from { -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% { -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to { -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -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-duration: 0.75s; animation-duration: 0.75s; -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-animation-duration: 0.75s; animation-duration: 0.75s; -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); }
  to { -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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); }
  to { -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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-duration: 2s; animation-duration: 2s; -webkit-animation-name: hinge; animation-name: hinge; }

@keyframes jackInTheBox { from { opacity: 0;
    -webkit-transform: scale(0.1) rotate(25deg);
    transform: scale(0.1) rotate(25deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% { -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg); }
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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; }

@keyframes zoomIn { from { opacity: 0;
    -webkit-transform: scale3d(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8); }
  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; }

@keyframes slideInRight { from { transform: translate3d(100%, -50%, 0);
    visibility: visible; }
  to { transform: translate3d(0, -50%, 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; }

[data-animate-groups="true"] [data-animate-group], [data-animate="true"], .animated { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }

[data-animate-groups="true"] [data-animate-group].infinite, [data-animate="true"].infinite, .animated.infinite { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; }

.animated.delay-1s { -webkit-animation-delay: 1s; animation-delay: 1s; }

.animated.delay-2s { -webkit-animation-delay: 2s; animation-delay: 2s; }

.animated.delay-3s { -webkit-animation-delay: 3s; animation-delay: 3s; }

.animated.delay-4s { -webkit-animation-delay: 4s; animation-delay: 4s; }

.animated.delay-5s { -webkit-animation-delay: 5s; animation-delay: 5s; }

.animated.fast { -webkit-animation-duration: 800ms; animation-duration: 800ms; }

.animated.faster { -webkit-animation-duration: 500ms; animation-duration: 500ms; }

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

.animated.slower { -webkit-animation-duration: 3s; animation-duration: 3s; }

@media (prefers-reduced-motion) { .animated { -webkit-animation: unset !important; animation: unset !important; -webkit-transition: none !important; transition: none !important; } }

[data-animate-group], [data-animate], .js-wow { opacity: 0; }

/******************************************************************
project - index-news
******************************************************************/
@media print, screen and (min-width: 1001px) { .p-index-news { display: flex; align-items: center; } }

.p-index-news__title { flex-shrink: 0; white-space: nowrap; text-align: center; padding: 0 50px; }

@media print, screen and (max-width: 1230px) { .p-index-news__title { padding: 0 4.06504vw; } }

@media screen and (max-width: 1000px) { .p-index-news__title { margin-bottom: 20px; } }

.p-index-news__title h2 { font-weight: 400; font-size: 32px; }

.p-index-news__title h2 span { display: block; font-size: 12px; font-family: 'Noto Serif JP', serif; }

.p-index-news__title p { margin-top: .8em; }

.p-index-news__title p a { display: inline-block; position: relative; padding-left: 10.5px; padding-left: 1.5em; }

.p-index-news__title p a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; transform: translate(10.5px, 0.8em) rotate(135deg); transform-origin: top left; border-top: 1px solid var(--light2-bg-color); border-left: 1px solid var(--light2-bg-color); width: 5px; height: 5px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

.p-index-news__title p a::after { top: 1px; }

.p-index-news__title p a::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 6px; left: 0; width: 16px; height: 16px; background-color: var(--light-button-color); border-radius: 100%; }

@media print, screen and (min-width: 1001px) { .p-index-news__body { border-left: 1px solid var(--light-border-color); padding: 0 0 0 80px; } }

@media print, screen and (max-width: 1230px) { .p-index-news__body { padding: 0 0 0 6.50407vw; } }

@media screen and (max-width: 1000px) { .p-index-news__body { padding: 0; } }

/******************************************************************
project - index-highlight
******************************************************************/
.p-index-highlight { position: relative; border-radius: 0 50px; padding: 60px 60px 60px 60px; margin-top: 100px; background-color: var(--light-button-color); color: var(--dark-font-color); }

.p-index-highlight:last-child:not(:first-child) { margin-top: 150px; }

@media screen and (max-width: 1000px) { .p-index-highlight { margin-top: 40px; border-radius: 0 20px; padding: 40px 20px 20px 20px; }
  .p-index-highlight:last-child:not(:first-child) { margin-top: 50px; }
  .p-index-highlight > *:not(:last-child) { margin-bottom: 20px; } }

.p-index-highlight a { text-decoration: none; }

.p-index-highlight a:hover { text-decoration: none; }

.p-index-highlight a { color: var(--dark-font-color); }

.p-index-highlight .ico-download { fill: var(--dark-font-color); }

.p-index-highlight__slick a { color: var(--dark-font-color); }

.p-index-highlight .slick-prev { background-color: var(--head-submenu-hino-color) !important; }

.p-index-highlight .slick-next { background-color: var(--head-submenu-hino-color) !important; }

.c-section--bg-dark .p-index-highlight--hino { background-color: var(--light-bg-color); }

.c-section--bg-dark .p-index-highlight--shibuya { background-color: var(--light-bg-color); }

.p-index-highlight--hino { background-color: #fff; color: var(--light-font-color); }

.p-index-highlight--hino .p-index-highlight__title { color: var(--hino-font-color); border: 2px solid var(--hino-font-color); }

.p-index-highlight--hino .p-index-highlight__pamphlet > * { color: var(--hino-font-color) !important; }

.p-index-highlight--hino .p-index-highlight__pamphlet .ico-download { fill: var(--hino-font-color); }

.p-index-highlight--hino .p-index-highlight__slick a { color: var(--light-font-color); }

.p-index-highlight--hino .slick-prev { background-color: var(--hino-bg-color) !important; }

.p-index-highlight--hino .slick-next { background-color: var(--hino-bg-color) !important; }

.p-index-highlight--hino .c-image__img::after { border-color: var(--hino-bg-color); }

.p-index-highlight--shibuya { background-color: #fff; color: var(--light-font-color); }

.p-index-highlight--shibuya .p-index-highlight__title { color: var(--shibuya-font-color); border: 2px solid var(--shibuya-font-color); }

.p-index-highlight--shibuya .p-index-highlight__pamphlet > * { color: var(--shibuya-font-color) !important; }

.p-index-highlight--shibuya .p-index-highlight__pamphlet .ico-download { fill: var(--shibuya-font-color); }

.p-index-highlight--shibuya .p-index-highlight__slick a { color: var(--light-font-color); }

.p-index-highlight--shibuya .slick-prev { background-color: var(--shibuya-bg-color) !important; }

.p-index-highlight--shibuya .slick-next { background-color: var(--shibuya-bg-color) !important; }

.p-index-highlight--shibuya .c-image__img::after { border-color: var(--shibuya-bg-color); }

.p-index-highlight__title { position: absolute; top: 0; left: 60px; transform: translateY(-50%); background-color: #fff; padding: .5em 2em; }

@media screen and (max-width: 1000px) { .p-index-highlight__title { left: 20px; font-size: 14px; } }

@media print, screen and (min-width: 1001px) { .p-index-highlight__body { position: relative; display: flex; justify-content: space-between; } }

@media screen and (max-width: 1000px) { .p-index-highlight__body > *:not(:last-child) { margin-bottom: 20px; } }

.p-index-highlight__slick { align-self: flex-start; position: relative; }

@media print, screen and (min-width: 1001px) { .p-index-highlight__slick { margin-right: 60px; width: calc(100% - 310px - 60px); } }

@media print, screen and (min-width: 1001px) { .p-index-highlight__pamphlet { width: 310px; margin-top: -120px; flex-shrink: 0; } }

.p-index-highlight__pamphlet > * { font-weight: 500; }

.p-index-highlight__pamphlet-img { display: block; text-align: center; }

@media screen and (max-width: 1000px) { .p-index-highlight__pamphlet-img { text-align: center; }
  .p-index-highlight__pamphlet-img img { max-width: 80%; } }

.p-index-highlight__pamphlet-caption { margin-top: 6px; display: block; text-align: center; }

@media print, screen and (min-width: 1001px) { .p-index-highlight__btn { position: absolute; bottom: 0; right: 60px; transform: translateY(50%); } }

@media screen and (max-width: 1000px) { .p-index-highlight__btn li { width: 100%; }
  .p-index-highlight__btn a { width: 100%; max-width: 400px; margin-left: auto; margin-right: auto; } }

/******************************************************************
project - index-theme
******************************************************************/
@media print, screen and (min-width: 1001px) { .p-index-theme { display: flex; flex-direction: row-reverse; align-items: center; } }

.p-index-theme__title { font-feature-settings: "palt"; font-weight: 400; font-size: 34px; }

.p-index-theme__title strong { display: block; font-weight: 400; font-size: 50px; }

@media screen and (max-width: 1000px) { .p-index-theme__title { font-size: 20px; }
  .p-index-theme__title strong { font-size: 34px; } }

.p-index-theme__body { border-top: 1px solid var(--dark-border-color); margin-top: 40px; padding-top: 30px; }

@media screen and (max-width: 1000px) { .p-index-theme__body { margin-top: 24px; padding-top: 20px; } }

.p-index-theme__body > *:not(:last-child) { margin-bottom: 1.5rem; }

@media screen and (max-width: 599px) { .p-index-theme__body > *:not(:last-child) { margin-bottom: 1.125rem; } }

.p-index-theme__img { flex-shrink: 0; }

@media print, screen and (min-width: 1001px) { .p-index-theme__img { margin-right: 80px; } }

@media screen and (max-width: 1000px) { .p-index-theme__img { margin-top: 20px; text-align: center; }
  .p-index-theme__img img { max-width: 80%; } }

/******************************************************************
project - breadcrumb
******************************************************************/
.p-breadcrumb::after { content: ""; display: block; clear: both; }

.p-breadcrumb__item { float: left; padding-right: 0.5em; font-size: 85%; }

.p-breadcrumb__item a { color: inherit; }

.p-breadcrumb__item:not(:last-child)::after { content: '>'; padding-left: 0.5em; }

@media screen and (max-width: 599px) { .p-breadcrumb { display: none; } }

/******************************************************************
project - carousel-slick
******************************************************************/
.slick-slider { box-sizing: border-box; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.slick-slider { display: none; }

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

.slick-full { height: 550px; opacity: 0; overflow: hidden; transition-property: opacity; transition-duration: 0.8s; transition-delay: 0.4s; }

@media screen and (max-width: 1000px) { .slick-full { height: 100vh; } }

.slick-full .slick-list { border-radius: 0 50px 0 50px; }

@media screen and (max-width: 1000px) { .slick-full .slick-list { border-radius: 0; } }

.slick-full.slick-initialized { height: auto; opacity: 1; }

.slick-banner { position: relative; }

.slick-gallery-main-inner { display: none; position: relative; margin-bottom: 2rem; }

.slick-gallery-main-inner .slick-list { border-radius: 0 30px; overflow: hidden; }

@media screen and (max-width: 599px) { .slick-gallery-main-inner { margin-bottom: 1.125rem; } }

.slick-gallery-thumb-inner { display: none; position: relative; overflow: hidden; }

.slick-gallery-thumb-inner img { border-radius: 0 30px; cursor: pointer; }

.slick-gallery-thumb-inner .slick-slide img { transition-property: opacity; transition-duration: 0.3s; opacity: 0.5; }

.slick-gallery-thumb-inner .slick-slide.slick-current img { opacity: 1; }

.slick-banner__inner, .slick-pamphlet { display: none; }

.slick-banner__inner a, .slick-pamphlet a { text-decoration: none; }

.slick-gallery-main-inner.slick-initialized, .slick-gallery-thumb-inner.slick-initialized, .slick-banner__inner.slick-initialized, .slick-pamphlet.slick-initialized { display: block; }

.slick-gallery-main-inner .slick-slide, .l-visual__inner .slick-slide { line-height: 0; }

.slick-gallery-main-inner .slick-slide img, .l-visual__inner .slick-slide img { width: 100%; }

.slick-gallery-main-inner .slick-slide a, .l-visual__inner .slick-slide a { display: block; outline: 0; }

.slick-gallery-thumb-inner .slick-slider, .slick-banner__inner .slick-slider, .slick-pamphlet .slick-slider { overflow: hidden; }

.slick-gallery-thumb-inner .slick-list, .slick-banner__inner .slick-list, .slick-pamphlet .slick-list { margin-left: -1rem; margin-right: -1rem; }

@media screen and (max-width: 599px) { .slick-gallery-thumb-inner .slick-list, .slick-banner__inner .slick-list, .slick-pamphlet .slick-list { margin-left: -0.375rem; margin-right: -0.375rem; } }

.slick-gallery-thumb-inner .slick-track, .slick-banner__inner .slick-track, .slick-pamphlet .slick-track { display: flex; }

.slick-gallery-thumb-inner .slick-slide, .slick-banner__inner .slick-slide, .slick-pamphlet .slick-slide { float: none; margin-left: 1rem; margin-right: 1rem; line-height: 0; }

@media screen and (max-width: 599px) { .slick-gallery-thumb-inner .slick-slide, .slick-banner__inner .slick-slide, .slick-pamphlet .slick-slide { margin-left: 0.375rem; margin-right: 0.375rem; } }

.slick-gallery-thumb-inner .slick-slide img, .slick-banner__inner .slick-slide img, .slick-pamphlet .slick-slide img { width: 100%; }

.slick-gallery-thumb-inner .slick-slide a, .slick-banner__inner .slick-slide a, .slick-pamphlet .slick-slide a { display: block; outline: 0; }

.l-visual__inner .slick-prev, .l-visual__inner .slick-next { position: absolute; top: 50%; transform: translate(0, -50%) translateZ(0); outline: none; overflow: hidden; text-indent: -999px; width: 80px; height: 80px; }

@media screen and (max-width: 599px) { .l-visual__inner .slick-prev, .l-visual__inner .slick-next { width: 40px; height: 40px; } }

.l-visual__inner .slick-prev { z-index: +1; left: -10px; position: relative; position: absolute; }

.l-visual__inner .slick-prev::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(12px, 0) rotate(225deg); border-top: 1px solid #707070; border-right: 1px solid #707070; width: 50px; height: 50px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

@media screen and (max-width: 599px) { .l-visual__inner .slick-prev { left: -8px; position: relative; position: absolute; }
  .l-visual__inner .slick-prev::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(4.5px, 0) rotate(225deg); border-top: 1px solid #707070; border-right: 1px solid #707070; width: 20px; height: 20px; transition-property: top, right, bottom, left; transition-duration: 0.3s; } }

@media print, screen and (min-width: 600px) { .l-visual__inner .slick-prev { transition-property: transform; transition-duration: 0.3s; }
  .l-visual__inner .slick-prev:hover { transform: translate(-5px, -50%) translateZ(0); } }

.l-visual__inner .slick-next { right: -10px; position: relative; position: absolute; }

.l-visual__inner .slick-next::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(-12px, 0) rotate(45deg); border-top: 1px solid #707070; border-right: 1px solid #707070; width: 50px; height: 50px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

@media screen and (max-width: 599px) { .l-visual__inner .slick-next { right: -8px; position: relative; position: absolute; }
  .l-visual__inner .slick-next::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(-4.5px, 0) rotate(45deg); border-top: 1px solid #707070; border-right: 1px solid #707070; width: 20px; height: 20px; transition-property: top, right, bottom, left; transition-duration: 0.3s; } }

@media print, screen and (min-width: 600px) { .l-visual__inner .slick-next { transition-property: transform; transition-duration: 0.3s; }
  .l-visual__inner .slick-next:hover { transform: translate(5px, -50%) translateZ(0); } }

.slick-gallery-main-inner .slick-prev, .slick-gallery-main-inner .slick-next, .slick-banner__inner .slick-prev, .slick-banner__inner .slick-next, .slick-pamphlet .slick-prev, .slick-pamphlet .slick-next { position: absolute; top: 50%; transform: translate(0, -50%) translateZ(0); outline: none; overflow: hidden; text-indent: -999px; width: 30px; height: 30px; }

@media screen and (max-width: 599px) { .slick-gallery-main-inner .slick-prev, .slick-gallery-main-inner .slick-next, .slick-banner__inner .slick-prev, .slick-banner__inner .slick-next, .slick-pamphlet .slick-prev, .slick-pamphlet .slick-next { width: 20px; height: 20px; } }

.slick-gallery-main-inner .slick-prev, .slick-banner__inner .slick-prev, .slick-pamphlet .slick-prev { z-index: +1; left: -15px; position: relative; position: absolute; width: 30px; height: 30px; border-radius: 100%; background: var(--light-button-color); }

.slick-gallery-main-inner .slick-prev::after, .slick-banner__inner .slick-prev::after, .slick-pamphlet .slick-prev::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(2px, 0) rotate(225deg); border-top: 1px solid #fff; border-right: 1px solid #fff; width: 10px; height: 10px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

@media screen and (max-width: 599px) { .slick-gallery-main-inner .slick-prev, .slick-banner__inner .slick-prev, .slick-pamphlet .slick-prev { left: -15px; position: relative; position: absolute; width: 30px; height: 30px; }
  .slick-gallery-main-inner .slick-prev::after, .slick-banner__inner .slick-prev::after, .slick-pamphlet .slick-prev::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(2px, 0) rotate(225deg); border-top: 1px solid #fff; border-right: 1px solid #fff; width: 10px; height: 10px; transition-property: top, right, bottom, left; transition-duration: 0.3s; } }

@media print, screen and (min-width: 600px) { .slick-gallery-main-inner .slick-prev, .slick-banner__inner .slick-prev, .slick-pamphlet .slick-prev { transition-property: transform; transition-duration: 0.3s; }
  .slick-gallery-main-inner .slick-prev:hover, .slick-banner__inner .slick-prev:hover, .slick-pamphlet .slick-prev:hover { transform: translate(-5px, -50%) translateZ(0); } }

.slick-gallery-main-inner .slick-next, .slick-banner__inner .slick-next, .slick-pamphlet .slick-next { right: -15px; position: relative; position: absolute; width: 30px; height: 30px; border-radius: 100%; background: var(--light-button-color); }

.slick-gallery-main-inner .slick-next::after, .slick-banner__inner .slick-next::after, .slick-pamphlet .slick-next::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(-2px, 0) rotate(45deg); border-top: 1px solid #fff; border-right: 1px solid #fff; width: 10px; height: 10px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

@media screen and (max-width: 599px) { .slick-gallery-main-inner .slick-next, .slick-banner__inner .slick-next, .slick-pamphlet .slick-next { right: -15px; position: relative; position: absolute; width: 30px; height: 30px; }
  .slick-gallery-main-inner .slick-next::after, .slick-banner__inner .slick-next::after, .slick-pamphlet .slick-next::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(-2px, 0) rotate(45deg); border-top: 1px solid #fff; border-right: 1px solid #fff; width: 10px; height: 10px; transition-property: top, right, bottom, left; transition-duration: 0.3s; } }

@media print, screen and (min-width: 600px) { .slick-gallery-main-inner .slick-next, .slick-banner__inner .slick-next, .slick-pamphlet .slick-next { transition-property: transform; transition-duration: 0.3s; }
  .slick-gallery-main-inner .slick-next:hover, .slick-banner__inner .slick-next:hover, .slick-pamphlet .slick-next:hover { transform: translate(5px, -50%) translateZ(0); } }

.c-section--bg-dark .slick-gallery-main .slick-prev, .c-section--bg-dark .slick-gallery-main .slick-next, .c-section--bg-dark .slick-banner__inner .slick-prev, .c-section--bg-dark .slick-banner__inner .slick-next { background: var(--dark-font-color); }

.c-section--bg-dark .slick-gallery-main .slick-prev::after, .c-section--bg-dark .slick-gallery-main .slick-next::after, .c-section--bg-dark .slick-banner__inner .slick-prev::after, .c-section--bg-dark .slick-banner__inner .slick-next::after { border-color: var(--dark-link-color); }

.l-visual__inner .slick-dots { position: absolute; left: 50%; transform: translate(-50%, 0); display: flex; justify-content: center; bottom: 20px; height: 12px; }

@media screen and (max-width: 599px) { .l-visual__inner .slick-dots { bottom: 12px; height: 8px; } }

.l-visual__inner .slick-dots li { margin: 0 8px; }

@media screen and (max-width: 599px) { .l-visual__inner .slick-dots li { margin: 0 6px; } }

.l-visual__inner .slick-dots li button { display: block; outline: none; transition-property: background; transition-duration: 0.3s; overflow: hidden; text-indent: -999px; background: #fff; border-radius: 100%; width: 10px; height: 10px; }

@media screen and (max-width: 599px) { .l-visual__inner .slick-dots li button { width: 8px; height: 8px; } }

.l-visual__inner .slick-dots li.slick-active button { background: var(--light-button-color); }

/******************************************************************
utility - mediaQuery
******************************************************************/
.u-sp-media { display: none; }

@media screen and (max-width: 599px) { .u-pc-media { display: none; }
  .u-sp-media { display: block; }
  img.u-sp-media { display: inline-block; }
  br.u-sp-media { display: inline-block; }
  table.u-sp-media { display: table; } }

.u-se-media { display: none; }

/******************************************************************
utility - display
******************************************************************/
.u-block { display: block; }

.u-none { display: none; }

.u-inline { display: inline; }

.u-inline-block { display: inline-block; }

.u-table { display: table; }

.u-table-row { display: table-row; }

.u-table-cell { display: table-cell; }

.u-flex { display: flex; }

.u-inline-flex { display: inline-flex; }

@media screen and (max-width: 599px) { .u-sp-block { display: block; }
  .u-sp-none { display: none; }
  .u-sp-inline { display: inline; }
  .u-sp-inline-block { display: inline-block; }
  .u-sp-table { display: table; }
  .u-sp-table-row { display: table-row; }
  .u-sp-table-cell { display: table-cell; }
  .u-sp-flex { display: flex; }
  .u-sp-inline-flex { display: inline-flex; } }

/******************************************************************
utility - display-off
******************************************************************/
.u-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); }

@media screen and (max-width: 599px) { .u-sp-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); } }

/******************************************************************
utility - text-align
******************************************************************/
.u-center { text-align: center; }

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

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

@media screen and (max-width: 599px) { .u-sp-center { text-align: center; }
  .u-sp-right { text-align: right; }
  .u-sp-left { text-align: left; } }

/******************************************************************
utility - over-opacity
******************************************************************/
.u-over-opacity { transition-property: opacity; transition-duration: 0.3s; }

.u-over-opacity:hover { opacity: 0.7; }

/******************************************************************
utility - over-brightness
******************************************************************/
.u-over-brightness { transition-property: filter; transition-duration: 0.3s; }

.u-over-brightness:hover { filter: brightness(108%); }

/******************************************************************
utility - icon-blank
******************************************************************/
.u-icon-blank { margin-left: 0.2em; }

/******************************************************************
utility - ani-duration
******************************************************************/
.u-ani-duration0 { animation-duration: 0 !important; }

.u-ani-duration01s { animation-duration: 0.1s !important; }

.u-ani-duration02s { animation-duration: 0.2s !important; }

.u-ani-duration03s { animation-duration: 0.3s !important; }

.u-ani-duration04s { animation-duration: 0.4s !important; }

.u-ani-duration05s { animation-duration: 0.5s !important; }

.u-ani-duration06s { animation-duration: 0.6s !important; }

.u-ani-duration07s { animation-duration: 0.7s !important; }

.u-ani-duration08s { animation-duration: 0.8s !important; }

.u-ani-duration09s { animation-duration: 0.9s !important; }

.u-ani-duration10s { animation-duration: 1s !important; }

.u-ani-duration11s { animation-duration: 1.1s !important; }

.u-ani-duration12s { animation-duration: 1.2s !important; }

.u-ani-duration13s { animation-duration: 1.3s !important; }

.u-ani-duration14s { animation-duration: 1.4s !important; }

.u-ani-duration15s { animation-duration: 1.5s !important; }

.u-ani-duration16s { animation-duration: 1.6s !important; }

.u-ani-duration17s { animation-duration: 1.7s !important; }

.u-ani-duration18s { animation-duration: 1.8s !important; }

.u-ani-duration19s { animation-duration: 1.9s !important; }

.u-ani-duration20s { animation-duration: 2s !important; }

.u-ani-duration21s { animation-duration: 2.1s !important; }

.u-ani-duration22s { animation-duration: 2.2s !important; }

.u-ani-duration23s { animation-duration: 2.3s !important; }

.u-ani-duration24s { animation-duration: 2.4s !important; }

.u-ani-duration25s { animation-duration: 2.5s !important; }

.u-ani-duration26s { animation-duration: 2.6s !important; }

.u-ani-duration27s { animation-duration: 2.7s !important; }

.u-ani-duration28s { animation-duration: 2.8s !important; }

.u-ani-duration29s { animation-duration: 2.9s !important; }

.u-ani-duration30s { animation-duration: 3s !important; }

@media screen and (max-width: 599px) { .u-sp-ani-duration0 { animation-duration: 0 !important; }
  .u-sp-ani-duration01s { animation-duration: 0.1s !important; }
  .u-sp-ani-duration02s { animation-duration: 0.2s !important; }
  .u-sp-ani-duration03s { animation-duration: 0.3s !important; }
  .u-sp-ani-duration04s { animation-duration: 0.4s !important; }
  .u-sp-ani-duration05s { animation-duration: 0.5s !important; }
  .u-sp-ani-duration06s { animation-duration: 0.6s !important; }
  .u-sp-ani-duration07s { animation-duration: 0.7s !important; }
  .u-sp-ani-duration08s { animation-duration: 0.8s !important; }
  .u-sp-ani-duration09s { animation-duration: 0.9s !important; }
  .u-sp-ani-duration10s { animation-duration: 1s !important; }
  .u-sp-ani-duration11s { animation-duration: 1.1s !important; }
  .u-sp-ani-duration12s { animation-duration: 1.2s !important; }
  .u-sp-ani-duration13s { animation-duration: 1.3s !important; }
  .u-sp-ani-duration14s { animation-duration: 1.4s !important; }
  .u-sp-ani-duration15s { animation-duration: 1.5s !important; }
  .u-sp-ani-duration16s { animation-duration: 1.6s !important; }
  .u-sp-ani-duration17s { animation-duration: 1.7s !important; }
  .u-sp-ani-duration18s { animation-duration: 1.8s !important; }
  .u-sp-ani-duration19s { animation-duration: 1.9s !important; }
  .u-sp-ani-duration20s { animation-duration: 2s !important; }
  .u-sp-ani-duration21s { animation-duration: 2.1s !important; }
  .u-sp-ani-duration22s { animation-duration: 2.2s !important; }
  .u-sp-ani-duration23s { animation-duration: 2.3s !important; }
  .u-sp-ani-duration24s { animation-duration: 2.4s !important; }
  .u-sp-ani-duration25s { animation-duration: 2.5s !important; }
  .u-sp-ani-duration26s { animation-duration: 2.6s !important; }
  .u-sp-ani-duration27s { animation-duration: 2.7s !important; }
  .u-sp-ani-duration28s { animation-duration: 2.8s !important; }
  .u-sp-ani-duration29s { animation-duration: 2.9s !important; }
  .u-sp-ani-duration30s { animation-duration: 3s !important; } }

/******************************************************************
utility - ani-delay
******************************************************************/
.u-ani-delay0 { animation-delay: 0 !important; }

.u-ani-delay0::before, .u-ani-delay0::after { animation-delay: 0 !important; }

.u-ani-delay01s { animation-delay: 0.1s !important; }

.u-ani-delay01s::before, .u-ani-delay01s::after { animation-delay: 0.1s !important; }

.u-ani-delay02s { animation-delay: 0.2s !important; }

.u-ani-delay02s::before, .u-ani-delay02s::after { animation-delay: 0.2s !important; }

.u-ani-delay03s { animation-delay: 0.3s !important; }

.u-ani-delay03s::before, .u-ani-delay03s::after { animation-delay: 0.3s !important; }

.u-ani-delay04s { animation-delay: 0.4s !important; }

.u-ani-delay04s::before, .u-ani-delay04s::after { animation-delay: 0.4s !important; }

.u-ani-delay05s { animation-delay: 0.5s !important; }

.u-ani-delay05s::before, .u-ani-delay05s::after { animation-delay: 0.5s !important; }

.u-ani-delay06s { animation-delay: 0.6s !important; }

.u-ani-delay06s::before, .u-ani-delay06s::after { animation-delay: 0.6s !important; }

.u-ani-delay07s { animation-delay: 0.7s !important; }

.u-ani-delay07s::before, .u-ani-delay07s::after { animation-delay: 0.7s !important; }

.u-ani-delay08s { animation-delay: 0.8s !important; }

.u-ani-delay08s::before, .u-ani-delay08s::after { animation-delay: 0.8s !important; }

.u-ani-delay09s { animation-delay: 0.9s !important; }

.u-ani-delay09s::before, .u-ani-delay09s::after { animation-delay: 0.9s !important; }

.u-ani-delay10s { animation-delay: 1s !important; }

.u-ani-delay10s::before, .u-ani-delay10s::after { animation-delay: 1s !important; }

.u-ani-delay11s { animation-delay: 1.1s !important; }

.u-ani-delay11s::before, .u-ani-delay11s::after { animation-delay: 1.1s !important; }

.u-ani-delay12s { animation-delay: 1.2s !important; }

.u-ani-delay12s::before, .u-ani-delay12s::after { animation-delay: 1.2s !important; }

.u-ani-delay13s { animation-delay: 1.3s !important; }

.u-ani-delay13s::before, .u-ani-delay13s::after { animation-delay: 1.3s !important; }

.u-ani-delay14s { animation-delay: 1.4s !important; }

.u-ani-delay14s::before, .u-ani-delay14s::after { animation-delay: 1.4s !important; }

.u-ani-delay15s { animation-delay: 1.5s !important; }

.u-ani-delay15s::before, .u-ani-delay15s::after { animation-delay: 1.5s !important; }

.u-ani-delay16s { animation-delay: 1.6s !important; }

.u-ani-delay16s::before, .u-ani-delay16s::after { animation-delay: 1.6s !important; }

.u-ani-delay17s { animation-delay: 1.7s !important; }

.u-ani-delay17s::before, .u-ani-delay17s::after { animation-delay: 1.7s !important; }

.u-ani-delay18s { animation-delay: 1.8s !important; }

.u-ani-delay18s::before, .u-ani-delay18s::after { animation-delay: 1.8s !important; }

.u-ani-delay19s { animation-delay: 1.9s !important; }

.u-ani-delay19s::before, .u-ani-delay19s::after { animation-delay: 1.9s !important; }

.u-ani-delay20s { animation-delay: 2s !important; }

.u-ani-delay20s::before, .u-ani-delay20s::after { animation-delay: 2s !important; }

.u-ani-delay21s { animation-delay: 2.1s !important; }

.u-ani-delay21s::before, .u-ani-delay21s::after { animation-delay: 2.1s !important; }

.u-ani-delay22s { animation-delay: 2.2s !important; }

.u-ani-delay22s::before, .u-ani-delay22s::after { animation-delay: 2.2s !important; }

.u-ani-delay23s { animation-delay: 2.3s !important; }

.u-ani-delay23s::before, .u-ani-delay23s::after { animation-delay: 2.3s !important; }

.u-ani-delay24s { animation-delay: 2.4s !important; }

.u-ani-delay24s::before, .u-ani-delay24s::after { animation-delay: 2.4s !important; }

.u-ani-delay25s { animation-delay: 2.5s !important; }

.u-ani-delay25s::before, .u-ani-delay25s::after { animation-delay: 2.5s !important; }

.u-ani-delay26s { animation-delay: 2.6s !important; }

.u-ani-delay26s::before, .u-ani-delay26s::after { animation-delay: 2.6s !important; }

.u-ani-delay27s { animation-delay: 2.7s !important; }

.u-ani-delay27s::before, .u-ani-delay27s::after { animation-delay: 2.7s !important; }

.u-ani-delay28s { animation-delay: 2.8s !important; }

.u-ani-delay28s::before, .u-ani-delay28s::after { animation-delay: 2.8s !important; }

.u-ani-delay29s { animation-delay: 2.9s !important; }

.u-ani-delay29s::before, .u-ani-delay29s::after { animation-delay: 2.9s !important; }

.u-ani-delay30s { animation-delay: 3s !important; }

.u-ani-delay30s::before, .u-ani-delay30s::after { animation-delay: 3s !important; }

@media screen and (max-width: 599px) { .u-sp-ani-delay0 { animation-delay: 0 !important; }
  .u-sp-ani-delay0::before, .u-sp-ani-delay0::after { animation-delay: 0 !important; }
  .u-sp-ani-delay01s { animation-delay: 0.1s !important; }
  .u-sp-ani-delay01s::before, .u-sp-ani-delay01s::after { animation-delay: 0.1s !important; }
  .u-sp-ani-delay02s { animation-delay: 0.2s !important; }
  .u-sp-ani-delay02s::before, .u-sp-ani-delay02s::after { animation-delay: 0.2s !important; }
  .u-sp-ani-delay03s { animation-delay: 0.3s !important; }
  .u-sp-ani-delay03s::before, .u-sp-ani-delay03s::after { animation-delay: 0.3s !important; }
  .u-sp-ani-delay04s { animation-delay: 0.4s !important; }
  .u-sp-ani-delay04s::before, .u-sp-ani-delay04s::after { animation-delay: 0.4s !important; }
  .u-sp-ani-delay05s { animation-delay: 0.5s !important; }
  .u-sp-ani-delay05s::before, .u-sp-ani-delay05s::after { animation-delay: 0.5s !important; }
  .u-sp-ani-delay06s { animation-delay: 0.6s !important; }
  .u-sp-ani-delay06s::before, .u-sp-ani-delay06s::after { animation-delay: 0.6s !important; }
  .u-sp-ani-delay07s { animation-delay: 0.7s !important; }
  .u-sp-ani-delay07s::before, .u-sp-ani-delay07s::after { animation-delay: 0.7s !important; }
  .u-sp-ani-delay08s { animation-delay: 0.8s !important; }
  .u-sp-ani-delay08s::before, .u-sp-ani-delay08s::after { animation-delay: 0.8s !important; }
  .u-sp-ani-delay09s { animation-delay: 0.9s !important; }
  .u-sp-ani-delay09s::before, .u-sp-ani-delay09s::after { animation-delay: 0.9s !important; }
  .u-sp-ani-delay10s { animation-delay: 1s !important; }
  .u-sp-ani-delay10s::before, .u-sp-ani-delay10s::after { animation-delay: 1s !important; }
  .u-sp-ani-delay11s { animation-delay: 1.1s !important; }
  .u-sp-ani-delay11s::before, .u-sp-ani-delay11s::after { animation-delay: 1.1s !important; }
  .u-sp-ani-delay12s { animation-delay: 1.2s !important; }
  .u-sp-ani-delay12s::before, .u-sp-ani-delay12s::after { animation-delay: 1.2s !important; }
  .u-sp-ani-delay13s { animation-delay: 1.3s !important; }
  .u-sp-ani-delay13s::before, .u-sp-ani-delay13s::after { animation-delay: 1.3s !important; }
  .u-sp-ani-delay14s { animation-delay: 1.4s !important; }
  .u-sp-ani-delay14s::before, .u-sp-ani-delay14s::after { animation-delay: 1.4s !important; }
  .u-sp-ani-delay15s { animation-delay: 1.5s !important; }
  .u-sp-ani-delay15s::before, .u-sp-ani-delay15s::after { animation-delay: 1.5s !important; }
  .u-sp-ani-delay16s { animation-delay: 1.6s !important; }
  .u-sp-ani-delay16s::before, .u-sp-ani-delay16s::after { animation-delay: 1.6s !important; }
  .u-sp-ani-delay17s { animation-delay: 1.7s !important; }
  .u-sp-ani-delay17s::before, .u-sp-ani-delay17s::after { animation-delay: 1.7s !important; }
  .u-sp-ani-delay18s { animation-delay: 1.8s !important; }
  .u-sp-ani-delay18s::before, .u-sp-ani-delay18s::after { animation-delay: 1.8s !important; }
  .u-sp-ani-delay19s { animation-delay: 1.9s !important; }
  .u-sp-ani-delay19s::before, .u-sp-ani-delay19s::after { animation-delay: 1.9s !important; }
  .u-sp-ani-delay20s { animation-delay: 2s !important; }
  .u-sp-ani-delay20s::before, .u-sp-ani-delay20s::after { animation-delay: 2s !important; }
  .u-sp-ani-delay21s { animation-delay: 2.1s !important; }
  .u-sp-ani-delay21s::before, .u-sp-ani-delay21s::after { animation-delay: 2.1s !important; }
  .u-sp-ani-delay22s { animation-delay: 2.2s !important; }
  .u-sp-ani-delay22s::before, .u-sp-ani-delay22s::after { animation-delay: 2.2s !important; }
  .u-sp-ani-delay23s { animation-delay: 2.3s !important; }
  .u-sp-ani-delay23s::before, .u-sp-ani-delay23s::after { animation-delay: 2.3s !important; }
  .u-sp-ani-delay24s { animation-delay: 2.4s !important; }
  .u-sp-ani-delay24s::before, .u-sp-ani-delay24s::after { animation-delay: 2.4s !important; }
  .u-sp-ani-delay25s { animation-delay: 2.5s !important; }
  .u-sp-ani-delay25s::before, .u-sp-ani-delay25s::after { animation-delay: 2.5s !important; }
  .u-sp-ani-delay26s { animation-delay: 2.6s !important; }
  .u-sp-ani-delay26s::before, .u-sp-ani-delay26s::after { animation-delay: 2.6s !important; }
  .u-sp-ani-delay27s { animation-delay: 2.7s !important; }
  .u-sp-ani-delay27s::before, .u-sp-ani-delay27s::after { animation-delay: 2.7s !important; }
  .u-sp-ani-delay28s { animation-delay: 2.8s !important; }
  .u-sp-ani-delay28s::before, .u-sp-ani-delay28s::after { animation-delay: 2.8s !important; }
  .u-sp-ani-delay29s { animation-delay: 2.9s !important; }
  .u-sp-ani-delay29s::before, .u-sp-ani-delay29s::after { animation-delay: 2.9s !important; }
  .u-sp-ani-delay30s { animation-delay: 3s !important; }
  .u-sp-ani-delay30s::before, .u-sp-ani-delay30s::after { animation-delay: 3s !important; } }
