@charset "UTF-8";
/*----------------------------------------------------------------
 読み込むファイルの設定
-----------------------------------------------------------------*/
/* setting
-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
リセットの読み込み
-----------------------------------------------------------------*/
/**
* YUI 3.5.0 - reset.css (http://developer.yahoo.com/yui/3/cssreset/)
* http://cssreset.com
* Copyright 2012 Yahoo! Inc. All rights reserved.
* http://yuilibrary.com/license/
*/
/*
TODO will need to remove settings on HTML since we can't namespace it.
TODO with the prefix, should I group by selector or property for weight savings?
*/
html {
  color: #000;
  background: #FFF;
}

/*
TODO remove settings on BODY since we can't namespace it.
*/
/*
TODO test putting a class on HEAD.
- Fails on FF.
*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

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

fieldset,
img {
  border: 0;
}

/*
TODO think about hanlding inheritence differently, maybe letting IE6 fail a bit...
*/
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

/* to preserve line-height and selector appearance */
sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/*to enable resizing for IE*/
input,
textarea,
select {
  *font-size: 100%;
}

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

/* YUI CSS Detection Stamp */
#yui3-css-stamp.cssreset {
  display: none;
}

/*! sanitize.css v3.0.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
audio:not([controls]) {
  display: none;
  /* Chrome 44-, iOS 8+, Safari 9+ */
}

button {
  overflow: visible;
  /* Internet Explorer 11- */
  -webkit-appearance: button;
  /* iOS 8+ */
}

details {
  display: block;
  /* Edge 12+, Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */
}

html {
  /*-ms-overflow-style: -ms-autohiding-scrollbar;*/
  /* Edge 12+, Internet Explorer 11- */
  /*overflow-y: scroll;*/
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

input {
  -webkit-border-radius: 0;
  /* iOS 8+ */
}

@nest &[type="button"], &[type="reset"], &[type="submit"] {
  input {
    -webkit-appearance: button;
    /* iOS 8+ */
  }
}
@nest &[type="number"] {
  input {
    width: auto;
    /* Firefox 36+ */
  }
}
@nest &[type="search"] {
  input {
    -webkit-appearance: textfield;
    /* Chrome 45+, Safari 9+ */
  }
  @nest &::-webkit-search-cancel-button, &::-webkit-search-decoration {
    input {
      -webkit-appearance: none;
      /* Chrome 45+, Safari 9+ */
    }
  }
}
main {
  display: block;
  /* Android 4.3-, Internet Explorer 11-, Windows Phone 8.1+ */
}

pre {
  overflow: auto;
  /* Internet Explorer 11- */
}

progress {
  display: inline-block;
  /* Internet Explorer 11-, Windows Phone 8.1+ */
}

small {
  font-size: var(--small-font-size, 75%);
  /* All browsers */
}

summary {
  display: block;
  /* Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */
}

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

template {
  display: none;
  /* Android 4.3-, Internet Explorer 11-, iOS 7-, Safari 7-, Windows Phone 8.1+ */
}

textarea {
  overflow: auto;
  /* Edge 12+, Internet Explorer 11- */
}

[hidden] {
  display: none;
  /* Internet Explorer 10- */
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

/*
 * Opinionated defaults
 */
/* specify the border style and width of all elements */
*,
::before,
::after {
  border-style: solid;
  border-width: 0;
}

/* specify the core styles of all elements */
* {
  background-repeat: var(--background-repeat, no-repeat);
  margin: 0;
  padding: 0;
}

/* specify the root styles of the document */
:root {
  background-color: var(--html-background-color, #ffffff);
  -webkit-box-sizing: var(--html-box-sizing, border-box);
          box-sizing: var(--html-box-sizing, border-box);
  color: var(--html-color, #000000);
  cursor: var(--html-cursor, default);
  /*font: var(--html-font-size, 100%)/var(--html-line-height, 1.5) var(--font-family, sans-serif);*/
  text-rendering: var(--html-text-rendering, optimizeLegibility);
}

/* specify the text decoration of anchors */
a {
  -webkit-text-decoration: var(--anchor-text-decoration, none);
          text-decoration: var(--anchor-text-decoration, none);
}

/* specify the alignment of media elements */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: var(--media-element-vertical-align, middle);
}

/* specify the background color of form elements */
button,
input,
select,
textarea {
  background-color: var(--form-element-background-color, transparent);
}

/* specify the inherited color and font of form elements */
button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

/* specify the minimum height of form elements */
button,
[type=button],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
  min-height: var(--form-element-min-height, 1.5em);
}

/* specify the font family of code elements */
code,
kbd,
pre,
samp {
  font-family: var(--monospace-font-family, monospace), monospace;
}

/* specify the standard appearance of selects */
select {
  -moz-appearance: none;
  /* Firefox 40+ */
  -webkit-appearance: none;
  /* Chrome 45+ */
}

@nest &::-ms-expand {
  select {
    display: none;
    /* Edge 12+, Internet Explorer 11- */
  }
}
@nest &::-ms-value {
  select {
    color: currentColor;
    /* Edge 12+, Internet Explorer 11- */
  }
}
/* specify the border styling of tables */
table {
  border-collapse: var(--table-border-collapse, collapse);
  border-spacing: var(--table-border-spacing, 0);
}

/* specify the resizability of textareas */
textarea {
  resize: var(--textarea-resize, vertical);
}

/* specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* specify the style of visually hidden yet accessible elements */
[hidden][aria-hidden=false] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute;
}

@nest &:focus {
  [hidden][aria-hidden=false] {
    clip: auto;
  }
}
/*
OZ RESET CSS
Author: ONZE
Author URI: http://on-ze.com
Version: 1.1
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
* {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
}

html {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
}

body {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1;
  position: relative;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {
  display: block;
}

audio, canvas, video {
  display: inline-block;
}

br,
hr {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

input,
select {
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/**
 * 1. Firefox 36+

 * 1. Firefox 36+
 */
[type=number] {
  width: auto; /* 1 */
}

/**
 * 1. Safari 8+

 * 1. Safari 8+
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
}

/**
 * 1. Safari 8

 * 1. Safari 8
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* 1 */
}

/**
 * 1. Internet Explorer 11+
 * 2. Specify textarea resizability

 * 1. Internet Explorer 11+
 * 2. textarea要素に、垂直方向のリサイズを指定。
 */
textarea {
  overflow: auto; /* 1 */
  resize: vertical; /* 2 */
}

/**
 * 1. Specify font inheritance of form elements

 * 1. フォーム要素に、フォントの継承を指定。
 */
button,
input,
optgroup,
select,
textarea {
  font: inherit; /* 1 */
}

/**
 * 1. Restore the font weight unset by the previous rule.

 * 1. 前の指定により、フォントのウェイトを再定義。
 */
optgroup {
  font-weight: bold; /* 1 */
}

/**
 * 1. Address `overflow` set to `hidden` in IE 8/9/10/11

 * 1. IE8/9/10/11に、overflow時にhiddenを設定。
 */
button {
  overflow: visible; /* 1 */
}

/**
 * Remove inner padding and border in Firefox 4+

 * Firefox4+に、内側のpaddingとborderを削除。
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/**
 * Replace focus style removed in the border reset above

 * 1. フォーカス時のスタイルを定義。
 */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4
 * 2. Correct the inability to style clickable types in iOS

 * 1. Android4に、ネイティブのaudio要素とvideo要素のコントロールのバグを防ぐ。
 * 2. iOSに、クリッカブルなbutton要素のtypeのスタイルを修正。
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * 1. Firefox 40+, Internet Explorer 11-

 * 1. Firefox 40+, Internet Explorer 11-
 */
button,
select {
  text-transform: none; /* 1 */
}

/**
 * Remove the default button styling in all browsers

 * すべてのブラウザにおいて、デフォルトのボタンのスタイルを削除。
 */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/**
 * Style select like a standard input
 * 1. Firefox 36+
 * 2. Chrome 41+

 * 標準的なinput要素のスタイルを選択。
 * 1. Firefox 36+
 * 2. Chrome 41+
 */
select {
  -moz-appearance: none; /* 1*/
  -webkit-appearance: none; /* 2 */
}

/**
 * 1. Internet Explorer 11+

 * 1. Internet Explorer 11+
 */
select::-ms-expand {
  display: none; /* 1 */
}

/**
 * 1. Internet Explorer 11+

 * 1. Internet Explorer 11+
 */
select::-ms-value {
  color: currentColor; /* 1 */
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11
 * 2. Correct the color inheritance from `fieldset` elements in IE
 * 3. Correct the text wrapping in Edge and IE
 * 4. Correct the text wrapping in Edge and IE
 * 5. Correct the text wrapping in Edge and IE

 * 1. IE 8/9/10/11に、カラーの継承を定義。
 * 2. IEに、fieldset要素からカラーを継承するように定義。
 * 3. EdgeとIEに、テキストのラッピングを修正。
 * 4. EdgeとIEに、テキストのラッピングを修正。
 * 5. EdgeとIEに、テキストのラッピングを修正。
 */
legend {
  border: 0; /* 1*/
  color: inherit; /* 2 */
  display: table; /* 3 */
  max-width: 100%; /* 4 */
  white-space: normal; /* 5 */
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari
 * 2. Change font properties to `inherit` in Chrome and Safari

 * 1. iOSとSafariに、クリッカブルなtypeのスタイルを修正。
 * 2. ChromeとSafariに、フォントプロパティの継承を変更。
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari

 * Chrome, Edge, Safariに、テキストのスタイルを修正。
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari
 * 2. Correct the outline style in Safari

 * 1. ChromeとSafariに、アピアランスを修正。
 * 2. Safariに、アウトラインを修正。
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/* ----------------------------------------------------------------
変数の設定項目
-----------------------------------------------------------------*/
/**
 * 1:パスの設定
 * 2:font-familyの設定
 * 3:font-size・line-heightの設定
 * 4:colorの設定
 * 8:ブレイクポイントの設定
 */
/* 1:パスの設定
-----------------------------------------------------------------*/
/* 2:font-familyの設定
-----------------------------------------------------------------*/
/* サイト全体のfont-familyの設定 */
/* GoogleFontの設定 */
/* OriginalFontの設定 */
/* 3:font-size・line-heightの設定
-----------------------------------------------------------------*/
/* フォントサイズの設定【単位:rem】 */
/* 行間の設定 */
/* 4:colorの設定
-----------------------------------------------------------------*/
/* リンクのカラー設定 */
/* 一般的なiカラー */
/* プロジェクトカラー設定 */
/* ボタンリンクのカラー設定 */
/* ボーダーカラーの設定 */
/* 8:ブレイクポイントの設定
-----------------------------------------------------------------*/
/* 9:フォームの設定
-----------------------------------------------------------------*/
/* 値を変更しないでください */
:root {
  --fs-10: clamp(0.857rem, min(max(calc(6.9357142857px + 0.212797619vw), 0.857rem), max(1rem, 1rem + (100vw - 1980px) * 0.0050505051)), 999rem);
  --fs-11: clamp(0.9427rem, min(max(calc(7.6292857143px + 0.234077381vw), 0.9427rem), max(1.1rem, 1.1rem + (100vw - 1980px) * 0.0055555556)), 999rem);
  --fs-12: clamp(1.0284rem, min(max(calc(8.3228571429px + 0.2553571429vw), 1.0284rem), max(1.2rem, 1.2rem + (100vw - 1980px) * 0.0060606061)), 999rem);
  --fs-13: clamp(1.1141rem, min(max(calc(9.0164285714px + 0.2766369048vw), 1.1141rem), max(1.3rem, 1.3rem + (100vw - 1980px) * 0.0065656566)), 999rem);
  --fs-14: clamp(1.1998rem, min(max(calc(9.71px + 0.2979166667vw), 1.1998rem), max(1.4rem, 1.4rem + (100vw - 1980px) * 0.0070707071)), 999rem);
  --fs-15: clamp(1.2855rem, min(max(calc(10.4035714286px + 0.3191964286vw), 1.2855rem), max(1.5rem, 1.5rem + (100vw - 1980px) * 0.0075757576)), 999rem);
  --fs-16: clamp(1.3712rem, min(max(calc(11.0971428571px + 0.3404761905vw), 1.3712rem), max(1.6rem, 1.6rem + (100vw - 1980px) * 0.0080808081)), 999rem);
  --fs-17: clamp(1.4569rem, min(max(calc(11.7907142857px + 0.3617559524vw), 1.4569rem), max(1.7rem, 1.7rem + (100vw - 1980px) * 0.0085858586)), 999rem);
  --fs-18: clamp(1.5426rem, min(max(calc(12.4842857143px + 0.3830357143vw), 1.5426rem), max(1.8rem, 1.8rem + (100vw - 1980px) * 0.0090909091)), 999rem);
  --fs-19: clamp(1.6283rem, min(max(calc(13.1778571429px + 0.4043154762vw), 1.6283rem), max(1.9rem, 1.9rem + (100vw - 1980px) * 0.0095959596)), 999rem);
  --fs-20: clamp(1.714rem, min(max(calc(13.8714285714px + 0.4255952381vw), 1.714rem), max(2rem, 2rem + (100vw - 1980px) * 0.0101010101)), 999rem);
  --fs-24: clamp(2.0568rem, min(max(calc(16.6457142857px + 0.5107142857vw), 2.0568rem), max(2.4rem, 2.4rem + (100vw - 1980px) * 0.0121212121)), 999rem);
  --fs-28: clamp(2.3996rem, min(max(calc(19.42px + 0.5958333333vw), 2.3996rem), max(2.8rem, 2.8rem + (100vw - 1980px) * 0.0141414141)), 999rem);
  --fs-32: clamp(2.7424rem, min(max(calc(22.1942857143px + 0.680952381vw), 2.7424rem), max(3.2rem, 3.2rem + (100vw - 1980px) * 0.0161616162)), 999rem);
  --fs-36: clamp(3.0852rem, min(max(calc(24.9685714286px + 0.7660714286vw), 3.0852rem), max(3.6rem, 3.6rem + (100vw - 1980px) * 0.0181818182)), 999rem);
  --fs-40: clamp(3.428rem, min(max(calc(27.7428571429px + 0.8511904762vw), 3.428rem), max(4rem, 4rem + (100vw - 1980px) * 0.0202020202)), 999rem);
  --fs-48: clamp(4.1136rem, min(max(calc(33.2914285714px + 1.0214285714vw), 4.1136rem), max(4.8rem, 4.8rem + (100vw - 1980px) * 0.0242424242)), 999rem);
  --fs-56: clamp(4.7992rem, min(max(calc(38.84px + 1.1916666667vw), 4.7992rem), max(5.6rem, 5.6rem + (100vw - 1980px) * 0.0282828283)), 999rem);
  --fs-64: clamp(5.4848rem, min(max(calc(44.3885714286px + 1.3619047619vw), 5.4848rem), max(6.4rem, 6.4rem + (100vw - 1980px) * 0.0323232323)), 999rem);
}

.fs-10 {
  font-size: var(--fs-10);
}

.fs-11 {
  font-size: var(--fs-11);
}

.fs-12 {
  font-size: var(--fs-12);
}

.fs-13 {
  font-size: var(--fs-13);
}

.fs-14 {
  font-size: var(--fs-14);
}

.fs-15 {
  font-size: var(--fs-15);
}

.fs-16 {
  font-size: var(--fs-16);
}

.fs-17 {
  font-size: var(--fs-17);
}

.fs-18 {
  font-size: var(--fs-18);
}

.fs-19 {
  font-size: var(--fs-19);
}

.fs-20 {
  font-size: var(--fs-20);
}

.fs-24 {
  font-size: var(--fs-24);
}

.fs-28 {
  font-size: var(--fs-28);
}

.fs-32 {
  font-size: var(--fs-32);
}

.fs-36 {
  font-size: var(--fs-36);
}

.fs-40 {
  font-size: var(--fs-40);
}

.fs-48 {
  font-size: var(--fs-48);
}

.fs-56 {
  font-size: var(--fs-56);
}

.fs-64 {
  font-size: var(--fs-64);
}

/* ----------------------------------------------------------------
mixin
-----------------------------------------------------------------*/
/* ================================================================
 * ユーティリティクラス定義ファイル
 *
 * このファイルではプロジェクト全体で使用するユーティリティクラスを定義します
 * 命名規則: u-[プロパティ名][値][--デバイス]
 *
 * セクション構成：
 * 1. レイアウト関連
 *    - clearfix, align, center, float
 * 2. 表示制御
 *    - hidden, block, inline-block
 * 3. タイポグラフィ
 *    - font-weight, font-size, line-height, indent
 * 4. カラー
 *    - text color, background color
 * 5. サイズ・スペーシング
 *    - width（個別定義推奨）
 *    - margin（0リセットのみ）
 *    - padding（0リセットのみ）
 * 6. レスポンシブスペーサー
 *    - 可変マージン（vw単位）
 * 7. その他
 *    - 画像, opacity効果
 * ================================================================ */
.u-clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.u-clearfix {
  min-height: 0.1px;
}

* html .u-clearfix {
  height: 1px;
  /*¥*/ /*/
height: auto;
overflow: hidden;
/**/
}

.u-aLeft {
  text-align: left !important;
}

.u-aCenter {
  text-align: center !important;
}

.u-aRight {
  text-align: right !important;
}

@media screen and (min-width:768px) {
  .u-aLeft--pc {
    text-align: left !important;
  }
  .u-aCenter--pc {
    text-align: center !important;
  }
  .u-aRight--pc {
    text-align: right !important;
  }
}
@media screen and (max-width: 767px) {
  .u-aLeft--sp {
    text-align: left !important;
  }
  .u-aCenter--sp {
    text-align: center !important;
  }
  .u-aRight--sp {
    text-align: right !important;
  }
}
.u-bCenter {
  margin: 0 auto !important;
}
@media screen and (min-width:768px) {
  .u-bCenter {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.u-fRight {
  float: right;
}

.u-fLeft {
  float: left;
}

.u-hidden {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-hidden--sp {
    display: none;
  }
}

@media screen and (min-width:768px) {
  .u-hidden--pc {
    display: none;
  }
}

.u-block {
  display: block !important;
}

.u-inBlock {
  display: inline-block !important;
}

.u-fwNml {
  font-weight: 400 !important;
}

.u-fwMid {
  font-weight: 500 !important;
}

.u-fwBold {
  font-weight: 700 !important;
}

.u-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.u-indent_att {
  display: inline-block;
  text-indent: -1em;
  padding-left: 1em;
}

.u-lh_xs {
  line-height: 1.3;
}

.u-lh_ss {
  line-height: 1.4;
}

.u-lh_s {
  line-height: 1.6;
}

.u-lh_m {
  line-height: 1.8;
}

.u-lh_l {
  line-height: 2;
}

.u-lh_ll {
  line-height: 2.2;
}

.u-lh_xl {
  line-height: 2.4;
}

.u-clrWht {
  color: #fff !important;
}

.u-clrBlck {
  color: #000 !important;
}

.u-clrGry {
  color: #ddd !important;
}

.u-clrBase {
  color: #fff !important;
}

.u-clrMain {
  color: #053F8D !important;
}

.u-clrAccent {
  color: #0DCEC7 !important;
}

.u-clrPrimary {
  color: #fff !important;
}

.u-clrSuccess {
  color: #fff !important;
}

.u-clrInfo {
  color: #fff !important;
}

.u-clrDanger {
  color: #fff !important;
}

.u-clrWarning {
  color: #fff !important;
}

.u-clrPjc01 {
  color: #fff !important;
}

.u-clrPjc02 {
  color: #fff !important;
}

.u-clrPjc03 {
  color: #fff !important;
}

.u-clrPjc04 {
  color: #fff !important;
}

.u-clrPjc05 {
  color: #fff !important;
}

.u-bgClrBlck {
  background: #000 !important;
}

.u-bgClrWht {
  background: #fff !important;
}

.u-bgClrGry {
  background: #ddd !important;
}

.u-bgClrBase {
  background: #fff !important;
}

.u-bgClrMain {
  background: #053F8D !important;
}

.u-bgClrAccent {
  background: #0DCEC7 !important;
}

.u-bgClrPrimary {
  background: #fff !important;
}

.u-bgClrSuccess {
  background: #fff !important;
}

.u-bgClrInfo {
  background: #fff !important;
}

.u-bgClrDanger {
  background: #fff !important;
}

.u-bgClrWarning {
  background: #fff !important;
}

.u-bgClrPjc01 {
  background: #fff !important;
}

.u-bgClrPjc02 {
  background: #fff !important;
}

.u-bgClrPjc03 {
  background: #fff !important;
}

.u-bgClrPjc04 {
  background: #fff !important;
}

.u-bgClrPjc05 {
  background: #fff !important;
}

.u-mt0 {
  margin-top: 0 !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mr0 {
  margin-right: 0 !important;
}

.u-ml0 {
  margin-left: 0 !important;
}

.u-m0 {
  margin: 0 !important;
}

@media screen and (min-width:768px) {
  .u-mt0--pc {
    margin-top: 0 !important;
  }
  .u-mb0--pc {
    margin-bottom: 0 !important;
  }
  .u-mr0--pc {
    margin-right: 0 !important;
  }
  .u-ml0--pc {
    margin-left: 0 !important;
  }
  .u-m0--pc {
    margin: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .u-mt0--sp {
    margin-top: 0 !important;
  }
  .u-mb0--sp {
    margin-bottom: 0 !important;
  }
  .u-mr0--sp {
    margin-right: 0 !important;
  }
  .u-ml0--sp {
    margin-left: 0 !important;
  }
  .u-m0--sp {
    margin: 0 !important;
  }
}
.u-pt0 {
  padding-top: 0 !important;
}

.u-pb0 {
  padding-bottom: 0 !important;
}

.u-pr0 {
  padding-right: 0 !important;
}

.u-pl0 {
  padding-left: 0 !important;
}

.u-p0 {
  padding: 0 !important;
}

@media screen and (min-width:768px) {
  .u-pt0--pc {
    padding-top: 0 !important;
  }
  .u-pb0--pc {
    padding-bottom: 0 !important;
  }
  .u-pr0--pc {
    padding-right: 0 !important;
  }
  .u-pl0--pc {
    padding-left: 0 !important;
  }
  .u-p0--pc {
    padding: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pt0--sp {
    padding-top: 0 !important;
  }
  .u-pb0--sp {
    padding-bottom: 0 !important;
  }
  .u-pr0--sp {
    padding-right: 0 !important;
  }
  .u-pl0--sp {
    padding-left: 0 !important;
  }
  .u-p0--sp {
    padding: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .u-spacerVW--xxs {
    margin-top: clamp(4px, 1.0666666667vw, 6px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--xxs {
    margin-top: clamp(5.694444448px, 0.5555555556vw, 10.6648px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--xs {
    margin-top: clamp(8px, 2.1333333333vw, 12px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--xs {
    margin-top: clamp(11.388888896px, 1.1111111111vw, 21.3296px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--ss {
    margin-top: clamp(12px, 3.2vw, 18px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--ss {
    margin-top: clamp(17.083333344px, 1.6666666667vw, 31.9944px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--s {
    margin-top: clamp(16px, 4.2666666667vw, 24px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--s {
    margin-top: clamp(22.777777792px, 2.2222222222vw, 42.6592px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--m {
    margin-top: clamp(20px, 5.3333333333vw, 30px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--m {
    margin-top: clamp(28.47222224px, 2.7777777778vw, 53.324px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--l {
    margin-top: clamp(32px, 8.5333333333vw, 48px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--l {
    margin-top: clamp(45.555555584px, 4.4444444444vw, 85.3184px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--ll {
    margin-top: clamp(40px, 10.6666666667vw, 60px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--ll {
    margin-top: clamp(56.94444448px, 5.5555555556vw, 106.648px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--xl {
    margin-top: clamp(50px, 13.3333333333vw, 75px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--xl {
    margin-top: clamp(71.1805556px, 6.9444444444vw, 133.31px) !important;
  }
}

@media screen and (max-width: 767px) {
  .u-spacerVW--xxl {
    margin-top: clamp(60px, 16vw, 90px) !important;
  }
}
@media screen and (min-width:768px) {
  .u-spacerVW--xxl {
    margin-top: clamp(85.41666672px, 8.3333333333vw, 159.972px) !important;
  }
}

.u-imgfull {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .u-imgfull--sp {
    width: 100%;
    height: auto;
  }
}

@media screen and (min-width:768px) {
  .u-hoverOpacity--pc {
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  .u-hoverOpacity--pc:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
  }
}

/* ================================================================
 * メンテナンスに関する推奨事項
 *
 * このファイルでは基本的なユーティリティクラスのみを定義しています。
 * 大量のクラス生成は避け、必要最小限のクラスに絞っています。
 *
 * 【追加が必要な場合】
 * プロジェクトで頻繁に使用する値がある場合は、
 * 個別に追加することを推奨します。
 *
 * 例：
 * .u-mt20 { margin-top: 20px !important; }
 * .u-w50 { width: 50% !important; }
 * .u-fs16 { font-size: 16px !important; }
 *
 * 【CSS変数の活用】
 * よく使う値はCSS変数として定義し、
 * それを参照する形にすることで保守性が向上します。
 * ================================================================ */
/* core
-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
base
-----------------------------------------------------------------*/
html {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: none;
  /*overflow-y: scroll;*/
  scroll-behavior: smooth;
}

body {
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #555;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.2rem;
    line-height: 1.8;
  }
}
@media screen and (min-width:768px) {
  body {
    font-size: 1.4rem;
    line-height: 2;
  }
}

a {
  cursor: pointer;
  /*color: vars.$clrAccent;*/
}
a:link, a:visited, a:hover, a:active {
  outline: none;
}

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the Hippocratic License 2.1 - http://firstdonoharm.dev
 *
 * Copyright (c) 2021 Animate.css
 */
:root {
  --animate-duration: 1.4s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}

.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat);
}

.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: 2;
  animation-iteration-count: 2;
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2);
}

.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: 3;
  animation-iteration-count: 3;
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3);
}

.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay);
}

.animate__animated.animate__delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2);
}

.animate__animated.animate__delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3);
}

.animate__animated.animate__delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4);
}

.animate__animated.animate__delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5);
}

.animate__animated.animate__faster {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2);
}

.animate__animated.animate__fast {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8);
}

.animate__animated.animate__slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
}

.animate__animated.animate__slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3);
}

@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }
  .animate__animated[class*=Out] {
    opacity: 0;
  }
}
/* Attention seekers  */
@-webkit-keyframes bounce {
  from, 20%, 53%, 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) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }
  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) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
@keyframes bounce {
  from, 20%, 53%, 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) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }
  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) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.animate__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);
  }
}
.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}

@-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);
  }
}
.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shakeX {
  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 shakeX {
  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);
  }
}
.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX;
}

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

@-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);
  }
}
.animate__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);
  }
}
.animate__swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
      transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__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);
  }
}
.animate__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.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@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.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
      transform-origin: center;
}

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}

/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown;
}

@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft;
}

@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight;
}

@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp;
}

/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown;
}

@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft;
}

@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight;
}

@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp;
}

/* Bouncing entrances  */
@-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);
  }
}
.animate__bounceIn {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -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) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }
  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) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__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) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }
  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) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__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) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }
  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) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__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) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }
  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) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

/* Bouncing exits  */
@-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);
  }
}
.animate__bounceOut {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__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);
  }
}
.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
    -ms-filter: blur(4px);
    -webkit-filter: blur(4px);
            filter: blur(4px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -ms-filter: blur(0);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
.animate__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);
  }
}
.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft;
}

@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight;
}

@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft;
}

@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight;
}

/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft;
}

@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight;
}

@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight;
}

@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft;
}

/* Flippers */
@-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;
  }
}
.animate__animated.animate__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);
  }
}
.animate__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);
  }
}
.animate__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;
  }
}
.animate__flipOutX {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -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;
  }
}
.animate__flipOutY {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  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 lightSpeedInRight {
  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);
  }
}
.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedInLeft {
  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 lightSpeedInLeft {
  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);
  }
}
.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
      transform-origin: center;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  -ms-transform-origin: left bottom;
      transform-origin: left bottom;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
      transform-origin: right bottom;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  -ms-transform-origin: left bottom;
      transform-origin: left bottom;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
      transform-origin: right bottom;
}

/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
      transform-origin: center;
}

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

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

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

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

/* Specials */
@-webkit-keyframes hinge {
  0% {
    -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-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-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-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-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-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;
  }
}
.animate__hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
      transform-origin: top left;
}

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

/* Zooming exits */
@-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;
  }
}
.animate__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-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-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom;
}

@-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);
  }
}
@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);
  }
}
.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
      transform-origin: left center;
}

@-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);
  }
}
@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);
  }
}
.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
}

@-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-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-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom;
}

/* Sliding entrances */
@-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);
  }
}
.animate__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);
  }
}
.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__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);
  }
}
.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

/* Sliding exits */
@-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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__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);
  }
}
.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

/**
 * Swiper 11.1.9
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 31, 2024
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
          transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.swiper-vertical {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

.swiper-backface-hidden .swiper-slide {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.swiper-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  -ms-scroll-snap-type: none;
      scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
      -ms-flex-order: 9999;
          order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
      -ms-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
          animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@-webkit-keyframes swiper-preloader-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* Slide styles end */
/* brand
-----------------------------------------------------------------*/
/*----------------------------------------------------------------
レイアウトのコンポーネント
-----------------------------------------------------------------*/
.c-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  min-height: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #F1F3F5;
}

.c-container {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-container {
    padding-bottom: 100px;
  }
}
@media screen and (min-width:768px) {
  .c-container {
    padding-bottom: 13.8888888889vw;
  }
}

.c-inner {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-inner--small {
    padding: 0 4vw;
  }
}
@media screen and (min-width:768px) {
  .c-inner--small {
    padding: 0 clamp(120px, 22.2222222222vw, 22.2222222222vw);
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .c-inner--small {
    padding: 0 clamp(30px, 5.859375vw, 60px);
  }
}
@media screen and (max-width: 767px) {
  .c-inner--medium {
    padding: 0 4vw;
  }
}
@media screen and (min-width:768px) {
  .c-inner--medium {
    padding: 0 clamp(120px, 16.6666666667vw, 16.6666666667vw);
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .c-inner--medium {
    padding: 0 clamp(30px, 5.859375vw, 60px);
  }
}
@media screen and (max-width: 767px) {
  .c-inner--wide {
    padding: 0 4vw;
  }
}
@media screen and (min-width:768px) {
  .c-inner--wide {
    padding: 0 clamp(40px, 5.5555555556vw, 5.5555555556vw);
  }
}

/* スライドアニメーションを適用するリンクの基本スタイル */
.js-slide-link {
  display: inline-grid;
  place-items: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 矢印用の横スライドアニメーション */
[data-slide-horizontal] {
  display: grid;
  overflow: clip;
}

[data-slide-horizontal-item] {
  grid-area: 1/1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* 共通スタイル */
[data-clone], [data-slide-horizontal], [data-slide-vertical] {
  display: grid;
  overflow: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[data-clone-item], [data-slide-horizontal-item], [data-slide-vertical-item] {
  grid-area: 1/1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/*----------------------------------------------------------------
アニメーションのコンポーネント
-----------------------------------------------------------------*/
.c-animUp {
  opacity: 0;
}

.c-animLeft {
  opacity: 0;
}

.c-animRight {
  opacity: 0;
}

.c-animDown {
  opacity: 0;
}

.c-animDelay--time2 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@media screen and (max-width: 767px) {
  .c-animDelay--time2--sp {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
}
@media screen and (min-width:768px) {
  .c-animDelay--time2--pc {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
}
.c-animDelay--time3 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

@media screen and (max-width: 767px) {
  .c-animDelay--time3--sp {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
  }
}
@media screen and (min-width:768px) {
  .c-animDelay--time3--pc {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
  }
}
.c-animDelay--time4 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

@media screen and (max-width: 767px) {
  .c-animDelay--time4--sp {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
  }
}
@media screen and (min-width:768px) {
  .c-animDelay--time4--pc {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
  }
}
.c-animDelay--time5 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

@media screen and (max-width: 767px) {
  .c-animDelay--time5--sp {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
  }
}
@media screen and (min-width:768px) {
  .c-animDelay--time5--pc {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
  }
}
.c-animDelay--time6 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

@media screen and (max-width: 767px) {
  .c-animDelay--time6--sp {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
}
@media screen and (min-width:768px) {
  .c-animDelay--time6--pc {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
}
.c-animDelay--time7 {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

@media screen and (max-width: 767px) {
  .c-animDelay--time7--sp {
    -webkit-animation-delay: 0.7s;
            animation-delay: 0.7s;
  }
}
@media screen and (min-width:768px) {
  .c-animDelay--time7--pc {
    -webkit-animation-delay: 0.7s;
            animation-delay: 0.7s;
  }
}
.c-animDelay--time8 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

@media screen and (max-width: 767px) {
  .c-animDelay--time8--sp {
    -webkit-animation-delay: 0.8s;
            animation-delay: 0.8s;
  }
}
@media screen and (min-width:768px) {
  .c-animDelay--time8--pc {
    -webkit-animation-delay: 0.8s;
            animation-delay: 0.8s;
  }
}
/* ----------------------------------------------------------------
フォームの設定
-----------------------------------------------------------------*/
.c-form {
  width: 100%;
}

/* 基本設定 */
.c-form input {
  display: none;
}
.c-form input[type=text], .c-form input[type=tel], .c-form input[type=number], .c-form input[type=email], .c-form input[type=date], .c-form input[type=month], .c-form input[type=week], .c-form input[type=time], .c-form input[type=url], .c-form input[type=password] {
  font-size: 1.6rem;
  /*color: vars.$elmTextColor;*/
  padding: 0.5em;
  border: 1px solid #e5e5e5;
  background-color: #fff;
  cursor: text;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.2s ease-in-out 0s;
  transition: all 0.2s ease-in-out 0s;
}
.c-form input[type=text]:focus, .c-form input[type=tel]:focus, .c-form input[type=number]:focus, .c-form input[type=email]:focus, .c-form input[type=date]:focus, .c-form input[type=month]:focus, .c-form input[type=week]:focus, .c-form input[type=time]:focus, .c-form input[type=url]:focus, .c-form input[type=password]:focus {
  border-color: #0DCEC7;
}

/* Chrome, Safari */
input::-webkit-input-placeholder {
  color: #aaaaaa;
}

/* Firefox */
input::-moz-placeholder {
  color: #aaaaaa;
}

/* Firefox 18以前 */
input:-moz-placeholder {
  color: #aaaaaa;
}

/* IE */
input:-ms-input-placeholder {
  color: #aaaaaa;
}

/* Chrome, Safari */
textarea::-webkit-input-placeholder {
  color: #aaaaaa;
}

/* Firefox */
textarea::-moz-placeholder {
  color: #aaaaaa;
}

/* Firefox 18以前 */
textarea:-moz-placeholder {
  color: #aaaaaa;
}

/* IE */
textarea:-ms-input-placeholder {
  color: #aaaaaa;
}

/* ファイルアップロード */
.c-form input[type=file] {
  display: inline-block;
}

/* チェックボックス、ラジオボックス　基本設定 */
.c-form input + span {
  /*line-height: 1.5;
  font-size: vars.$elmTextSize;
  padding-left: $lblPl;
  display: inline-block;
     vertical-align: top;
     margin: 0;*/
}

/* チェックボックス */
/* .c-form input[type="checkbox"] {
	& + span {
		position: relative;
		&:before, &:after {
			content: "";
			position: absolute;
			display: block;
			box-sizing: border-box;
		}
		&:before {
			width: vars.$elmWidth;
			height: vars.$elmHeight;
			margin-top: vars.$elmMt;
			top: 50%;
			left: 0;
			background-color: vars.$elmBoxItemBgColor;
			border: 1px solid vars.$elmBoxItemBdColor;
		}
		&:after {
			top: 50%;
			left: 0;
		}
		&:hover {
			cursor: pointer;
		}
	}

	&:checked {
		& + span {
			&:before {
				background-color: vars.$elmColor;
			}
			&:after {
				width: vars.$elmCheckWidth;
				height: vars.$elmCheckHeight;
				margin-top: vars.$elmCheckAftrMt;
				margin-left: vars.$elmCheckAftrMl;
				border: 3px solid #fff;
				border-left: none;
				border-bottom: none;
				transform: rotate(135deg);
				border-radius: 0;
			}
		}
	}
}*/
/* ラジオボックス */
.c-form input[type=radio] + span {
  position: relative;
}
.c-form input[type=radio] + span:before, .c-form input[type=radio] + span:after {
  content: "";
  position: absolute;
  display: block;
  border-radius: 9999px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.c-form input[type=radio] + span:before {
  width: 16px;
  height: 16px;
  margin-top: calc(-16px / 2);
  top: 50%;
  left: 0;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  z-index: 2;
}
.c-form input[type=radio] + span:after {
  top: 50%;
  left: 0;
  z-index: 3;
}
.c-form input[type=radio] + span:hover {
  cursor: pointer;
}
.c-form input[type=radio]:checked + span:after {
  width: 10.24px;
  height: 10.24px;
  /*margin-top: vars.$elmAfterMt;
  margin-left: vars.$elmAfterMl;*/
  background-color: #0cbbee;
}

/* 送信ボタン */
.c-form input[type=submit] {
  display: inline-block;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
}

/* テキストエリア */
.c-form textarea {
  border: 1px solid #e5e5e5;
  width: 100%;
  padding: 0.8em;
  font-size: 1.6rem;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  margin: 0 0 0 auto;
  line-height: 1.7;
}
.c-form textarea:focus {
  border-color: #ddd;
}

.c-form [type=text].required + label,
.c-form [type=email].required + label,
.c-form textarea.required + label {
  line-height: inherit;
  padding: 0;
  padding-left: 0;
  margin-top: 0;
  display: block;
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  z-index: 1;
  overflow: hidden;
  width: 10px;
}
.c-form [type=text].required + label:after,
.c-form [type=email].required + label:after,
.c-form textarea.required + label:after {
  content: "＊";
  font-size: 0.75em;
  font-weight: bold;
  color: #0cbbee;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  -webkit-transition: all 0.2s ease-in-out 0s;
  transition: all 0.2s ease-in-out 0s;
}
.c-form [type=text].required:focus + label:after,
.c-form [type=email].required:focus + label:after,
.c-form textarea.required:focus + label:after {
  left: 0.8em;
}

/* クラスによるスタイルの設定 */
.c-form .mwform-checkbox-field, .c-form .mwform-radio-field {
  display: block;
}
.c-form .mwform-checkbox-field:not(:nth-last-of-type(1)), .c-form .mwform-radio-field:not(:nth-last-of-type(1)) {
  margin-bottom: 0.5em;
}

/* セレクトボックス */
.c-formItem__select {
  position: relative;
  font-size: 1.6rem;
  z-index: 1;
}
.c-formItem__select:after {
  content: "▼";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) translateX(-50%);
      -ms-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  font-size: 0.8em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.c-formItem__select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0.5em;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0;
}

/* MW WP CSS */
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.mw_wp_form_send_error {
  font-weight: 500;
  color: #e90303;
}
@media screen and (max-width: 767px) {
  .mw_wp_form_send_error {
    margin-bottom: 40px;
    font-size: 1.8rem;
  }
}
@media screen and (min-width:768px) {
  .mw_wp_form_send_error {
    margin-bottom: 80px;
    font-size: 2.8rem;
  }
}

/* ----------------------------------------------------------------
formのスタイル
-----------------------------------------------------------------*/
.c-form {
  /*background-color: #fafafa;*/
  /*border: 1px solid vars.$clrGry;*/
}
@media screen and (max-width: 767px) {
  .c-form {
    /*margin-bottom: 30px;*/
    /*padding: 10px;*/
    /*@include mix.borderRadius(3px);*/
  }
}
@media screen and (min-width:768px) {
  .c-form {
    /*margin-bottom: 60px;*/
    /*padding: 60px;*/
    /*@include mix.borderRadius(5px);*/
  }
}

.c-form--confirm .c-formItem__select:after {
  display: none;
}

.c-form--confirm .c-formItem__select {
  font-size: 1.4rem;
  color: #555;
}

.c-formList {
  /*border-top: 1px solid #ddd;*/
}
@media screen and (max-width: 767px) {
  .c-formList {
    margin-top: 16px;
    /*padding: 16px 0;*/
  }
}
@media screen and (min-width:768px) {
  .c-formList {
    /*padding: 16px;*/
    margin-top: 24px;
  }
}
.c-formList:first-child {
  margin-top: 0;
  /*border-bottom: 1px solid #ddd;*/
}
.c-formList--last {
  /*border-bottom: 1px solid #ddd;*/
}
@media screen and (max-width: 767px) {
  .c-formList--last {
    margin-bottom: clamp(40px, 10.6666666667vw, 60px);
  }
}
@media screen and (min-width:768px) {
  .c-formList--last {
    margin-bottom: clamp(42.70833336px, 4.1666666667vw, 79.986px);
  }
}

@media screen and (min-width:768px) {
  .c-formList2Col {
    /*display: flex;
      	justify-content: space-between;
      	align-items: baseline;*/
  }
}
.c-formList2Col--confirm {
  border-bottom: 1px solid #000;
}
.c-formList__label {
  position: relative;
  color: #000;
  font-weight: 600;
  /*span {
  	display: block;
  	position: absolute;
  	top: 0;
  	bottom: 0;
  	right: 0;
  	margin: auto 0;
  	background-color: vars.$clrRed;
  	color: #fff;
  	@media screen and (max-width: 767px) {
  		height: 20px;
  		padding: 0 8px;
  		font-size: 1.0rem;
  		line-height: 20px;
  	}
  	@media screen and (min-width:768px) {
  		height: 20px;
  		padding: 0 8px;
  		font-size: 1.0rem;
  		line-height: 20px;
  	}
  }*/
}
@media screen and (max-width: 767px) {
  .c-formList__label {
    margin-bottom: clamp(4px, 1.0666666667vw, 6px);
  }
}
@media screen and (min-width:768px) {
  .c-formList__label {
    /*width: 200px;*/
    margin-bottom: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
    /*padding-right: 48px;*/
  }
}
@media screen and (max-width: 767px) {
  .c-formList__label label {
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .c-formList__label label {
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}
.c-formList__label .p-fromReq {
  margin-left: 2px;
  color: #B20C0C;
}
/* 基本設定 */
.c-form input[type=text], .c-form input[type=tel], .c-form input[type=number], .c-form input[type=email], .c-form input[type=date], .c-form input[type=month], .c-form input[type=week], .c-form input[type=time], .c-form input[type=url], .c-form input[type=password] {
  border: 1px solid #ddd;
  background-color: #fff;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .c-form input[type=text], .c-form input[type=tel], .c-form input[type=number], .c-form input[type=email], .c-form input[type=date], .c-form input[type=month], .c-form input[type=week], .c-form input[type=time], .c-form input[type=url], .c-form input[type=password] {
    border-radius: 3px;
    padding: clamp(10px, 2.6666666667vw, 15px);
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .c-form input[type=text], .c-form input[type=tel], .c-form input[type=number], .c-form input[type=email], .c-form input[type=date], .c-form input[type=month], .c-form input[type=week], .c-form input[type=time], .c-form input[type=url], .c-form input[type=password] {
    border-radius: 3px;
    padding: clamp(11.388888896px, 1.1111111111vw, 21.3296px) clamp(14.23611112px, 1.3888888889vw, 26.662px);
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

/* 郵便番号 */
.mwform-zip-field {
  display: block;
  width: 100%;
}
.mwform-zip-field input {
  display: inline-block !important;
  width: auto !important;
  margin: 0 5px;
}
.mwform-zip-field input:first-child {
  margin-left: 10px;
}

/* チェックボックス */
@media screen and (min-width:768px) {
  .c-formList__checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 40px;
    /*margin-right: 16px;*/
    margin-bottom: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .c-formList__checkbox span {
    margin-bottom: 16px !important;
  }
}
@media screen and (min-width:768px) {
  .c-formList__checkbox span {
    margin-right: 16px;
    margin-bottom: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .c-formList__checkbox span:last-child {
    margin-bottom: 0 !important;
  }
}
.c-formList__checkbox span label {
  position: relative;
  padding-left: 24px;
  color: #000;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-form input[type=checkbox] + span {
    /*margin-bottom: 5px;*/
  }
}
.c-form input[type=checkbox] + span:before {
  /*margin-top: -9px;*/
  /*border: 1px solid vars.$elmBoxItemBdColor;*/
  /*@include mix.borderRadius(5px);*/
  position: absolute;
  top: 7px;
  /*bottom: 0;*/
  left: 0;
  /*margin: auto 0;*/
  content: "";
  width: 16px;
  height: 16px;
  border: 1px solid #ddd;
}
.c-form input[type=checkbox] + span:after {
  top: 0;
}
.c-form input[type=checkbox]:checked + span:after {
  position: absolute;
  top: 4px;
  left: 4px;
  content: "";
  width: 8px;
  height: 8px;
  background-color: #053F8D;
}

/* ラジオボックス */
@media screen and (min-width:768px) {
  .c-formList__radio {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-formList__radio span {
    /*padding-left: 16px;*/
  }
}
@media screen and (min-width:768px) {
  .c-formList__radio span {
    /*display: inline-block !important;
    margin-right: 16px;*/
    /*padding-left: 24px;*/
  }
}

@media screen and (max-width: 767px) {
  .c-form input[type=radio] + span {
    display: inline-block;
    margin-bottom: 5px;
    font-size: 1.3rem;
    padding-left: 24px;
  }
}
@media screen and (min-width:768px) {
  .c-form input[type=radio] + span {
    padding-left: 24px;
  }
}
.c-form input[type=radio] + span:before {
  /*margin-left: -8px;*/
  /*margin-top: -9px;*/
}
.c-form input[type=radio] + span:after {
  top: 0;
}
.c-form input[type=radio]:checked + span:after {
  width: 16px;
  height: 16px;
  /*margin-top: 0px;*/
  /*margin-left: -8px;*/
  background-color: #fff;
  border: 5px solid #053F8D;
}

/* セレクトボックス */
.c-formItem__select {
  /*color: #000;*/
}
@media screen and (max-width: 767px) {
  .c-formItem__select {
    font-size: 1.2rem;
  }
}
@media screen and (min-width:768px) {
  .c-formItem__select {
    font-size: 1.6rem;
  }
}
.c-formItem__select:after {
  content: "";
  border: 0px;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  bottom: 0;
  /*margin: auto 0;*/
  border-radius: 1px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  width: 8px;
  height: 8px;
  right: 16px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .c-formItem__select:after {
    top: 17px;
  }
}
@media screen and (min-width:768px) {
  .c-formItem__select:after {
    top: 23px;
  }
}
@media screen and (max-width: 767px) {
  .c-formItem__select select {
    padding: 10px;
    border-radius: 3px;
  }
}
@media screen and (min-width:768px) {
  .c-formItem__select select {
    /*color: #000;*/
    padding: 16px 20px;
    border-radius: 3px;
    font-weight: normal;
  }
}

/* テキストエリア */
.c-form textarea {
  background-color: #fff;
  -webkit-transition: all 0.2s ease-in-out 0s;
  transition: all 0.2s ease-in-out 0s;
}
@media screen and (max-width: 767px) {
  .c-form textarea {
    margin-bottom: 5px;
    min-height: 150px;
    border-radius: 3px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width:768px) {
  .c-form textarea {
    min-height: 240px;
    margin-bottom: 10px;
    padding: 16px 20px;
    border-radius: 3px;
    font-size: 1.4rem;
  }
}
.c-form textarea:focus {
  border-color: #0DCEC7;
}

.c-formList__button--2col {
  width: 100%;
  overflow: hidden;
}
.c-formList__button--2col .c-formList__button {
  display: inline-block;
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: left;
}
.c-formList__button--2col .c-formList__button:first-child {
  padding-right: 20px;
}
.c-formList__button--2col .c-formList__button:last-child {
  padding-left: 20px;
}

/* 送信ボタン */
.c-formList__button {
  position: relative;
}
.c-formList__button:after {
  content: "";
  border: 0px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 1px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 12px;
  height: 12px;
  right: 30px;
}

/*
.c-form input[type="submit"] {
	width: 100%;
	padding: 21px;
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
	background-color: #ca1f7e;
	@include mix.borderRadius(5px);
	&:hover {
		opacity: .7;
		@include mix.trans($duration: .2s,$delay: 0s)
	}
}
*/
.c-formList__button--back input[type=submit] {
  background-color: #808080;
}

.c-formList__button--back.c-formList__button:after {
  -ms-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 30px;
  right: inherit;
  top: 0;
  bottom: 0;
  margin: auto;
}

.c-formError--input input, .c-formError--input textarea {
  border: 2px solid #e90303;
  background-color: #faf0f0;
}

.c-formItem__select--inline {
  display: inline-block;
  width: 120px;
}
/* 確認・戻る・送信ボタン */
.c-formList__btn {
  margin: 0 auto 20px;
}
@media screen and (max-width: 767px) {
  .c-formList__btn {
    width: 100%;
  }
}
@media screen and (min-width:768px) {
  .c-formList__btn {
    width: 80%;
  }
}

.c-formList__btn--2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-formList__btn--2col {
    margin-top: clamp(40px, 10.6666666667vw, 60px);
  }
}
@media screen and (min-width:768px) {
  .c-formList__btn--2col {
    margin-top: clamp(56.94444448px, 5.5555555556vw, 106.648px);
  }
}

.c-formList__btnL {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .c-formList__btnL {
    padding-right: 5px;
  }
}
@media screen and (min-width:768px) {
  .c-formList__btnL {
    padding-right: 10px;
  }
}

.c-formList__btnR {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .c-formList__btnR {
    padding-left: 5px;
  }
}
@media screen and (min-width:768px) {
  .c-formList__btnR {
    padding-left: 10px;
  }
}

.c-formBtn {
  display: block !important;
  position: relative;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  font-weight: 500;
  background-color: #053F8D;
  background-position: 1% 50%;
  background-size: 200% auto;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out 0s;
  transition: all 0.2s ease-in-out 0s;
}
@media screen and (max-width: 767px) {
  .c-formBtn {
    width: 80%;
    padding: clamp(12px, 3.2vw, 18px) clamp(16px, 4.2666666667vw, 24px);
    border-radius: 3px;
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .c-formBtn {
    width: 60%;
    padding: clamp(14.23611112px, 1.3888888889vw, 26.662px) clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    border-radius: 5px;
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}
.c-formBtn:hover {
  /*background-position: 99% 50%;*/
  background-color: #0DCEC7;
  /*opacity: .5;*/
}
.c-formBtn:after {
  /*position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  background: url("../images/common/ico_arrow_right_link_wht.svg") no-repeat center center;
  background-size: cover;
  border: 0px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  @include mix.borderRadius(1px)
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;*/
}
@media screen and (max-width: 767px) {
  .c-formBtn:after {
    /*width: 16px;
    height: 16px;
    right: 16px;*/
  }
}
@media screen and (min-width:768px) {
  .c-formBtn:after {
    /*width: 22px;
    height: 22px;
    right: 30px;*/
  }
}

.c-formBtnWrap {
  position: relative;
  /*&:after {
  	content: "";
  	border: 0px;
  	-ms-transform: rotate(45deg);
  	-webkit-transform: rotate(45deg);
  	transform: rotate(45deg);
  	position: absolute;
  	top: 0;
  	bottom: 0;
  	margin: auto;
  	@include mix.borderRadius(1px)
  	border-top: solid 2px #fff;
  	border-right: solid 2px #fff;
  	@media screen and (max-width: 767px) {
  		width: 8px;
  		height: 8px;
  		right: 20px;
  	}
  	@media screen and (min-width:768px) {
  		width: 12px;
  		height: 12px;
  		right: 30px;
  	}
  }*/
}
.c-formBtnBackWrap {
  position: relative;
  /*&:after {
  	content: "";
  	border: 0px;
  	-ms-transform: rotate(-135deg);
  	-webkit-transform: rotate(-135deg);
  	transform: rotate(-135deg);
  	position: absolute;
  	top: 0;
  	bottom: 0;
  	margin: auto;
  	@include mix.borderRadius(1px)
  	border-top: solid 2px #fff;
  	border-right: solid 2px #fff;
  	@media screen and (max-width: 767px) {
  		width: 8px;
  		height: 8px;
  		left: 20px;
  	}
  	@media screen and (min-width:768px) {
  		width: 12px;
  		height: 12px;
  		left: 30px;
  	}
  }*/
}
.c-formBtn--back {
  background: none;
  background-color: #808080;
  width: 100%;
}
.c-formBtn--back:after {
  display: none;
}
.c-formBtn--back:before {
  /*content: "";
  border: 0px;
  -ms-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  @include mix.borderRadius(1px)
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;*/
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  background: url("../images/common/ico_arrow_right_link_wht.svg") no-repeat center center;
  background-size: cover;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .c-formBtn--back:before {
    width: 16px;
    height: 16px;
    left: 16px;
  }
}
@media screen and (min-width:768px) {
  .c-formBtn--back:before {
    width: 22px;
    height: 22px;
    left: 30px;
  }
}
.c-formBtn--back:hover {
  background-color: #808080;
  opacity: 0.5;
}

.c-formBtn--send {
  width: 100%;
}
.c-formBtn--send:hover {
  opacity: 0.6;
}

/* エラー */
.mw_wp_form .c-form .error {
  display: block;
  padding-left: 0;
  color: #e90303;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .c-form .error {
    margin-top: 5px;
    font-size: 1rem;
  }
}
@media screen and (min-width:768px) {
  .mw_wp_form .c-form .error {
    margin-top: 10px;
    font-size: 1.2rem;
  }
}

.mw_wp_form .c-form .c-formList__radio span.error {
  display: block !important;
}

.input_error-message {
  color: #e90303;
}
@media screen and (max-width: 767px) {
  .input_error-message {
    margin-top: 5px;
    font-size: 1rem;
  }
}
@media screen and (min-width:768px) {
  .input_error-message {
    margin-top: 10px;
    font-size: 1.2rem;
  }
}

select::-ms-expand {
  display: none;
}

@media screen and (max-width: 767px) {
  .c-formList__input,
  .c-formItem__select,
  .c-formList__textarea {
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .c-formList__input,
  .c-formItem__select,
  .c-formList__textarea {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    /*padding-left: 40px;*/
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

.c-formItem__select {
  position: relative;
}
.c-formItem__select i {
  position: absolute;
  color: #000;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .c-formItem__select i {
    top: 10px;
    right: 8px;
    line-height: 20px;
  }
}
@media screen and (min-width:768px) {
  .c-formItem__select i {
    top: 0;
    right: 15px;
    line-height: 40px;
  }
}

.c-formPrivacyCheck__item {
  /*text-align: center;*/
}
@media screen and (max-width: 767px) {
  .c-formPrivacyCheck__item {
    margin: 24px 0 60px;
  }
}
@media screen and (min-width:768px) {
  .c-formPrivacyCheck__item {
    margin: 40px 0 100px;
  }
}
.c-formPrivacyCheck__item label {
  display: inline-block;
  position: relative;
  /*padding-left: 24px;*/
  color: #000;
  cursor: pointer;
  /*span {
  	@media screen and (max-width: 767px) {
  	}
  	@media screen and (min-width:768px) {
  	}
  	&:before {
  		position: absolute;
  		top: 0;
  		bottom: 0;
  		margin: auto 0;
  		left: 0;
  		content: "";
  		width: 16px;
  		height: 16px;
  		border: 1px solid #ddd;
  		@media screen and (max-width: 767px) {
  		}
  		@media screen and (min-width:768px) {
  		}
  	}
  }*/
}
.c-formPrivacyCheck__item label input[type=checkbox] {
  display: none;
}
.c-formPrivacyCheck__label {
  display: inline-block;
  position: relative;
  /*padding-left: 24px;*/
  color: #000;
  cursor: pointer;
}
.mwform-checkbox-field-text {
  padding-left: 24px;
  display: block;
}
.c-formPrivacyCheck__label input[type=checkbox] {
  display: none;
}
.c-formPrivacyCheck__label input[type=checkbox]:before {
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.c-formPrivacyCheck__item label input[type=checkbox]:checked + .mwform-checkbox-field-text {
  color: #000;
}
.c-formPrivacyCheck__item label input[type=checkbox]:checked + .mwform-checkbox-field-text:after {
  position: absolute;
  top: 11px;
  /*bottom: 0;*/
  /*margin: auto 0;*/
  left: 4px;
  content: "";
  width: 8px;
  height: 8px;
  background-color: #0DCEC7;
}
.c-formPrivacyCheck__label input[type=checkbox]:checked + .c-formPrivacyCheck__txt {
  color: #000;
}
.c-formPrivacyCheck__label input[type=checkbox]:checked + .c-formPrivacyCheck__txt:after {
  position: absolute;
  content: "";
  background-color: #000;
}
@media screen and (max-width: 767px) {
  .c-formPrivacyCheck__label input[type=checkbox]:checked + .c-formPrivacyCheck__txt:after {
    top: 7px;
    left: 5px;
    width: 8px;
    height: 8px;
  }
}
@media screen and (min-width:768px) {
  .c-formPrivacyCheck__label input[type=checkbox]:checked + .c-formPrivacyCheck__txt:after {
    top: 9px;
    left: 5px;
    width: 10px;
    height: 10px;
  }
}

.c-formPrivacyCheck__txt {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .c-formPrivacyCheck__txt {
    padding-left: 24px;
  }
}
@media screen and (min-width:768px) {
  .c-formPrivacyCheck__txt {
    padding-left: 32px;
  }
}
.c-formPrivacyCheck__txt:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  /*bottom: 0;*/
  /*margin: auto 0;*/
  left: 0;
  content: "";
  border: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .c-formPrivacyCheck__txt:before {
    width: 18px;
    height: 18px;
  }
}
@media screen and (min-width:768px) {
  .c-formPrivacyCheck__txt:before {
    width: 20px;
    height: 20px;
  }
}

.mw_wp_form_confirm .input-show {
  display: none;
}
.p-homeMainInfo__btnItem--finish span {
  padding-left: 0 !important;
  background: none !important;
}
.c-form_captcha {
  display: block;
  text-align: center;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .c-form_captcha {
    margin-bottom: 20px;
  }
}
@media screen and (min-width:768px) {
  .c-form_captcha {
    margin-bottom: 40px;
  }
}
.c-form_captcha input[type=text] {
  border: 1px solid #ddd;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-form_captcha input[type=text] {
    width: 40%;
    margin-top: 10px;
    padding: 10px 10px;
    border-radius: 3px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width:768px) {
  .c-form_captcha input[type=text] {
    width: 200px;
    margin-top: 20px;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 1.4rem;
  }
}

.ui-datepicker-year {
  width: auto !important;
}
.ui-datepicker-month {
  width: auto !important;
}
body.overflow-hidden {
  overflow: hidden;
}

header {
  /*z-index: 2;*/
  /*mix-blend-mode: difference;*/
}
main {
  position: relative;
  z-index: 0;
}
.h-menuWrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
.h-headWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media screen and (max-width: 767px) {
  .h-headWrap {
    height: 64px;
    padding: 0 20px;
  }
}
@media screen and (min-width:768px) {
  .h-headWrap {
    height: 80px;
    padding: 0 2.7777777778vw;
  }
}

.h-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .h-logo {
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
  }
}
@media screen and (min-width:768px) {
  .h-logo {
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  .h-logo:hover {
    opacity: 0.6;
  }
}

.h-logo__img {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: url("../images/common/logo_bk.svg") no-repeat left center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .h-logo__img {
    width: 52px;
    height: 24px;
  }
}
@media screen and (min-width:768px) {
  .h-logo__img {
    width: 80px;
    height: 37px;
  }
}

.h-logo__subtitle {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .h-logo__subtitle {
    font-size: 11px;
    line-height: 1.2;
  }
}
@media screen and (min-width:768px) {
  .h-logo__subtitle {
    font-size: 16px;
    line-height: 1.3;
  }
}

@media screen and (max-width: 767px) {
  #home .h-logoLink {
    background: url("../images/common/logo_wht.svg") no-repeat center center;
    background-size: contain;
  }
}
@media screen and (min-width:768px) {
  #home .h-logoLink {
    background: url("../images/common/logo_wht.svg") no-repeat center center;
  }
}

@media screen and (max-width: 767px) {
  .h-gnav {
    display: none;
  }
}
@media screen and (min-width:768px) {
  .h-gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .h-gnav {
    display: none;
  }
}

@media screen and (min-width:768px) {
  .h-gnavItem {
    margin-right: clamp(32px, 3.3333333333vw, 56px);
  }
}
@media screen and (min-width:768px) {
  .h-gnavItem:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width:768px) {
  .h-gnavItem__link {
    color: #000;
    font-size: clamp(12px, 0.9722222222vw, 16px);
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  .h-gnavItem__link:hover {
    /*color: vars.$clrAccent;*/
  }
}

@media screen and (min-width:768px) {
  #home .h-gnavItem__link {
    color: #fff;
  }
}
@media screen and (min-width:768px) {
  #home .h-gnavItem__link:hover {
    /*color: vars.$clrAccent;*/
  }
}

.h-gnavItem__btn {
  /*display: block;*/
  background-color: #053F8D;
  border-radius: 26px;
  color: #fff;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width:768px) {
  .h-gnavItem__btn {
    width: clamp(150px, 11.3888888889vw, 180px);
    padding: clamp(10px, 0.7638888889vw, 14px) 0;
    font-size: clamp(12px, 0.9722222222vw, 16px);
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}

/* is-fixedクラス追加
-----------------------------------------------------------------*/
#home .h-menuWrap.is-fixed, .h-menuWrap.is-fixed {
  position: fixed;
  /*background-color: rgba(255,255,255,.9);*/
  backdrop-filter: blur(12px);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media screen and (max-width: 767px) {
  #home .h-menuWrap.is-fixed, .h-menuWrap.is-fixed {
    top: -64px;
  }
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.is-fixed, .h-menuWrap.is-fixed {
    top: -80px;
  }
}
@media screen and (max-width: 767px) {
  #home .h-menuWrap.is-fixed .h-headWrap .h-logoLink, .h-menuWrap.is-fixed .h-headWrap .h-logoLink {
    background: url("../images/common/logo_bk.svg") no-repeat center center;
    background-size: contain;
  }
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.is-fixed .h-headWrap .h-logoLink, .h-menuWrap.is-fixed .h-headWrap .h-logoLink {
    background: url("../images/common/logo_bk.svg") no-repeat center center;
  }
}
#home .h-menuWrap.is-fixed .h-headWrap .h-btnNav__link .menu-trigger span, .h-menuWrap.is-fixed .h-headWrap .h-btnNav__link .menu-trigger span {
  background-color: rgb(0, 0, 0);
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.is-fixed .h-gnav .h-gnavItem .h-gnavItem__link, .h-menuWrap.is-fixed .h-gnav .h-gnavItem .h-gnavItem__link {
    color: #000;
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.is-fixed .h-gnav .h-gnavItem .h-gnavItem__link:hover, .h-menuWrap.is-fixed .h-gnav .h-gnavItem .h-gnavItem__link:hover {
    /*color: vars.$clrAccent;*/
  }
}

/* menu-is-openクラス追加
-----------------------------------------------------------------*/
#home .h-menuWrap.menu-is-open, .h-menuWrap.menu-is-open {
  background-color: initial;
  backdrop-filter: blur(0px);
  -webkit-transition: all 0.35s ease-in-out 0s;
  transition: all 0.35s ease-in-out 0s;
}
@media screen and (max-width: 767px) {
  #home .h-menuWrap.menu-is-open .h-headWrap .h-logo__img, .h-menuWrap.menu-is-open .h-headWrap .h-logo__img {
    /*background: url("../images/common/logo_wht.svg") no-repeat center center;*/
    background-size: contain;
  }
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.menu-is-open .h-headWrap .h-logo__img, .h-menuWrap.menu-is-open .h-headWrap .h-logo__img {
    /*background: url("../images/common/logo_wht.svg") no-repeat center center;*/
  }
}
#home .h-menuWrap.menu-is-open .h-headWrap .h-logo__subtitle, .h-menuWrap.menu-is-open .h-headWrap .h-logo__subtitle {
  /*color: #fff;*/
}
#home .h-menuWrap.menu-is-open .h-headWrap .h-btnNav__link .menu-trigger span, .h-menuWrap.menu-is-open .h-headWrap .h-btnNav__link .menu-trigger span {
  /*background-color: rgba(255, 255, 255, 100);*/
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link, .h-menuWrap.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link {
    /*color: #fff;*/
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link:hover, .h-menuWrap.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link:hover {
    /*color: vars.$clrAccent;*/
  }
}

/* is-fixed+menu-is-openクラス追加
-----------------------------------------------------------------*/
#home .h-menuWrap.is-fixed.menu-is-open, .h-menuWrap.is-fixed.menu-is-open {
  background-color: initial;
  -webkit-transition: all 0.35s ease-in-out 0s;
  transition: all 0.35s ease-in-out 0s;
}
@media screen and (max-width: 767px) {
  #home .h-menuWrap.is-fixed.menu-is-open .h-headWrap .h-logoLink, .h-menuWrap.is-fixed.menu-is-open .h-headWrap .h-logoLink {
    background: url("../images/common/logo_wht.svg") no-repeat center center;
    background-size: contain;
  }
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.is-fixed.menu-is-open .h-headWrap .h-logoLink, .h-menuWrap.is-fixed.menu-is-open .h-headWrap .h-logoLink {
    background: url("../images/common/logo_wht.svg") no-repeat center center;
  }
}
#home .h-menuWrap.is-fixed.menu-is-open .h-headWrap .h-btnNav__link .menu-trigger span, .h-menuWrap.is-fixed.menu-is-open .h-headWrap .h-btnNav__link .menu-trigger span {
  /*background-color: rgba(255, 255, 255, 100);*/
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.is-fixed.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link, .h-menuWrap.is-fixed.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link {
    /*color: #fff;*/
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  #home .h-menuWrap.is-fixed.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link:hover, .h-menuWrap.is-fixed.menu-is-open .h-gnav .h-gnavItem .h-gnavItem__link:hover {
    /*color: vars.$clrAccent;*/
  }
}

/* is-visibleクラス追加
-----------------------------------------------------------------*/
.h-menuWrap.is-visible {
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
  /*box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);*/
}
/*----- ハンバーガーボタン -----*/
@media screen and (min-width:768px) {
  .h-btnNav__link {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .h-btnNav__link {
    display: initial;
  }
}

.menu-trigger,
.menu-trigger span {
  display: block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  background: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .menu-trigger {
    width: 32px;
    min-height: 15px;
  }
}
@media screen and (min-width:768px) {
  .menu-trigger {
    width: 50px;
    height: 23px;
  }
}

.menu-trigger span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  border-radius: 4px;
}
.menu-trigger span:nth-child(2) {
  width: 80%;
}
.menu-trigger span:nth-child(3) {
  width: 60%;
}
#home .menu-trigger span {
  background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}

@media screen and (max-width: 767px) {
  .menu-trigger span:nth-of-type(2) {
    top: 7px;
  }
}
@media screen and (min-width:768px) {
  .menu-trigger span:nth-of-type(2) {
    top: 11px;
  }
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

#menu05.active span:nth-of-type(1) {
  width: 84%;
}
@media screen and (max-width: 767px) {
  #menu05.active span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
        -ms-transform: translateY(7px) rotate(-45deg);
            transform: translateY(7px) rotate(-45deg);
  }
}
@media screen and (min-width:768px) {
  #menu05.active span:nth-of-type(1) {
    -webkit-transform: translateY(11px) rotate(-45deg);
        -ms-transform: translateY(11px) rotate(-45deg);
            transform: translateY(11px) rotate(-45deg);
  }
}

#menu05.active span:nth-of-type(2) {
  right: -50%;
  opacity: 0;
  -webkit-animation: active-menu05-bar02 0.8s forwards;
          animation: active-menu05-bar02 0.8s forwards;
}

@-webkit-keyframes active-menu05-bar02 {
  100% {
    height: 0;
  }
}

@keyframes active-menu05-bar02 {
  100% {
    height: 0;
  }
}
#menu05.active span:nth-of-type(3) {
  width: 84%;
}
@media screen and (max-width: 767px) {
  #menu05.active span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
        -ms-transform: translateY(-7px) rotate(45deg);
            transform: translateY(-7px) rotate(45deg);
  }
}
@media screen and (min-width:768px) {
  #menu05.active span:nth-of-type(3) {
    -webkit-transform: translateY(-11px) rotate(45deg);
        -ms-transform: translateY(-11px) rotate(45deg);
            transform: translateY(-11px) rotate(45deg);
  }
}

/*----- ナビゲーション -----*/
.h-navWrap {
  position: relative;
  z-index: 1;
}
@-webkit-keyframes animMenuReveal {
  0% {
    width: 0vw;
  }
  100% {
    width: 100vw;
  }
}
@keyframes animMenuReveal {
  0% {
    width: 0vw;
  }
  100% {
    width: 100vw;
  }
}
@-webkit-keyframes animMenuClose {
  0% {
    width: 100vw;
  }
  100% {
    width: 0vw;
  }
}
@keyframes animMenuClose {
  0% {
    width: 100vw;
  }
  100% {
    width: 0vw;
  }
}
@-webkit-keyframes animMenuRevealLinks {
  0% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@keyframes animMenuRevealLinks {
  0% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@-webkit-keyframes animMenuCloseLinks {
  0% {
    width: 0%;
  }
  100% {
    width: 110%;
  }
}
@keyframes animMenuCloseLinks {
  0% {
    width: 0%;
  }
  100% {
    width: 110%;
  }
}
.h-menuArea {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .h-menuArea {
    padding: 102px 0 100px;
    background: -webkit-repeating-linear-gradient(left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.06) 1px, transparent 1px, transparent 20%), rgba(0, 0, 0, 0);
    background: repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.06) 1px, transparent 1px, transparent 20%), rgba(0, 0, 0, 0);
  }
}
@media screen and (min-width:768px) {
  .h-menuArea {
    padding: 120px 0 120px;
    background: -webkit-repeating-linear-gradient(left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.06) 1px, transparent 1px, transparent 14.2857143%), rgba(0, 0, 0, 0);
    background: repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.06) 1px, transparent 1px, transparent 14.2857143%), rgba(0, 0, 0, 0);
  }
}

@media screen and (max-width: 767px) {
  .h-menuInner {
    padding: 0 20px;
  }
}
@media screen and (min-width:768px) {
  .h-menuInner {
    padding: 0 13.8888889vw;
  }
}

.h-nav {
  position: relative;
}
.h-navItem {
  position: relative;
}
@media screen and (max-width: 767px) {
  .h-navItem {
    margin-top: 32px;
  }
}
@media screen and (min-width:768px) {
  .h-navItem {
    margin-top: 64px;
  }
}

.h-navItem__link {
  position: relative;
  display: inline-block;
  color: #000;
  letter-spacing: 0;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .h-navItem__link {
    font-size: 3rem;
    font-size: clamp(2rem, 8vw, 3.2rem);
  }
}
@media screen and (min-width:768px) {
  .h-navItem__link {
    font-size: 6rem;
    font-size: clamp(5rem, 4.16666667vw, 7rem);
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  .h-navItem__link:hover {
    /*color: vars.$clrAccent;*/
  }
}

/* アニメーション定義
-----------------------------------------------------------------*/
@-webkit-keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes slideOut {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@keyframes slideOut {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@-webkit-keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0.9) translateY(-20px);
            transform: scaleY(0.9) translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(1) translateY(0);
            transform: scaleY(1) translateY(0);
  }
}
@keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0.9) translateY(-20px);
            transform: scaleY(0.9) translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(1) translateY(0);
            transform: scaleY(1) translateY(0);
  }
}
@-webkit-keyframes scaleOut {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(1) translateY(0);
            transform: scaleY(1) translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleY(0.9) translateY(20px);
            transform: scaleY(0.9) translateY(20px);
  }
}
@keyframes scaleOut {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(1) translateY(0);
            transform: scaleY(1) translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleY(0.9) translateY(20px);
            transform: scaleY(0.9) translateY(20px);
  }
}
@-webkit-keyframes itemFadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes itemFadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes itemFadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
@keyframes itemFadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
/* アニメーション用のCSS変数定義 */
:root {
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeOutCubic: cubic-bezier(0.33, 1, 0.68, 1);
  --easeInOutCubic: cubic-bezier(0.65, 0, 0.35, 1);
}

/* メニューアニメーション
-----------------------------------------------------------------*/
.h-menu {
  visibility: hidden;
  opacity: 0;
  /*transition: opacity .35s, visibility .35s;*/
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  /*background-color: vars.$clrMain;*/
  background-color: hsla(0, 0%, 100%, 0.6);
  backdrop-filter: blur(24px);
  z-index: 100;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.h-menu.is-visible:not(.menu-animating-in) {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.35s, visibility 0.35s;
  transition: opacity 0.35s, visibility 0.35s;
}

.h-menu.menu-animating-in,
.h-menu.menu-animating-out {
  -webkit-transition: none !important;
  transition: none !important;
}

.h-menu.menu-animating-in {
  visibility: visible;
  -webkit-animation: slideIn 0.8s var(--easeOutExpo) 0s forwards;
          animation: slideIn 0.8s var(--easeOutExpo) 0s forwards;
}
.h-menu.menu-animating-out {
  visibility: visible;
  -webkit-animation: slideOut 1s var(--easeInOutCubic) 0s forwards;
          animation: slideOut 1s var(--easeInOutCubic) 0s forwards;
}

.h-menu.is-visible .h-menuInner {
  opacity: 0;
  -webkit-transform: scaleY(0.9) translateY(-20px);
      -ms-transform: scaleY(0.9) translateY(-20px);
          transform: scaleY(0.9) translateY(-20px);
  -webkit-animation: scaleIn 0.8s var(--easeOutCubic) 0.3s forwards;
          animation: scaleIn 0.8s var(--easeOutCubic) 0.3s forwards;
}
.h-menu.is-visible .h-navItem__link {
  opacity: 0;
  -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
          transform: translateY(20px);
}
.h-menu.is-visible .h-navItem:nth-child(1) .h-navItem__link {
  -webkit-animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.4s forwards;
          animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.4s forwards;
}
.h-menu.is-visible .h-navItem:nth-child(2) .h-navItem__link {
  -webkit-animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.5s forwards;
          animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.5s forwards;
}
.h-menu.is-visible .h-navItem:nth-child(3) .h-navItem__link {
  -webkit-animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.6s forwards;
          animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.6s forwards;
}
.h-menu.is-visible .h-navItem:nth-child(4) .h-navItem__link {
  -webkit-animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.7s forwards;
          animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.7s forwards;
}
.h-menu.is-visible .h-navItem:nth-child(5) .h-navItem__link {
  -webkit-animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.8s forwards;
          animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.8s forwards;
}
.h-menu.is-visible .h-navItem:nth-child(6) .h-navItem__link {
  -webkit-animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.9s forwards;
          animation: itemFadeInUp 0.6s var(--easeOutCubic) 0.9s forwards;
}
.h-menu.close-menu .h-menuInner {
  -webkit-animation: scaleOut 0.4s var(--easeOutCubic) 0s forwards;
          animation: scaleOut 0.4s var(--easeOutCubic) 0s forwards;
}
.h-menu.close-menu .h-navItem__link {
  -webkit-animation: itemFadeOutUp 0.3s var(--easeInOutCubic) 0s forwards;
          animation: itemFadeOutUp 0.3s var(--easeInOutCubic) 0s forwards;
}

/* メニュー初期状態の調整 */
.h-menu {
  overflow: hidden;
}

.h-menuArea {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

/* GPUアクセラレーションを有効にする */
.h-navWrap,
.h-menu,
.h-menuInner,
.h-navItem__link {
  will-change: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* アニメーション終了後にwill-changeを削除 */
.h-navWrap:not(.menu-animating-in):not(.menu-animating-out),
.h-menu:not(.is-visible):not(.close-menu) * {
  will-change: auto;
}

/* ----------------------------------------------------------------
footerのスタイル
-----------------------------------------------------------------*/
footer {
  position: relative;
  width: 100%;
  margin-top: auto;
}
.f-wrap {
  width: 100%;
  background: url("../images/common/bk_noise.webp") repeat-y left top;
  background-size: contain;
}
.f-loopTxtWrap {
  overflow: hidden;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px) {
  .f-loopTxtWrap {
    top: -3.7333333333vw;
  }
}
@media screen and (min-width:768px) {
  .f-loopTxtWrap {
    top: -35px;
  }
}

.f-loopTxtCont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100vw;
}
.f-loopTxtItem {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-family: "Zen Old Mincho", serif;
  white-space: nowrap;
  color: rgba(5, 63, 141, 0.05);
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .f-loopTxtItem {
    font-size: 19.2vw;
  }
}
@media screen and (min-width:768px) {
  .f-loopTxtItem {
    font-size: 180px;
  }
}
.f-loopTxtItem span {
  display: inline-block;
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
  -webkit-transform: translateX(24px);
      -ms-transform: translateX(24px);
          transform: translateX(24px);
}
.f-loopTxtItem span.is-animated {
  opacity: 1;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}

.f-loopTxtItem:nth-child(odd) {
  -webkit-animation: loop 160s -80s linear infinite;
          animation: loop 160s -80s linear infinite;
}
.f-loopTxtItem:nth-child(even) {
  -webkit-animation: loop2 160s linear infinite;
          animation: loop2 160s linear infinite;
}
@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@media screen and (max-width: 767px) {
  .f-inner {
    padding: 21.3333333333vw 15px 15px;
  }
}
@media screen and (min-width:768px) {
  .f-inner {
    padding: 202px clamp(40px, 5.5555555556vw, 80px) clamp(20px, 2.7777777778vw, 40px);
  }
}

.f-area__top {
  width: 100%;
}
@media screen and (min-width:768px) {
  .f-area__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.f-movie {
  height: auto;
  -webkit-mask-image: url("../images/home/pic_musk.svg");
          mask-image: url("../images/home/pic_musk.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 50%;
          mask-position: 0 50%;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}
@media screen and (max-width: 767px) {
  .f-movie {
    width: clamp(150px, 66.6666666667vw, 88vw);
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width:768px) {
  .f-movie {
    width: clamp(440px, 34.7222222222vw, 600px);
  }
}

.f-movie__item {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .f-nav {
    padding-top: clamp(8px, 4.2666666667vw, 32px);
  }
}
@media screen and (min-width:768px) {
  .f-nav {
    width: 120px;
    padding-top: clamp(16px, 1.6666666667vw, 32px);
  }
}

.f-navItem {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .f-navItem {
    margin-top: 16px;
  }
}
@media screen and (min-width:768px) {
  .f-navItem {
    margin-top: 24px;
  }
}
.f-navItem:first-child {
  margin-top: 0;
}

.f-navItem__link {
  color: rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 767px) {
  .f-navItem__link {
    font-size: 12px;
  }
}
@media screen and (min-width:768px) {
  .f-navItem__link {
    font-size: 14px;
  }
}

.f-area__bottom {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .f-area__bottom {
    margin-top: 12.8vw;
  }
}
@media screen and (min-width:768px) {
  .f-area__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-line-pack: center;
        align-content: center;
    margin-top: 88px;
  }
}

.f-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .f-logo {
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
  }
}
@media screen and (min-width:768px) {
  .f-logo {
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  .f-logo:hover {
    opacity: 0.6;
  }
}

.f-logo__img {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: url("../images/common/logo_bk.svg") no-repeat left center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .f-logo__img {
    width: 48px;
    height: 23px;
  }
}
@media screen and (min-width:768px) {
  .f-logo__img {
    width: 52px;
    height: 24px;
  }
}

.f-logo__subtitle {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .f-logo__subtitle {
    font-size: 10px;
    line-height: 1.1;
  }
}
@media screen and (min-width:768px) {
  .f-logo__subtitle {
    font-size: 12px;
    line-height: 1.2;
  }
}

.f-copy {
  color: rgba(0, 0, 0, 0.8);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .f-copy {
    margin-top: 16px;
    font-size: 0.9rem;
  }
}
@media screen and (min-width:768px) {
  .f-copy {
    margin-top: 8px;
    font-size: 1rem;
    text-align: right;
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .f-copy {
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .h-menuArea .f-copy {
    margin: 0;
    padding: 64px 15px 8px 0;
    text-align: right;
  }
}
@media screen and (min-width:768px) {
  .h-menuArea .f-copy {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0 0 clamp(16px, 3.3333333333vw, 48px) clamp(16px, 3.3333333333vw, 48px);
  }
}

/* ----------------------------------------------------------------
generalのスタイル
-----------------------------------------------------------------*/
.g-heroWrap {
  width: 100%;
  background: url("../images/common/bk_noise.webp") repeat-y left top;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .g-heroWrap {
    padding-top: 64px;
  }
}
@media screen and (min-width:768px) {
  .g-heroWrap {
    padding-top: 80px;
  }
}

.g-heroInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .g-heroInner {
    height: clamp(260px, 69.3333333333vw, 390px);
    padding: 0 4vw;
  }
}
@media screen and (min-width:768px) {
  .g-heroInner {
    height: clamp(360px, 36.8055555556vw, 600px);
    padding: 0 clamp(40px, 5.5555555556vw, 5.5555555556vw);
  }
}
@media screen and (max-width: 767px) {
  #confirm .g-heroInner {
    height: clamp(180px, 48vw, 270px);
  }
}
@media screen and (min-width:768px) {
  #confirm .g-heroInner {
    height: clamp(1px, 20.8333333333vw, 600px);
  }
}

.g-heroHead__en {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  color: #000;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .g-heroHead__en {
    font-size: clamp(24px, 10.1333333333vw, 56px);
  }
}
@media screen and (min-width:768px) {
  .g-heroHead__en {
    font-size: clamp(64px, 5vw, 80px);
  }
}
@media screen and (max-width: 767px) {
  .g-heroHead__en .small {
    font-size: clamp(18px, 6.4vw, 40px);
  }
}
@media screen and (min-width:768px) {
  .g-heroHead__en .small {
    font-size: clamp(44px, 3.3333333333vw, 52px);
  }
}

.g-heroHead__jp {
  font-weight: 500;
  color: #000;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .g-heroHead__jp {
    margin-top: clamp(12px, 4.2666666667vw, 20px);
    font-size: clamp(14px, 4.2666666667vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .g-heroHead__jp {
    margin-top: clamp(16px, 1.6666666667vw, 28px);
    font-size: clamp(16px, 1.25vw, 24px);
  }
}

.g-heroSemiHead {
  font-weight: 600;
  color: #000;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .g-heroSemiHead {
    font-size: clamp(30px, 8vw, 45px);
  }
}
@media screen and (min-width:768px) {
  .g-heroSemiHead {
    font-size: clamp(34.166666688px, 3.3333333333vw, 63.9888px);
  }
}

.g-heroBreadWrap {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .g-heroBreadWrap {
    display: none;
  }
}
@media screen and (min-width:768px) {
  .g-heroBreadWrap {
    bottom: 24px;
    right: clamp(40px, 5.5555555556vw, 5.5555555556vw);
  }
}
#confirm .g-heroBreadWrap {
  display: none;
}

.g-heroBreadItem:after {
  content: "/";
}
@media screen and (min-width:768px) {
  .g-heroBreadItem:after {
    padding: 0 8px;
    font-size: clamp(12px, vw(12), 13px);
  }
}
.g-heroBreadItem:last-child:after {
  display: none;
}
.g-heroBreadItem:last-child .g-heroBreadItem__link {
  font-weight: 600;
  color: #053F8D;
}
@media screen and (min-width:768px) {
  .g-heroBreadItem:last-child .g-heroBreadItem__link:hover {
    color: #0DCEC7;
  }
}

.g-heroBreadItem__link {
  letter-spacing: 0;
  color: #333;
}
@media screen and (min-width:768px) {
  .g-heroBreadItem__link {
    font-size: clamp(12px, vw(12), 13px);
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
@media screen and (min-width:768px) {
  .g-heroBreadItem__link:hover {
    color: #0DCEC7;
  }
}

/* ----------------------------------------------------------------
全ページ共通スタイル
-----------------------------------------------------------------*/
.js-text-animation .small span {
  display: inline-block;
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
  -webkit-transform: translateX(24px);
      -ms-transform: translateX(24px);
          transform: translateX(24px);
}
.js-text-animation .small span.is-animated {
  opacity: 1;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.js-text-animation > span:not(.small) {
  display: inline-block;
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
  -webkit-transform: translateX(24px);
      -ms-transform: translateX(24px);
          transform: translateX(24px);
}
.js-text-animation > span:not(.small).is-animated {
  opacity: 1;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}

/* 最小限のローディングCSS */
#loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F1F3F5;
  z-index: 99999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #053F8D;
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
#loading-screen.fade-out {
  opacity: 0.01;
  pointer-events: none;
}

/* ボタン関係
-----------------------------------------------------------------*/
.home-btnWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
  transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
}
@media screen and (max-width: 767px) {
  .home-btnWrap {
    width: 100%;
    border-radius: 14.9333333333vw;
    padding: clamp(10px, 4.8vw, 24px) clamp(10px, 5.3333333333vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .home-btnWrap {
    width: clamp(200px, 16.6666666667vw, 400px);
    border-radius: 4.3055555556vw;
    padding: clamp(14px, 1.1111111111vw, 24px) clamp(20px, 1.6666666667vw, 40px);
  }
}
.home-btnWrap--blue {
  background-color: #053F8D;
}
.home-btnWrap:hover {
  /*box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);*/
}
@media screen and (min-width:768px) {
  .home-btnWrap:hover:before {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@media screen and (min-width:768px) {
  .home-btnWrap:hover .home-btnTxt {
    color: #fff;
  }
}
@media screen and (min-width:768px) {
  .home-btnWrap:hover .home-btnArrow {
    background-color: #fff;
  }
}
@media screen and (min-width:768px) {
  .home-btnWrap:hover .home-btnArrow .arrow--wht {
    color: #053F8D;
  }
}

@media screen and (min-width:768px) {
  .h-gnavItem__btn:hover:before {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}

.home-btnTxt {
  font-weight: 500;
  color: #000;
  overflow: hidden; /* アニメーション用に追加 */
}
@media screen and (max-width: 767px) {
  .home-btnTxt {
    /*font-size: clamp(10px, vars.vw-sp(12), 16px);*/
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .home-btnTxt {
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}
.home-btnWrap--blue .home-btnTxt {
  color: #fff;
}
.home-btnArrow {
  /*display: inline-grid;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #053F8D;
  overflow: hidden; /* アニメーション用に追加 */
}
@media screen and (max-width: 767px) {
  .home-btnArrow {
    width: clamp(30px, 9.6vw, 48px);
    height: clamp(16px, 5.3333333333vw, 28px);
    border-radius: clamp(10px, 2.6666666667vw, 28px);
  }
}
@media screen and (min-width:768px) {
  .home-btnArrow {
    width: clamp(30px, 2.5vw, 48px);
    height: clamp(16px, 1.3888888889vw, 28px);
    border-radius: clamp(10px, 0.6944444444vw, 28px);
  }
}
.home-btnWrap--blue .home-btnArrow {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .home-btnArrow__item {
    width: clamp(14px, 4.2666666667vw, 20px);
    height: auto;
  }
}
@media screen and (min-width:768px) {
  .home-btnArrow__item {
    width: clamp(14px, 1.1111111111vw, 20px);
    height: auto;
  }
}

.p-entryBtnWrap {
  display: inline-block;
  width: 100%;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-entryBtnWrap {
    border-radius: 5px 0 5px 0;
    padding: 5px;
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnWrap {
    border-radius: 18px 0 18px 0;
    padding: 10px;
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnWrap:hover .p-entryBtnInner {
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnWrap:hover .p-entryBtnInner:before {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
.p-entryBtnWrap--pre .p-entryBtnInner {
  background-color: #0D9ACE;
}
.p-entryBtnWrap--pre .p-entryBtnInner:before {
  display: none;
}
.p-entryBtnWrap--end .p-entryBtnInner {
  background-color: #98A2A1;
}
.p-entryBtnWrap--end .p-entryBtnInner:before {
  display: none;
}

.p-entryBtnInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  background-color: #053F8D;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
  transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
}
@media screen and (max-width: 767px) {
  .p-entryBtnInner {
    border-radius: 5px 0 5px 0;
    padding: clamp(24px, 7.4666666667vw, 28px) clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnInner {
    border-radius: 10px 0 10px 0;
    padding: clamp(30px, 2.2222222222vw, 56px);
  }
}

.p-entryBtnTxt {
  font-weight: 500;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-entryBtnTxt {
    font-size: clamp(20px, 5.3333333333vw, 30px);
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnTxt {
    font-size: clamp(19.2024px, 2.5vw, 47.9916px);
  }
}
.p-entryBtnTxt .small {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-entryBtnTxt .small {
    margin-top: clamp(6px, 1.6vw, 9px);
    font-size: clamp(11px, 2.9333333333vw, 16.5px);
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnTxt .small {
    margin-top: clamp(8.5344px, 1.1111111111vw, 21.3296px);
    font-size: clamp(7.4676px, 0.9722222222vw, 18.6634px);
  }
}

.p-entryBtnArrow {
  /*display: inline-grid;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  overflow: hidden; /* アニメーション用に追加 */
}
@media screen and (max-width: 767px) {
  .p-entryBtnArrow {
    width: clamp(30px, 9.6vw, 48px);
    height: clamp(16px, 5.3333333333vw, 28px);
    border-radius: clamp(10px, 2.6666666667vw, 28px);
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnArrow {
    width: clamp(80px, 6.6666666667vw, 96px);
    height: clamp(32px, 2.7777777778vw, 43px);
    border-radius: 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-entryBtnArrow__item {
    width: clamp(14px, 4.2666666667vw, 20px);
    height: auto;
  }
}
@media screen and (min-width:768px) {
  .p-entryBtnArrow__item {
    width: clamp(22px, 1.6666666667vw, 26px);
    height: auto;
  }
}

@media screen and (min-width:768px) {
  .home-btnWrap:before, .p-entryBtnInner:before, .h-gnavItem__btn:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0;
  }
}

.home-btnWrap, .p-entryBtnInner, .h-gnavItem__btn {
  overflow: hidden;
  -webkit-transform: perspective(1px) translateZ(0);
          transform: perspective(1px) translateZ(0);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.home-btnWrap::before, .p-entryBtnInner::before, .h-gnavItem__btn::before {
  width: 101%;
  background: -webkit-gradient(linear, left top, right top, from(rgb(5, 63, 141)), to(rgb(13, 206, 199)));
  background: -webkit-linear-gradient(left, rgb(5, 63, 141) 0%, rgb(13, 206, 199) 100%);
  background: linear-gradient(90deg, rgb(5, 63, 141) 0%, rgb(13, 206, 199) 100%);
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  opacity: 1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/* サイズのバリエーション */
.arrow--wht {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .arrow--wht {
    width: clamp(14px, 4.2666666667vw, 20px);
    height: auto;
  }
}
@media screen and (min-width:768px) {
  .arrow--wht {
    width: clamp(14px, 1.1111111111vw, 20px);
    height: auto;
  }
}

.arrow--blue {
  color: #053F8D;
}
@media screen and (max-width: 767px) {
  .arrow--blue {
    width: clamp(14px, 4.2666666667vw, 20px);
    height: auto;
  }
}
@media screen and (min-width:768px) {
  .arrow--blue {
    width: clamp(14px, 1.1111111111vw, 20px);
    height: auto;
  }
}

.arrow--blueBig {
  color: #053F8D;
}
@media screen and (max-width: 767px) {
  .arrow--blueBig {
    width: clamp(14px, 4.2666666667vw, 20px);
    eight: auto;
  }
}
@media screen and (min-width:768px) {
  .arrow--blueBig {
    width: clamp(24px, 1.6666666667vw, 34px);
    height: auto;
  }
}

/* TOP共通パーツ
-----------------------------------------------------------------*/
.home-contWrap {
  position: relative;
}
@media screen and (max-width: 767px) {
  .home-contWrap {
    padding: 21.3333333333vw 0;
  }
}
@media screen and (min-width:768px) {
  .home-contWrap {
    padding: 10.4166666667vw 0;
  }
}
@media screen and (max-width: 767px) {
  .home-contWrap--graph {
    background: -webkit-repeating-linear-gradient(bottom, #ddd 0, #ddd 1px, transparent 1px, transparent 15px), -webkit-repeating-linear-gradient(left, #ddd 0, #ddd 1px, transparent 1px, transparent 15px);
    background: repeating-linear-gradient(0deg, #ddd 0, #ddd 1px, transparent 1px, transparent 15px), repeating-linear-gradient(90deg, #ddd 0, #ddd 1px, transparent 1px, transparent 15px);
  }
}
@media screen and (min-width:768px) {
  .home-contWrap--graph {
    background: -webkit-repeating-linear-gradient(bottom, #ddd 0, #ddd 1px, transparent 1px, transparent 24px), -webkit-repeating-linear-gradient(left, #ddd 0, #ddd 1px, transparent 1px, transparent 24px);
    background: repeating-linear-gradient(0deg, #ddd 0, #ddd 1px, transparent 1px, transparent 24px), repeating-linear-gradient(90deg, #ddd 0, #ddd 1px, transparent 1px, transparent 24px);
  }
}
@media screen and (max-width: 767px) {
  .home-contWrap--spLayout {
    padding-bottom: clamp(120px, 50.1333333333vw, 343px);
  }
}
.home-headline__num {
  font-family: "Hanken Grotesk", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: #000;
}
@media screen and (max-width: 767px) {
  .home-headline__num {
    font-size: clamp(12px, 3.7333333333vw, 21px);
  }
}
@media screen and (min-width:768px) {
  .home-headline__num {
    font-size: clamp(16px, 1.3888888889vw, 1.3888888889vw);
  }
}

.home-headline01 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  line-height: 1;
  color: #000;
}
@media screen and (max-width: 767px) {
  .home-headline01 {
    font-size: clamp(24px, 8vw, 45px);
  }
}
@media screen and (min-width:768px) {
  .home-headline01 {
    font-size: clamp(40px, 3.4722222222vw, 3.4722222222vw);
  }
}
@media screen and (max-width: 767px) {
  .home-headline01 .small {
    font-size: clamp(16px, 4.8vw, 4.8vw);
  }
}
@media screen and (min-width:768px) {
  .home-headline01 .small {
    font-size: clamp(24px, 2.2222222222vw, 2.2222222222vw);
  }
}

.home-headline02 {
  font-family: "Hanken Grotesk", sans-serif;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (max-width: 767px) {
  .home-headline02 {
    font-size: clamp(12px, 3.7333333333vw, 21px);
  }
}
@media screen and (min-width:768px) {
  .home-headline02 {
    font-size: clamp(20px, 1.5277777778vw, 1.5277777778vw);
  }
}

.home-headline__txt {
  color: #000;
}
@media screen and (max-width: 767px) {
  .home-headline__txt {
    margin-top: 5.3333333333vw;
    font-size: clamp(12px, 3.7333333333vw, 21px);
  }
}
@media screen and (min-width:768px) {
  .home-headline__txt {
    margin-top: 2.7777777778vw;
    font-size: clamp(16px, 1.25vw, 1.25vw);
  }
}

/* KV
-----------------------------------------------------------------*/
.home-kvWrap {
  position: relative;
  width: 100%;
  background: url("../images/common/bk_noise.webp") repeat-y left top;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .home-kvWrap {
    height: 100vh;
    height: 100svh;
  }
}
@media screen and (min-width:768px) {
  .home-kvWrap {
    height: 100vh;
    height: 100svh;
  }
}

.home-movie {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-60%);
      -ms-transform: translateY(-60%);
          transform: translateY(-60%);
  height: auto;
  -webkit-mask-image: url("../images/home/pic_musk.svg");
          mask-image: url("../images/home/pic_musk.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 50%;
          mask-position: 0 50%;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}
@media screen and (max-width: 767px) {
  .home-movie {
    left: 4vw;
    width: clamp(300px, 88vw, 88vw);
  }
}
@media screen and (min-width:768px) {
  .home-movie {
    left: 5.5555555556vw;
    width: clamp(640px, 50vw, 1400px);
  }
}

.home-movie__item {
  width: 100%;
  height: auto;
}
.home-movie {
  opacity: 0;
  -webkit-filter: blur(40px);
          filter: blur(40px);
  -webkit-transform: translateY(-60%) scale(1.05);
      -ms-transform: translateY(-60%) scale(1.05);
          transform: translateY(-60%) scale(1.05);
  -webkit-transition: opacity 1.8s ease-out, -webkit-filter 2.4s ease-out, -webkit-transform 2.4s ease-out;
  transition: opacity 1.8s ease-out, -webkit-filter 2.4s ease-out, -webkit-transform 2.4s ease-out;
  transition: opacity 1.8s ease-out, filter 2.4s ease-out, transform 2.4s ease-out;
  transition: opacity 1.8s ease-out, filter 2.4s ease-out, transform 2.4s ease-out, -webkit-filter 2.4s ease-out, -webkit-transform 2.4s ease-out;
}
.home-movie.is-animated {
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
  -webkit-transform: translateY(-60%) scale(1);
      -ms-transform: translateY(-60%) scale(1);
          transform: translateY(-60%) scale(1);
}

.home-loopTxtWrap {
  overflow: hidden;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px) {
  .home-loopTxtWrap {
    bottom: 40px;
  }
}
@media screen and (min-width:768px) {
  .home-loopTxtWrap {
    bottom: 64px;
  }
}

.home-loopTxtCont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100vw;
}
.home-loopTxtItem {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-family: "Zen Old Mincho", serif;
  white-space: nowrap;
  color: #fff;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .home-loopTxtItem {
    font-size: 19.2vw;
  }
}
@media screen and (min-width:768px) {
  .home-loopTxtItem {
    font-size: 180px;
  }
}

.home-loopTxtItem:nth-child(odd) {
  -webkit-animation: loop 160s -80s linear infinite;
          animation: loop 160s -80s linear infinite;
}
.home-loopTxtItem:nth-child(even) {
  -webkit-animation: loop2 160s linear infinite;
          animation: loop2 160s linear infinite;
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
.home-kvCopy {
  position: absolute;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #053F8D;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .home-kvCopy {
    bottom: 40px;
    right: 10px;
    font-size: clamp(12px, 4.2666666667vw, 4.2666666667vw);
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width:768px) {
  .home-kvCopy {
    bottom: 64px;
    right: clamp(1px, 5.5555555556vw, 80px);
    font-size: clamp(26px, 1.8055555556vw, 1.8055555556vw);
  }
}

/* スクロールダウンの位置 */
.home-scroll {
  position: absolute;
  right: 1%;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .home-scroll {
    bottom: 210px;
  }
}
@media screen and (min-width:768px) {
  .home-scroll {
    bottom: 360px;
  }
}

/* 線のアニメーション部分 */
.home-scroll::before {
  -webkit-animation: scroll 2s infinite;
          animation: scroll 2s infinite;
  background-color: #000;
  content: "";
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .home-scroll::before {
    bottom: -79px;
    height: 64px;
  }
}
@media screen and (min-width:768px) {
  .home-scroll::before {
    bottom: -115px;
    height: 100px;
  }
}

/* 線の背景色 */
.home-scroll::after {
  background-color: #ccc;
  content: "";
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
@media screen and (max-width: 767px) {
  .home-scroll::after {
    bottom: -79px;
    height: 64px;
  }
}
@media screen and (min-width:768px) {
  .home-scroll::after {
    bottom: -115px;
    height: 88px;
  }
}

/* 線のアニメーション */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
/* SEMINERS
-----------------------------------------------------------------*/
.home-semiCard {
  display: block;
}
@media screen and (min-width:768px) {
  .home-semiCard {
    padding: 10px;
  }
}
@media screen and (min-width:768px) {
  .home-semiCard:hover .home-semiCardInner {
    -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
.home-semiCard:hover .home-semiHead {
  color: #053F8D;
}

@media screen and (min-width:768px) {
  .home-semiCardInner {
    -webkit-transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
    transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
  }
}

@media screen and (max-width: 767px) {
  .home-semiListWrap {
    padding: 0 4vw;
  }
}
@media screen and (min-width:768px) {
  .home-semiListWrap {
    padding: 0 clamp(40px, 5.5555555556vw, 5.5555555556vw);
  }
}

.home-semiListInner {
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 100%;
  margin: 0 auto;
}
.home-semiImgWrap {
  position: relative;
  /*border: 1px solid #777;*/
}
@media screen and (min-width:768px) {
  .spiral-top::before,
  .spiral-top::after,
  .spiral-bottom::before,
  .spiral-bottom::after {
    content: " ";
    background: #0DCEC7;
    position: absolute;
    -webkit-box-shadow: 0 0 7px 0 #0DCEC7;
            box-shadow: 0 0 7px 0 #0DCEC7;
    -webkit-transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
    transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
  }
}

@media screen and (min-width:768px) {
  .spiral-top::before {
    top: 0px;
    left: 0px;
    width: 1px;
    height: 0px;
  }
}

@media screen and (min-width:768px) {
  .spiral-top::after {
    top: 0px;
    right: 0px;
    width: 0px;
    height: 1px;
  }
}

@media screen and (min-width:768px) {
  .spiral-bottom::before {
    bottom: 0px;
    left: 0px;
    width: 0px;
    height: 1px;
  }
}

@media screen and (min-width:768px) {
  .spiral-bottom::after {
    bottom: 0px;
    right: 0px;
    width: 1px;
    height: 0px;
  }
}

@media screen and (min-width:768px) {
  .home-semiCard:hover .spiral-top::before, .semi-listLink:hover .spiral-top::before {
    height: 100%;
  }
}

@media screen and (min-width:768px) {
  .home-semiCard:hover .spiral-top::after, .semi-listLink:hover .spiral-top::after {
    width: 100%;
  }
}

@media screen and (min-width:768px) {
  .home-semiCard:hover .spiral-bottom::before, .semi-listLink:hover .spiral-bottom::before {
    width: 100%;
  }
}

@media screen and (min-width:768px) {
  .home-semiCard:hover .spiral-bottom::after, .semi-listLink:hover .spiral-bottom::after {
    height: 100%;
  }
}

.home-semiTag {
  position: absolute;
  background-color: #053F8D;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .home-semiTag {
    top: clamp(5px, 1.3333333333vw, 16px);
    left: clamp(5px, 1.3333333333vw, 16px);
    width: clamp(96px, 25.6vw, 120px);
    padding: clamp(8px, 2.1333333333vw, 12px) clamp(6px, 1.6vw, 8px);
    border-radius: 5px 0 5px 0;
    font-size: clamp(9px, 2.4vw, 11px);
  }
}
@media screen and (min-width:768px) {
  .home-semiTag {
    top: clamp(16px, 1.1111111111vw, 24px);
    left: clamp(16px, 1.1111111111vw, 24px);
    width: clamp(120px, 8.3333333333vw, 180px);
    padding: clamp(10px, 0.6944444444vw, 16px) clamp(8px, 0.5555555556vw, 24px);
    border-radius: 5px 0 5px 0;
    font-size: clamp(12px, 0.8333333333vw, 16px);
  }
}
.home-semiTag--now {
  background-color: #0DCEC7;
}
.home-semiTag--pre {
  background-color: #0D9ACE;
}
.home-semiTag--end {
  background-color: #98A2A1;
}
.pv-heroHeadWrap .home-semiTag {
  position: initial;
}
@media screen and (max-width: 767px) {
  .pv-heroHeadWrap .home-semiTag {
    margin-bottom: clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .pv-heroHeadWrap .home-semiTag {
    margin-bottom: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
  }
}

.home-semiImg__arrow {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .home-semiImg__arrow {
    bottom: clamp(5px, 1.3333333333vw, 16px);
    right: clamp(5px, 1.3333333333vw, 16px);
  }
}
@media screen and (min-width:768px) {
  .home-semiImg__arrow {
    bottom: clamp(16px, 1.1111111111vw, 24px);
    right: clamp(16px, 1.1111111111vw, 24px);
  }
}

.home-semiPeriod {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #000;
}
@media screen and (max-width: 767px) {
  .home-semiPeriod {
    margin-top: 14px;
    font-size: clamp(11px, 2.9333333333vw, 13px);
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
  }
}
@media screen and (min-width:768px) {
  .home-semiPeriod {
    margin-top: 16px;
    font-size: clamp(12px, 0.8333333333vw, 16px);
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
  }
}

.home-semiPeriod__head {
  position: relative;
  line-height: 1;
}
.home-semiPeriod__head:after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -8px;
  content: "";
  width: 1px;
  height: clamp(10px, 0.6944444444vw, 15px);
  background-color: rgba(0, 0, 0, 0.8);
}
.home-semiPeriod__txt {
  line-height: 1;
}
.home-semiHead {
  font-weight: 600;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .home-semiHead {
    margin-top: 8px;
    font-size: clamp(18px, 4.8vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .home-semiHead {
    margin-top: 8px;
    font-size: clamp(24px, 1.6666666667vw, 40px);
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}

@media screen and (max-width: 767px) {
  .home-semiSumWrap {
    margin-top: 10px;
  }
}
@media screen and (min-width:768px) {
  .home-semiSumWrap {
    margin-top: 16px;
  }
}

.home-semiSumItem {
  position: relative;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
  padding-left: 12px;
}
@media screen and (max-width: 767px) {
  .home-semiSumItem {
    margin-top: 6px;
    font-size: clamp(11px, 2.9333333333vw, 13px);
  }
}
@media screen and (min-width:768px) {
  .home-semiSumItem {
    margin-top: 8px;
    font-size: clamp(12px, 0.8333333333vw, 16px);
  }
}
.home-semiSumItem:first-child {
  margin-top: 0;
}
.home-semiSumItem:before {
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  width: 5px;
  height: 5px;
  background-color: #000;
}
/* swiper
-----------------------------------------------------------------*/
.js-card02 {
  overflow: hidden;
}
.js-card02 .swiper {
  overflow: visible;
}
.js-card02 .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 767px) {
  .js-card02 .swiper-slide {
    margin-right: 4vw !important;
  }
}
@media screen and (min-width:768px) {
  .js-card02 .swiper-slide {
    margin-right: clamp(20px, 1.3888888889vw, 28px);
  }
}
.js-card02 .swiper-slide:last-child {
  margin-right: 0 !important;
}
.js-card02 .slide {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .js-card02 .slide {
    width: 66.6666666667vw;
  }
}
@media screen and (min-width:768px) {
  .js-card02 .slide {
    width: clamp(360px, 27.7777777778vw, 27.7777777778vw);
  }
}
.js-card02 .slide img {
  width: 100%;
  height: auto;
}
.js-card02 .swiper-controller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .js-card02 .swiper-controller {
    gap: 12px;
    margin-top: 8vw;
  }
}
@media screen and (min-width:768px) {
  .js-card02 .swiper-controller {
    gap: 24px;
    margin-top: 4.1666666667vw;
  }
}
.js-card02 .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto 0 0;
}
.js-card02 .swiper-pagination-bullet {
  width: 16px;
  height: 3px;
  background-color: #ddd;
  cursor: pointer;
  -webkit-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
}
.js-card02 .swiper-pagination-bullet-active {
  width: 40px;
  background-color: #053F8D;
}
.js-card02 .swiper-button-prev, .js-card02 .swiper-button-next {
  position: relative;
  display: grid;
  place-content: center;
  /*border: 1px solid #000;*/
  cursor: pointer;
  -webkit-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
}
@media screen and (max-width: 767px) {
  .js-card02 .swiper-button-prev, .js-card02 .swiper-button-next {
    width: 77px;
    height: 36px;
  }
}
@media screen and (min-width:768px) {
  .js-card02 .swiper-button-prev, .js-card02 .swiper-button-next {
    width: 88px;
    height: 40px;
  }
}
.js-card02 .swiper-button-prev::before, .js-card02 .swiper-button-next::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 25px;
  background-color: #053F8D;
}
.js-card02 .swiper-button-disabled {
  opacity: 1 !important;
}
.js-card02 .swiper-button-disabled::before {
  background-color: #ddd !important;
  -webkit-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
}
.js-card02 .swiper-button-prev::after, .js-card02 .swiper-button-next::after {
  content: "";
  width: 10px;
  height: 10px;
  border-width: 2px 2px 0 0;
  border-color: #FFF;
}
.js-card02 .swiper-button-prev::after {
  margin-left: 4px;
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.js-card02 .swiper-button-next::after {
  margin-right: 4px;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.js-card02 .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}
/* BACKGROUND IMG
-----------------------------------------------------------------*/
.home-bigImgWrap {
  position: relative;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .home-bigImgWrap {
    height: 85.3333333333vw;
  }
}
@media screen and (min-width:768px) {
  .home-bigImgWrap {
    height: 45.8333333333vw;
  }
}

.home-bigImg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .home-bigImg--01 {
    background: url("../images/home/bg_photo_01.webp") no-repeat center right -80px;
    background-size: cover;
  }
}
@media screen and (min-width:768px) {
  .home-bigImg--01 {
    background: url("../images/home/bg_photo_01.webp") no-repeat center right;
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .home-bigImg--02 {
    background: url("../images/home/bg_photo_02.webp") no-repeat center center;
    background-size: cover;
  }
}
@media screen and (min-width:768px) {
  .home-bigImg--02 {
    background: url("../images/home/bg_photo_02.webp") no-repeat center center;
    background-size: cover;
  }
}

/* ABOUT US
-----------------------------------------------------------------*/
@media screen and (min-width:768px) {
  .home-abtArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .home-abtArea {
    display: block;
  }
}

.home-abtPicWrap {
  position: relative;
}
@media screen and (max-width: 767px) {
  .home-abtPicWrap {
    text-align: center;
  }
}
@media screen and (min-width:768px) {
  .home-abtPicWrap {
    width: 36.1111111111vw;
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .home-abtPicWrap {
    width: 50.78125vw;
    margin: 0 auto;
  }
}

@media screen and (min-width:768px) {
  .home-abtCont {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.home-abtPic__ring {
  width: 100%;
  height: auto;
}
.home-abtPic__txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.home-abt__lead {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  line-height: 1.6;
  color: #000;
}
@media screen and (max-width: 767px) {
  .home-abt__lead {
    margin-top: 4.2666666667vw;
    font-size: clamp(16px, 6.9333333333vw, 40px);
  }
}
@media screen and (min-width:768px) {
  .home-abt__lead {
    margin-top: 2.2222222222vw;
    font-size: clamp(24px, 2.7777777778vw, 2.7777777778vw);
  }
}

.home-abt__txt {
  color: #000;
}
@media screen and (max-width: 767px) {
  .home-abt__txt {
    margin-top: 8.5333333333vw;
    font-size: clamp(11px, 3.4666666667vw, 20px);
    line-height: 2.4;
  }
}
@media screen and (min-width:768px) {
  .home-abt__txt {
    margin-top: 3.8888888889vw;
    font-size: clamp(14px, 1.1111111111vw, 1.1111111111vw);
    line-height: 3;
  }
}

.home-abtSignWrap {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .home-abtSignWrap {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width:768px) {
  .home-abtSignWrap {
    margin-top: 4.4444444444vw;
  }
}

@media screen and (max-width: 767px) {
  .home-abtSign {
    width: 53.3333333333vw;
  }
}
.home-abtName {
  color: #000;
  line-height: 1;
  text-align: right;
}
.home-abtName .position {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .home-abtName .position {
    margin-right: 1.0666666667vw;
    font-size: clamp(8px, 2.6666666667vw, 15px);
  }
}
@media screen and (min-width:768px) {
  .home-abtName .position {
    margin-right: 0.5555555556vw;
    font-size: clamp(10px, 0.8333333333vw, 0.8333333333vw);
  }
}
.home-abtName .name {
  display: inline-block;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .home-abtName .name {
    font-size: clamp(15px, 4.5333333333vw, 25px);
  }
}
@media screen and (min-width:768px) {
  .home-abtName .name {
    font-size: clamp(22px, 1.6666666667vw, 1.6666666667vw);
  }
}

/* EXPERT DOCTORS
-----------------------------------------------------------------*/
.home-docMov {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.home-docWrap {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.home-docWrap .home-headline02 {
  color: #fff;
  text-align: center;
}
.home-docWrap .home-abt__lead {
  color: #fff;
  text-align: center;
}
.home-docInner {
  backdrop-filter: blur(10px);
}
@media screen and (max-width: 767px) {
  .home-docInner {
    padding: 21.3333333333vw 4vw;
  }
}
@media screen and (min-width:768px) {
  .home-docInner {
    padding: 10.4166666667vw clamp(120px, 16.6666666667vw, 16.6666666667vw);
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .home-docInner {
    padding: 10.4166666667vw clamp(40px, 5.5555555556vw, 5.5555555556vw);
  }
}

.home-doc__sup {
  position: relative;
}
.home-doc__sup:after {
  position: absolute;
  top: -6px;
  right: -8px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .home-doc__sup:after {
    font-size: clamp(8px, 2.6666666667vw, 15px);
  }
}
@media screen and (min-width:768px) {
  .home-doc__sup:after {
    font-size: clamp(10px, 0.8333333333vw, 0.8333333333vw);
  }
}
.home-doc__sup--01:after {
  content: "※1";
}
.home-doc__sup--02:after {
  content: "※2";
}

.home-doc__att {
  color: #fff;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .home-doc__att {
    font-size: clamp(8px, 2.6666666667vw, 15px);
  }
}
@media screen and (min-width:768px) {
  .home-doc__att {
    font-size: clamp(10px, 0.8333333333vw, 0.8333333333vw);
  }
}

@media screen and (max-width: 767px) {
  .home-docArea {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width:768px) {
  .home-docArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 2.7777777778vw;
       -moz-column-gap: 2.7777777778vw;
            column-gap: 2.7777777778vw;
    margin-top: 4.4444444444vw;
  }
}

@media screen and (max-width: 767px) {
  .home-docBox__js {
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (min-width:768px) {
  .home-docBox__js {
    width: clamp(300px, 31.9444444444vw, 31.9444444444vw);
  }
}

@media screen and (max-width: 767px) {
  .home-docBox__ks {
    width: 80%;
    margin: 8.5333333333vw auto 0;
  }
}
@media screen and (min-width:768px) {
  .home-docBox__ks {
    width: clamp(300px, 31.9444444444vw, 31.9444444444vw);
  }
}

.home-docPhoto {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .home-docPhoto {
    border-radius: 4px;
  }
}
@media screen and (min-width:768px) {
  .home-docPhoto {
    border-radius: 8px;
  }
}

.home-docPost {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 767px) {
  .home-docPost {
    margin-top: 2.1333333333vw;
    padding-bottom: 0.5333333333vw;
  }
}
@media screen and (min-width:768px) {
  .home-docPost {
    margin-top: 1.1111111111vw;
    padding-bottom: 0.2777777778vw;
  }
}

@media screen and (max-width: 767px) {
  .home-docPostItem {
    font-size: clamp(11px, 3.4666666667vw, 20px);
  }
}
@media screen and (min-width:768px) {
  .home-docPostItem {
    font-size: clamp(14px, 1.1111111111vw, 1.1111111111vw);
  }
}

.home-docName {
  font-family: "Zen Old Mincho", serif;
  color: #fff;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .home-docName {
    margin-top: 2.1333333333vw;
    font-size: clamp(16px, 6.4vw, 6.4vw);
  }
}
@media screen and (min-width:768px) {
  .home-docName {
    margin-top: 1.1111111111vw;
    font-size: clamp(24px, 2.0833333333vw, 2.0833333333vw);
  }
}
.home-docName .small {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .home-docName .small {
    margin-left: 1.0666666667vw;
    font-size: clamp(14px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .home-docName .small {
    margin-left: 0.5555555556vw;
    font-size: clamp(18px, 1.3888888889vw, 1.3888888889vw);
  }
}

@media screen and (max-width: 767px) {
  .home-docBtnWrap {
    margin-top: 13.3333333333vw;
  }
}
@media screen and (min-width:768px) {
  .home-docBtnWrap {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 6.9444444444vw auto 0;
  }
}

/* VOICE
-----------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .home-voiceCont {
    margin-top: 14.9333333333vw;
  }
}
@media screen and (min-width:768px) {
  .home-voiceCont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 3.8888888889vw;
       -moz-column-gap: 3.8888888889vw;
            column-gap: 3.8888888889vw;
    margin-top: 5.5555555556vw;
  }
}

.home-voiceCard {
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .home-voiceCard {
    border-radius: 3px;
    margin-top: 5.3333333333vw;
    padding: 4.2666666667vw 4vw 4vw;
  }
}
@media screen and (min-width:768px) {
  .home-voiceCard {
    border-radius: 5px;
    padding: 2.7777777778vw 2.7777777778vw 2.7777777778vw;
  }
}
.home-voiceCard:first-child {
  margin-top: 0;
}

.home-voiceNumber {
  position: absolute;
  right: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .home-voiceNumber {
    top: -6.4vw;
  }
}
@media screen and (min-width:768px) {
  .home-voiceNumber {
    top: -2.7777777778vw;
  }
}
.home-voiceNumber .txt {
  display: inline-block;
  font-family: "Hanken Grotesk", sans-serif;
  color: #053F8D;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .home-voiceNumber .txt {
    margin-right: 1.0666666667vw;
    font-size: clamp(14px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .home-voiceNumber .txt {
    margin-right: 0.5555555556vw;
    font-size: clamp(20px, 1.5277777778vw, 1.5277777778vw);
  }
}
.home-voiceNumber .num {
  display: inline-block;
  font-family: "Zen Old Mincho", serif;
  color: #053F8D;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .home-voiceNumber .num {
    font-size: 13.3333333333vw;
  }
}
@media screen and (min-width:768px) {
  .home-voiceNumber .num {
    font-size: clamp(52px, 5.8333333333vw, 5.8333333333vw);
  }
}

.home-voice__head {
  font-weight: 500;
  color: #000;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .home-voice__head {
    margin-top: 4.2666666667vw;
    font-size: clamp(14px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .home-voice__head {
    margin-top: 1.6666666667vw;
    font-size: clamp(20px, 1.5277777778vw, 1.5277777778vw);
  }
}

@media screen and (max-width: 767px) {
  .home-voice__txt {
    margin-top: 4.2666666667vw;
    font-size: clamp(11px, 3.4666666667vw, 20px);
  }
}
@media screen and (min-width:768px) {
  .home-voice__txt {
    margin-top: 1.6666666667vw;
    font-size: clamp(14px, 1.1111111111vw, 1.1111111111vw);
  }
}

/* CONTACT
-----------------------------------------------------------------*/
@media screen and (min-width:768px) {
  .home-headLayoutWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: clamp(80px, 5.5555555556vw, 5.5555555556vw);
       -moz-column-gap: clamp(80px, 5.5555555556vw, 5.5555555556vw);
            column-gap: clamp(80px, 5.5555555556vw, 5.5555555556vw);
  }
}

@media screen and (max-width: 767px) {
  .home-headLayout__right {
    width: 100%;
    margin-top: 13.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .home-contWrap--spLayout .home-headLayout__right {
    position: absolute;
    bottom: 21.3333333333vw;
    left: 0;
    padding: 0 4vw;
  }
}
/* ----------------------------------------------------------------
下層ページ個別スタイル
-----------------------------------------------------------------*/
/* 下層共通
-----------------------------------------------------------------*/
@media screen and (min-width:768px) {
  .p-2colWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-2colWrap--semi {
    padding: clamp(35px, 9.3333333333vw, 52.5px) 0 clamp(80px, 21.3333333333vw, 120px);
  }
}
@media screen and (min-width:768px) {
  .p-2colWrap--semi {
    padding: clamp(34.166666688px, 3.3333333333vw, 63.9888px) 0 clamp(113.88888896px, 11.1111111111vw, 213.296px);
  }
}

.semi-2colWrap {
  border-top: 1px solid #ddd;
}
.semi-2colWrap--first {
  border-top: none;
}
@media screen and (max-width: 767px) {
  .semi-2colWrap--first {
    padding-top: clamp(60px, 16vw, 90px);
  }
}
@media screen and (min-width:768px) {
  .semi-2colWrap--first {
    padding-top: clamp(56.94444448px, 5.5555555556vw, 106.648px);
  }
}

@media screen and (min-width:768px) {
  .p-2colLeft {
    width: clamp(213.36px, 27.7777777778vw, 533.24px);
  }
}

@media screen and (max-width: 767px) {
  .p-2colRight {
    margin-top: clamp(40px, 10.6666666667vw, 60px);
  }
}
@media screen and (min-width:768px) {
  .p-2colRight {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-headline01__en {
  position: relative;
  font-weight: 600;
  color: #000;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-headline01__en {
    padding-left: clamp(10px, 2.6666666667vw, 15px);
    font-size: clamp(11px, 2.9333333333vw, 16.5px);
  }
}
@media screen and (min-width:768px) {
  .p-headline01__en {
    padding-left: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}
.p-headline01__en:before {
  position: absolute;
  top: 0.35em;
  left: 0;
  content: "";
  background-color: #053F8D;
}
@media screen and (max-width: 767px) {
  .p-headline01__en:before {
    width: 4px;
    height: 4px;
  }
}
@media screen and (min-width:768px) {
  .p-headline01__en:before {
    width: 5px;
    height: 5px;
  }
}

.p-headline01__jp {
  font-weight: 500;
  color: #000;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-headline01__jp {
    margin-top: clamp(4px, 1.0666666667vw, 6px);
    font-size: clamp(23px, 6.1333333333vw, 34.5px);
  }
}
@media screen and (min-width:768px) {
  .p-headline01__jp {
    margin-top: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
    font-size: clamp(22.777777792px, 2.2222222222vw, 42.6592px);
  }
}

.p-headline04 {
  position: relative;
  font-weight: 600;
  color: #000;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-headline04 {
    padding-top: clamp(4px, 1.0666666667vw, 6px);
    font-size: clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .p-headline04 {
    padding-top: clamp(4.270833336px, 0.4166666667vw, 7.9986px);
    font-size: clamp(14.23611112px, 1.3888888889vw, 26.662px);
  }
}
.p-headline04:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  background-color: #053F8D;
}
@media screen and (max-width: 767px) {
  .p-headline04:before {
    width: clamp(16px, 4.2666666667vw, 24px);
    height: clamp(2px, 0.5333333333vw, 3px);
  }
}
@media screen and (min-width:768px) {
  .p-headline04:before {
    width: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    height: clamp(1.423611112px, 0.1388888889vw, 2.6662px);
  }
}

@media screen and (max-width: 767px) {
  .p-txt {
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .p-txt {
    font-size: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}

.p-listItem {
  position: relative;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-listItem {
    padding-left: clamp(12px, 3.2vw, 18px);
    margin-top: clamp(16px, 4.2666666667vw, 24px);
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .p-listItem {
    padding-left: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    margin-top: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    font-size: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}
.p-listItem:first-child {
  margin-top: 0;
}
.p-listItem:before {
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  background-color: #053F8D;
}
@media screen and (max-width: 767px) {
  .p-listItem:before {
    width: clamp(5px, 1.3333333333vw, 7.5px);
    height: clamp(5px, 1.3333333333vw, 7.5px);
  }
}
@media screen and (min-width:768px) {
  .p-listItem:before {
    width: clamp(4.270833336px, 0.4166666667vw, 7.9986px);
    height: clamp(4.270833336px, 0.4166666667vw, 7.9986px);
  }
}

.p-defWrap {
  border: 1px solid #CACCCE;
  border-bottom: none;
}
.p-defItem {
  border-bottom: 1px solid #CACCCE;
}
@media screen and (min-width:768px) {
  .p-defItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-def__head {
  background-color: #F4F4F4;
  font-weight: 500;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-def__head {
    border-bottom: 1px solid #CACCCE;
    padding: clamp(10px, 2.6666666667vw, 15px);
  }
}
@media screen and (min-width:768px) {
  .p-def__head {
    width: 20%;
    min-width: 100px;
    padding: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    border-right: 1px solid #CACCCE;
  }
}

.p-def__txt {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-def__txt {
    padding: clamp(10px, 2.6666666667vw, 15px);
  }
}
@media screen and (min-width:768px) {
  .p-def__txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
  }
}

.p-att {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-att {
    font-size: clamp(10px, 2.6666666667vw, 15px);
  }
}
@media screen and (min-width:768px) {
  .p-att {
    font-size: clamp(9.253472228px, 0.9027777778vw, 17.3303px);
  }
}

.p-txtLink {
  color: #053F8D;
  /*color: vars.$clrFsBase;*/
  text-decoration: underline;
}
@media screen and (min-width:768px) {
  .p-txtLink {
    -webkit-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
  }
}
.p-txtLink:hover {
  text-decoration: none;
}
@media screen and (min-width:768px) {
  .p-txtLink:hover {
    color: #0DCEC7;
  }
}

/* ABOUT US
-----------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .abt-membWrap {
    margin-top: clamp(60px, 16vw, 90px);
  }
}
@media screen and (min-width:768px) {
  .abt-membWrap {
    margin-top: clamp(85.41666672px, 8.3333333333vw, 159.972px);
  }
}

@media screen and (max-width: 767px) {
  .abt-memArea {
    margin-top: clamp(40px, 10.6666666667vw, 60px);
  }
}
@media screen and (min-width:768px) {
  .abt-memArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: clamp(64.008px, 8.3333333333vw, 159.972px);
       -moz-column-gap: clamp(64.008px, 8.3333333333vw, 159.972px);
            column-gap: clamp(64.008px, 8.3333333333vw, 159.972px);
    margin-top: clamp(56.94444448px, 5.5555555556vw, 106.648px);
    padding-left: clamp(56.94444448px, 5.5555555556vw, 106.648px);
  }
}
@media screen and (max-width: 767px) {
  .abt-memArea--rev {
    margin-top: clamp(80px, 21.3333333333vw, 120px);
  }
}
@media screen and (min-width:768px) {
  .abt-memArea--rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-top: clamp(85.41666672px, 8.3333333333vw, 159.972px);
    padding-left: 0;
    padding-right: clamp(56.94444448px, 5.5555555556vw, 106.648px);
  }
}

@media screen and (max-width: 767px) {
  .abt-memPhoto {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }
}
@media screen and (min-width:768px) {
  .abt-memPhoto {
    width: clamp(234.696px, 30.5555555556vw, 586.564px);
  }
}
.abt-memPhoto img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .abt-memPhoto img {
    border-radius: 4px;
  }
}
@media screen and (min-width:768px) {
  .abt-memPhoto img {
    border-radius: 8px;
  }
}

@media screen and (max-width: 767px) {
  .abt-memCont {
    margin-top: clamp(40px, 10.6666666667vw, 60px);
  }
}
@media screen and (min-width:768px) {
  .abt-memCont {
    padding-top: clamp(28.47222224px, 2.7777777778vw, 53.324px);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.abt-memRole {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  color: #000;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .abt-memRole {
    font-size: clamp(15px, 4vw, 22.5px);
  }
}
@media screen and (min-width:768px) {
  .abt-memRole {
    font-size: clamp(14.23611112px, 1.3888888889vw, 26.662px);
  }
}

.abt-memPosi {
  color: #000;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .abt-memPosi {
    margin-top: clamp(30px, 8vw, 45px);
    font-size: clamp(13px, 3.4666666667vw, 19.5px);
  }
}
@media screen and (min-width:768px) {
  .abt-memPosi {
    margin-top: clamp(28.47222224px, 2.7777777778vw, 53.324px);
    font-size: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}

.abt-memName__en {
  font-family: "Zen Old Mincho", serif;
  color: #000;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .abt-memName__en {
    margin-top: clamp(4px, 1.0666666667vw, 6px);
    font-size: clamp(38px, 10.1333333333vw, 57px);
  }
}
@media screen and (min-width:768px) {
  .abt-memName__en {
    margin-top: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
    font-size: clamp(39.861111136px, 3.8888888889vw, 74.6536px);
  }
}

.abt-memName__jp {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  color: #000;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .abt-memName__jp {
    margin-top: clamp(16px, 4.2666666667vw, 24px);
    font-size: clamp(18px, 4.8vw, 27px);
  }
}
@media screen and (min-width:768px) {
  .abt-memName__jp {
    margin-top: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    font-size: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
  }
}
.abt-memName__jp .small {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .abt-memName__jp .small {
    margin-left: clamp(9px, 2.4vw, 13.5px);
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .abt-memName__jp .small {
    margin-left: clamp(8.541666672px, 0.8333333333vw, 15.9972px);
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

@media screen and (max-width: 767px) {
  .abt-memCareer {
    margin-top: clamp(50px, 13.3333333333vw, 75px);
    font-size: clamp(13px, 3.4666666667vw, 19.5px);
  }
}
@media screen and (min-width:768px) {
  .abt-memCareer {
    margin-top: clamp(71.1805556px, 6.9444444444vw, 133.31px);
    font-size: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}

.abt-hr {
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .abt-hr {
    margin: clamp(80px, 21.3333333333vw, 120px) 0;
  }
}
@media screen and (min-width:768px) {
  .abt-hr {
    margin: clamp(113.88888896px, 11.1111111111vw, 213.296px) 0;
  }
}

@media screen and (max-width: 767px) {
  .abt-infoWrap {
    margin-top: clamp(36px, 9.6vw, 54px);
  }
}
@media screen and (min-width:768px) {
  .abt-infoWrap {
    margin-top: clamp(34.166666688px, 3.3333333333vw, 63.9888px);
  }
}

.abt-info__ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  color: #000;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .abt-info__ttl {
    font-size: clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .abt-info__ttl {
    font-size: clamp(14.947916676px, 1.4583333333vw, 27.9951px);
  }
}

.abt-infoCont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .abt-infoCont {
    -webkit-column-gap: clamp(20px, 5.3333333333vw, 30px);
       -moz-column-gap: clamp(20px, 5.3333333333vw, 30px);
            column-gap: clamp(20px, 5.3333333333vw, 30px);
  }
}
@media screen and (min-width:768px) {
  .abt-infoCont {
    -webkit-column-gap: clamp(21.336px, 2.7777777778vw, 53.324px);
       -moz-column-gap: clamp(21.336px, 2.7777777778vw, 53.324px);
            column-gap: clamp(21.336px, 2.7777777778vw, 53.324px);
  }
}
.abt-infoCont:last-child .abt-info__head {
  border-bottom: 1px solid #ddd;
}
.abt-infoCont:last-child .abt-info__txt {
  border-bottom: 1px solid #ddd;
}
.abt-info__head {
  border-top: 1px solid #ddd;
  font-weight: 500;
  color: #053F8D;
}
@media screen and (max-width: 767px) {
  .abt-info__head {
    width: clamp(88px, 23.4666666667vw, 179.98933304px);
    min-width: 90px;
    padding: clamp(20px, 5.3333333333vw, 30px) 0;
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .abt-info__head {
    width: clamp(80px, 12.5vw, 12.5vw);
    padding: clamp(22.777777792px, 2.2222222222vw, 42.6592px) 0;
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

.abt-info__txt {
  border-top: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .abt-info__txt {
    padding: clamp(20px, 5.3333333333vw, 30px) 0;
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .abt-info__txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: clamp(22.777777792px, 2.2222222222vw, 42.6592px) 0;
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

.abt-infoList {
  counter-reset: number 0;
  counter-reset: li;
}

.abt-infoList > li {
  padding-left: 1.5em;
  position: relative;
  z-index: 1;
  line-height: 1.5;
}
.abt-infoList > li:nth-child(n+10) {
  padding-left: 1.8em;
}
.abt-infoList > li:before {
  content: counter(number) ".";
  counter-increment: number 1;
  position: absolute;
  z-index: 1;
  top: -1px;
  left: 0;
  color: #000;
  font-weight: 400;
  font-family: "bebas-neue-pro", sans-serif;
  content: counter(li) ". ";
  counter-increment: li;
}
@media screen and (max-width: 767px) {
  .abt-infoList > li:before {
    width: 1em;
  }
}
@media screen and (min-width:768px) {
  .abt-infoList > li:before {
    min-width: 1em;
  }
}

@media screen and (max-width: 767px) {
  .abt-infoListItem {
    margin-top: 4px;
  }
}
@media screen and (min-width:768px) {
  .abt-infoListItem {
    margin-top: 8px;
  }
}
.abt-infoListItem:first-child {
  margin-top: 0;
}
.abt-infoImgWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .abt-infoImgWrap {
    margin-top: clamp(48px, 12.8vw, 72px);
  }
}
@media screen and (min-width:768px) {
  .abt-infoImgWrap {
    -webkit-column-gap: clamp(21.336px, 2.7777777778vw, 53.324px);
       -moz-column-gap: clamp(21.336px, 2.7777777778vw, 53.324px);
            column-gap: clamp(21.336px, 2.7777777778vw, 53.324px);
    margin-top: clamp(45.555555584px, 4.4444444444vw, 85.3184px);
  }
}

.abt-infoImg {
  width: 100%;
}
.abt-infoImgItem {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .abt-intvWrap {
    padding-top: clamp(80px, 21.3333333333vw, 120px);
  }
}
@media screen and (min-width:768px) {
  .abt-intvWrap {
    padding-left: clamp(56.94444448px, 5.5555555556vw, 106.648px);
  }
}

.abt-intvInner {
  width: 100%;
  border: 1px solid #ddd;
  background: url("../images/common/bk_noise.webp") repeat-y left top;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .abt-intvInner {
    border-radius: 3px;
    padding: clamp(30px, 8vw, 45px) clamp(15px, 4vw, 22.5px);
  }
}
@media screen and (min-width:768px) {
  .abt-intvInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-column-gap: clamp(45.555555584px, 4.4444444444vw, 85.3184px);
       -moz-column-gap: clamp(45.555555584px, 4.4444444444vw, 85.3184px);
            column-gap: clamp(45.555555584px, 4.4444444444vw, 85.3184px);
    border-radius: 5px;
    margin-top: clamp(56.94444448px, 5.5555555556vw, 106.648px);
    padding: clamp(56.94444448px, 5.5555555556vw, 106.648px);
  }
}

@media screen and (min-width:768px) {
  .abt-intvCont {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.abt-intvHead {
  position: relative;
  font-weight: 500;
  color: #000;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .abt-intvHead {
    margin-top: clamp(32px, 8.5333333333vw, 48px);
    font-size: clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .abt-intvHead {
    font-size: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
  }
}
.abt-intvHead:before {
  content: "";
  position: absolute;
  left: 0;
  background-color: #053F8D;
}
@media screen and (max-width: 767px) {
  .abt-intvHead:before {
    top: clamp(-8px, -2.1333333333vw, -12px);
    width: clamp(20px, 5.3333333333vw, 30px);
    height: clamp(2px, 0.5333333333vw, 3px);
  }
}
@media screen and (min-width:768px) {
  .abt-intvHead:before {
    top: clamp(-11.388888896px, -1.1111111111vw, -21.3296px);
    width: clamp(28.47222224px, 2.7777777778vw, 53.324px);
    height: clamp(1.423611112px, 0.1388888889vw, 2.6662px);
  }
}

@media screen and (max-width: 767px) {
  .abt-intTxt {
    margin-top: clamp(24px, 6.4vw, 36px);
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .abt-intTxt {
    margin-top: clamp(28.47222224px, 2.7777777778vw, 53.324px);
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

@media screen and (max-width: 767px) {
  .abt-intvImg {
    width: 60%;
    text-align: center;
    margin: 0 auto;
  }
}
@media screen and (min-width:768px) {
  .abt-intvImg {
    width: clamp(177.951389px, 17.3611111111vw, 333.275px);
  }
}
.abt-intvImg img {
  width: 100%;
  height: auto;
}

/* SEMINARS
-----------------------------------------------------------------*/
.semi-olWrap {
  background: url("../images/common/bk_noise.webp") repeat-y left top;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .semi-olWrap {
    padding: clamp(60px, 16vw, 90px) 0;
  }
}
@media screen and (min-width:768px) {
  .semi-olWrap {
    padding: clamp(85.41666672px, 8.3333333333vw, 159.972px) 0;
  }
}
@media screen and (max-width: 767px) {
  .semi-olWrap--graph {
    background: -webkit-repeating-linear-gradient(bottom, #ddd 0, #ddd 1px, transparent 1px, transparent 15px), -webkit-repeating-linear-gradient(left, #ddd 0, #ddd 1px, transparent 1px, transparent 15px);
    background: repeating-linear-gradient(0deg, #ddd 0, #ddd 1px, transparent 1px, transparent 15px), repeating-linear-gradient(90deg, #ddd 0, #ddd 1px, transparent 1px, transparent 15px);
  }
}
@media screen and (min-width:768px) {
  .semi-olWrap--graph {
    background: -webkit-repeating-linear-gradient(bottom, #ddd 0, #ddd 1px, transparent 1px, transparent 24px), -webkit-repeating-linear-gradient(left, #ddd 0, #ddd 1px, transparent 1px, transparent 24px);
    background: repeating-linear-gradient(0deg, #ddd 0, #ddd 1px, transparent 1px, transparent 24px), repeating-linear-gradient(90deg, #ddd 0, #ddd 1px, transparent 1px, transparent 24px);
  }
}

.semi-olHead {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .semi-olHead {
    font-size: clamp(21px, 5.6vw, 31.5px);
  }
}
@media screen and (min-width:768px) {
  .semi-olHead {
    font-size: clamp(28.47222224px, 2.7777777778vw, 53.324px);
  }
}

.semi-olHead__sub {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #000;
}
@media screen and (max-width: 767px) {
  .semi-olHead__sub {
    margin-top: clamp(12px, 3.2vw, 18px);
    font-size: clamp(13px, 3.4666666667vw, 19.5px);
  }
}
@media screen and (min-width:768px) {
  .semi-olHead__sub {
    margin-top: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    font-size: clamp(12.812500008px, 1.25vw, 23.9958px);
  }
}

.semi-olTxt {
  color: #000;
}
@media screen and (max-width: 767px) {
  .semi-olTxt {
    margin-top: clamp(32px, 8.5333333333vw, 48px);
    font-size: clamp(14px, 3.7333333333vw, 21px);
  }
}
@media screen and (min-width:768px) {
  .semi-olTxt {
    margin-top: clamp(34.166666688px, 3.3333333333vw, 63.9888px);
    font-size: clamp(12.812500008px, 1.25vw, 23.9958px);
  }
}

.semi-listWrap {
  width: 100%;
}
.semi-listLink {
  display: block;
  overflow: hidden;
}
@media screen and (min-width:768px) {
  .semi-listLink:hover .semi-listCont {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@media screen and (min-width:768px) {
  .semi-listLink:hover .semi-listCont:before {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}

.semi-listCont {
  position: relative;
  overflow: hidden;
  border-top: 1px solid #ddd;
  background-color: #F1F3F5;
}
@media screen and (max-width: 767px) {
  .semi-listCont {
    padding: clamp(30px, 8vw, 45px) clamp(15px, 4vw, 22.5px);
  }
}
@media screen and (min-width:768px) {
  .semi-listCont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: clamp(28.47222224px, 2.7777777778vw, 53.324px);
       -moz-column-gap: clamp(28.47222224px, 2.7777777778vw, 53.324px);
            column-gap: clamp(28.47222224px, 2.7777777778vw, 53.324px);
    padding: clamp(56.94444448px, 5.5555555556vw, 106.648px) clamp(40px, 5.5555555556vw, 5.5555555556vw);
    -webkit-transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
    transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
  }
}
.semi-listCont:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0;
  width: 101%;
  /*background: linear-gradient(90deg,rgba(5, 63, 141, 1) 0%, rgba(13, 206, 199, 1) 100%);*/
  background: url("../images/common/bk_noise.webp") repeat-y left top;
  background-size: contain;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  opacity: 1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

@media screen and (min-width:768px) {
  .semi-listBox__01 {
    width: clamp(355.902778px, 34.7222222222vw, 666.55px);
  }
}

@media screen and (max-width: 767px) {
  .semi-listBox__02 {
    margin-top: clamp(24px, 6.4vw, 36px);
  }
}
@media screen and (min-width:768px) {
  .semi-listBox__02 {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.semi-listImgWrap {
  position: relative;
  width: 100%;
}
.semi-listImg {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .semi-periodWrap {
    margin-top: clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .semi-periodWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: clamp(12.8016px, 1.6666666667vw, 31.9944px);
       -moz-column-gap: clamp(12.8016px, 1.6666666667vw, 31.9944px);
            column-gap: clamp(12.8016px, 1.6666666667vw, 31.9944px);
    margin-top: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
  }
}

.semi-period {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .semi-period {
    margin-top: clamp(10px, 2.6666666667vw, 15px);
    font-size: clamp(12px, 3.2vw, 18px);
    -webkit-column-gap: clamp(16px, 4.2666666667vw, 24px);
       -moz-column-gap: clamp(16px, 4.2666666667vw, 24px);
            column-gap: clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .semi-period {
    margin-top: 0;
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
    -webkit-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
       -moz-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
            column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}
@media screen and (max-width: 767px) {
  .semi-period:first-child {
    margin-top: 0;
  }
}
.semi-period__head {
  position: relative;
  background-color: #fff;
  font-weight: 500;
  color: #000;
  /*&:after {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      content: "";
      width: 1px;
      background-color: rgba(0,0,0,.8);
      @media screen and (max-width: 767px) {
          height: mix.res-s(10, vars.$min-sp, vars.$max-spMid, 375);
          right: mix.res-s(-8, vars.$min-sp, vars.$max-spMid, 375);
      }
      @media screen and (min-width:768px) {
          height: mix.res-s(10, vars.$min-pc, vars.$max-pc);
          right: mix.res-s(-12, vars.$min-pc, vars.$max-pc);
      }
  }*/
}
@media screen and (max-width: 767px) {
  .semi-period__head {
    padding: clamp(2px, 0.5333333333vw, 3px) clamp(4px, 1.0666666667vw, 6px);
    border-radius: 2px;
  }
}
@media screen and (min-width:768px) {
  .semi-period__head {
    padding: clamp(2.847222224px, 0.2777777778vw, 5.3324px) clamp(5.694444448px, 0.5555555556vw, 10.6648px);
    border-radius: 3px;
  }
}

.semi-period__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .semi-sumWrap {
    margin-top: clamp(16px, 4.2666666667vw, 24px);
  }
}
@media screen and (min-width:768px) {
  .semi-sumWrap {
    margin-top: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
  }
}

.semi-sumItem {
  position: relative;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .semi-sumItem {
    padding-left: clamp(10px, 2.6666666667vw, 15px);
    margin-top: clamp(6px, 1.6vw, 9px);
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .semi-sumItem {
    padding-left: clamp(8.541666672px, 0.8333333333vw, 15.9972px);
    margin-top: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}
.semi-sumItem:first-child {
  margin-top: 0;
}
.semi-sumItem:before {
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  background-color: #053F8D;
}
@media screen and (max-width: 767px) {
  .semi-sumItem:before {
    width: clamp(5px, 1.3333333333vw, 7.5px);
    height: clamp(5px, 1.3333333333vw, 7.5px);
  }
}
@media screen and (min-width:768px) {
  .semi-sumItem:before {
    width: clamp(4.270833336px, 0.4166666667vw, 7.9986px);
    height: clamp(4.270833336px, 0.4166666667vw, 7.9986px);
  }
}

.semi-list__head {
  font-weight: 500;
  color: #000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .semi-list__head {
    margin-top: clamp(16px, 4.2666666667vw, 24px);
    font-size: clamp(19px, 5.0666666667vw, 28.5px);
  }
}
@media screen and (min-width:768px) {
  .semi-list__head {
    margin-top: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    font-size: clamp(18.506944456px, 1.8055555556vw, 34.6606px);
  }
}

.semi-list__txt {
  color: #333;
}
@media screen and (max-width: 767px) {
  .semi-list__txt {
    margin-top: clamp(12px, 3.2vw, 18px);
    font-size: clamp(13px, 3.4666666667vw, 19.5px);
  }
}
@media screen and (min-width:768px) {
  .semi-list__txt {
    margin-top: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    font-size: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}

.semi-contTableWrap {
  display: grid;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .semi-contTableWrap {
    grid-template-columns: repeat(auto-fit, clamp(110px, 29.3333333333vw, 165px));
    gap: clamp(15px, 4vw, 22.5px) clamp(4px, 1.0666666667vw, 6px);
  }
}
@media screen and (min-width:768px) {
  .semi-contTableWrap {
    grid-template-columns: repeat(auto-fit, clamp(113.88888896px, 11.1111111111vw, 213.296px));
    gap: clamp(12.8016px, 1.6666666667vw, 31.9944px);
  }
}

.semi-contTable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 767px) {
  .semi-contTable {
    -webkit-column-gap: clamp(4px, 1.0666666667vw, 6px);
       -moz-column-gap: clamp(4px, 1.0666666667vw, 6px);
            column-gap: clamp(4px, 1.0666666667vw, 6px);
  }
}
@media screen and (min-width:768px) {
  .semi-contTable {
    width: clamp(102.4128px, 13.3333333333vw, 255.9552px);
    -webkit-column-gap: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
       -moz-column-gap: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
            column-gap: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
  }
}

.semi-contDate {
  text-align: center;
  background: -webkit-gradient(linear, left top, right top, from(rgb(5, 63, 141)), to(rgb(13, 206, 199)));
  background: -webkit-linear-gradient(left, rgb(5, 63, 141) 0%, rgb(13, 206, 199) 100%);
  background: linear-gradient(90deg, rgb(5, 63, 141) 0%, rgb(13, 206, 199) 100%);
  font-weight: 500;
  color: #fff;
  line-height: 1.6;
  min-width: 50%;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .semi-contDate {
    min-width: clamp(60px, 16vw, 90px);
    padding: clamp(2px, 0.5333333333vw, 3px) 0;
    border-radius: 3px 0 3px 0;
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .semi-contDate {
    min-width: clamp(71.1805556px, 6.9444444444vw, 133.31px);
    padding: clamp(2.847222224px, 0.2777777778vw, 5.3324px) 0;
    border-radius: 5px 0 5px 0;
    font-size: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}

.semi-contNum {
  /*text-align: center;*/
  font-weight: 500;
  color: #000;
  line-height: 1.6;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  /*white-space: nowrap;*/
}
@media screen and (max-width: 767px) {
  .semi-contNum {
    min-width: clamp(50px, 13.3333333333vw, 75px);
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .semi-contNum {
    min-width: clamp(42.70833336px, 4.1666666667vw, 79.986px);
    font-size: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
  }
}

.semi-contHead {
  background-color: #fff;
  font-weight: 500;
  color: #000;
  line-height: 1.6;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .semi-contHead {
    margin-top: clamp(8px, 2.1333333333vw, 12px);
    padding: clamp(5px, 1.3333333333vw, 7.5px) clamp(10px, 2.6666666667vw, 15px);
    border-radius: 3px;
    font-size: clamp(14px, 3.7333333333vw, 21px);
  }
}
@media screen and (min-width:768px) {
  .semi-contHead {
    margin-top: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    padding: clamp(5.694444448px, 0.5555555556vw, 10.6648px) clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    border-radius: 5px;
    font-size: clamp(14.23611112px, 1.3888888889vw, 26.662px);
  }
}

.semi-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .semi-topic {
    gap: clamp(5px, 1.3333333333vw, 7.5px);
  }
}
@media screen and (min-width:768px) {
  .semi-topic {
    gap: clamp(5.694444448px, 0.5555555556vw, 10.6648px);
  }
}

.semi-topicItem {
  display: inline-block;
  background-color: #fff;
  font-weight: 500;
  color: #000;
}
@media screen and (max-width: 767px) {
  .semi-topicItem {
    padding: clamp(2px, 0.5333333333vw, 3px) clamp(4px, 1.0666666667vw, 6px);
    border-radius: 3px;
    font-size: clamp(14px, 3.7333333333vw, 21px);
  }
}
@media screen and (min-width:768px) {
  .semi-topicItem {
    padding: clamp(5.694444448px, 0.5555555556vw, 10.6648px) clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    border-radius: 5px;
    font-size: clamp(14.23611112px, 1.3888888889vw, 26.662px);
  }
}

.sei-hr {
  width: 100%;
  height: 1px;
  background-color: #ddd;
}
@media screen and (max-width: 767px) {
  .sei-hr {
    margin: clamp(20px, 5.3333333333vw, 30px) 0;
  }
}
@media screen and (min-width:768px) {
  .sei-hr {
    margin: clamp(28.47222224px, 2.7777777778vw, 53.324px) 0;
  }
}

/* CONTACT
-----------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .ctc-wrap {
    padding: clamp(60px, 16vw, 90px) 0 0;
  }
}
@media screen and (min-width:768px) {
  .ctc-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: clamp(42.672px, 5.5555555556vw, 106.648px);
       -moz-column-gap: clamp(42.672px, 5.5555555556vw, 106.648px);
            column-gap: clamp(42.672px, 5.5555555556vw, 106.648px);
    padding: clamp(85.41666672px, 8.3333333333vw, 159.972px) 0 0;
  }
}

@media screen and (min-width:768px) {
  .ctc-faqWrap {
    width: clamp(1px, 44.4444444444vw, 44.4444444444vw);
  }
}

@media screen and (max-width: 767px) {
  .ctc-formWrap {
    margin-top: clamp(64px, 17.0666666667vw, 96px);
  }
}
@media screen and (min-width:768px) {
  .ctc-formWrap {
    width: clamp(1px, 38.8888888889vw, 38.8888888889vw);
  }
}
#confirm .ctc-formWrap {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #confirm .ctc-formWrap {
    margin-top: 0;
  }
}
#confirm .c-formList__input {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  #confirm .c-formList__input {
    padding: clamp(10px, 2.6666666667vw, 15px) clamp(15px, 4vw, 22.5px);
  }
}
@media screen and (min-width:768px) {
  #confirm .c-formList__input {
    padding: clamp(8.541666672px, 0.8333333333vw, 15.9972px) clamp(17.083333344px, 1.6666666667vw, 31.9944px);
  }
}

.faq-container {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.faq-item {
  position: relative;
  border-bottom: 1px solid #ddd;
}

.faq-item:last-child {
  border-bottom: none;
}

.faq-question {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .faq-question {
    -webkit-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
       -moz-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
            column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    padding: clamp(15px, 4vw, 22.5px);
    padding-right: clamp(30px, 8vw, 45px);
  }
}
@media screen and (min-width:768px) {
  .faq-question {
    -webkit-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
       -moz-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
            column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    padding: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    padding-right: clamp(42.70833336px, 4.1666666667vw, 79.986px);
  }
}

.faq-question:hover {
  /*opacity: 0.7;*/
}

.faq-number {
  color: #053F8D;
  font-weight: 700;
  display: block;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .faq-number {
    margin-bottom: clamp(6px, 1.6vw, 9px);
    font-size: clamp(15px, 4vw, 22.5px);
  }
}
@media screen and (min-width:768px) {
  .faq-number {
    margin-bottom: clamp(8.541666672px, 0.8333333333vw, 15.9972px);
    font-size: clamp(14.947916676px, 1.4583333333vw, 27.9951px);
  }
}

.faq-text {
  color: #000;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .faq-text {
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .faq-text {
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

.faq-toggle {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media screen and (min-width:768px) {
  .faq-toggle {
    width: 16px;
    height: 16px;
  }
}

.faq-toggle::before,
.faq-toggle::after {
  content: "";
  position: absolute;
  background-color: rgb(0, 0, 0);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.faq-toggle::before {
  height: 1px;
}
@media screen and (max-width: 767px) {
  .faq-toggle::before {
    width: clamp(11px, 2.9333333333vw, 16.5px);
  }
}
@media screen and (min-width:768px) {
  .faq-toggle::before {
    top: 7px;
    width: 16px;
  }
}

.faq-toggle::after {
  width: 1px;
}
@media screen and (max-width: 767px) {
  .faq-toggle::after {
    height: clamp(11px, 2.9333333333vw, 16.5px);
  }
}
@media screen and (min-width:768px) {
  .faq-toggle::after {
    right: 7px;
    height: 16px;
  }
}

.faq-item.active .faq-toggle::after {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.faq-item.active .faq-toggle::before {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
  transition: max-height 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
}

.faq-answer.show {
  max-height: 200px;
}

.answer-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  background-color: #fff;
  opacity: 0;
  -webkit-transform: translateY(-10px);
      -ms-transform: translateY(-10px);
          transform: translateY(-10px);
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
  transition: all 0.4s cubic-bezier(0.86, 0.01, 0.15, 0.99);
}
@media screen and (max-width: 767px) {
  .answer-content {
    -webkit-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
       -moz-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
            column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    margin-bottom: clamp(10px, 2.6666666667vw, 15px);
    padding: clamp(15px, 4vw, 22.5px);
    padding-right: clamp(30px, 8vw, 45px);
  }
}
@media screen and (min-width:768px) {
  .answer-content {
    -webkit-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
       -moz-column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
            column-gap: clamp(11.388888896px, 1.1111111111vw, 21.3296px);
    margin-bottom: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    padding: clamp(17.083333344px, 1.6666666667vw, 31.9944px);
    padding-right: clamp(42.70833336px, 4.1666666667vw, 79.986px);
  }
}

.faq-answer.show .answer-content {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

.answer-label {
  color: #053F8D;
  font-weight: 700;
  display: block;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .answer-label {
    margin-bottom: clamp(6px, 1.6vw, 9px);
    font-size: clamp(15px, 4vw, 22.5px);
  }
}
@media screen and (min-width:768px) {
  .answer-label {
    margin-bottom: clamp(8.541666672px, 0.8333333333vw, 15.9972px);
    font-size: clamp(14.947916676px, 1.4583333333vw, 27.9951px);
  }
}

.answer-text {
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .answer-text {
    font-size: clamp(12px, 3.2vw, 18px);
  }
}
@media screen and (min-width:768px) {
  .answer-text {
    font-size: clamp(9.965277784px, 0.9722222222vw, 18.6634px);
  }
}

.cf-formAtt {
  text-align: right;
  color: #B20C0C;
}
@media screen and (max-width: 767px) {
  .cf-formAtt {
    font-size: clamp(11px, 2.9333333333vw, 16.5px);
  }
}
@media screen and (min-width:768px) {
  .cf-formAtt {
    font-size: clamp(8.541666672px, 0.8333333333vw, 15.9972px);
  }
}

.error {
  display: block;
  color: #b20c0c;
}
@media screen and (max-width: 767px) {
  .error {
    font-size: clamp(10px, 2.6666666667vw, 15px);
  }
}
@media screen and (min-width:768px) {
  .error {
    font-size: clamp(8.541666672px, 0.8333333333vw, 15.9972px);
  }
}
/*# sourceMappingURL=app.css.map */
