@charset "UTF-8";
/*
===
5.0 Application
===

## Application Category

プロジェクト固有のスタイルを定義します。

*/
/*!
 * Frontwork (https://frontwork.isaxxx.com)
 * Copyright Masahide Isaka
 * MIT License (https://github.com/isaxxx/frontwork/blob/master/LICENSE)
 */
/*
===
0.0 Overview
===

## About Frontwork CSS

Frontwork CSSは[Frontwork](https://github.com/isaxxx/frontwork/)に付属するSCSS、およびJavaScriptの総称です。
Frontwork CSSはWebサイト制作における汎用的な機能を有し、フロントエンドエンジニアの仕事を補助することができます。

本ドキュメントは、Frontwork CSSの理解を容易にすることを目的としています。
このセクションでは、Frontwork CSSの利用方法やコーディングルールについて説明しています。

### Import

Frontwork CSSを利用する場合、次のSCSSを読み込んでください。

```scss
@import 'config';
@import 'frontwork/all';
@import 'iconfont';
```

### Target Browsers

* Internet Explorer 11

* Microsoft Edge (latest version)

* Google Chrome (latest version)

* Mozilla Firefox (latest version)

* Mac OS Safari (latest version)

* iOS Safari (latest version)

* Android 5.0 or more

*/
/*
===
0.2 Configure
===

### Configure

Frontwork CSSの設定ファイルについて説明します。

#### $root-font-family

`html`要素に適用する`font-family`を指定します。

#### $root-font-color

`html`要素に適用する`color`を指定します。

#### $root-background-color

`html`要素に適用する`background-color`を指定します。

#### $root-line-height

`html`要素に適用する`line-height`を指定します。

#### $grid-unit

グリッドシステムのグリッドの数を指定します。

#### $break-point-list

ブレイクポイントをリストの形式で指定します。
単位は`px`とし、昇順で指定します。

#### $container-size-list

コンテナーサイズをブレイクポイントごとにリスト形式で指定します。
例えば、次のように記述します。

```scss
$break-point-list: 768px, 980px;
$container-size-list: 100%, 640px, 820px;

// Result
.l-cn {
  width: 100%;
}

@media (min-width: 768px) {
  .l-cn {
    width: 640px;
  }
}

@media (min-width: 980px) {
  .l-cn {
    width: 820px;
  }
}
```

#### $container-min-size-list

コンテナーサイズの最小値をブレイクポイントごとにリスト形式で指定します。

#### $container-max-size-list

コンテナーサイズの最大値をブレイクポイントごとにリスト形式で指定します。

#### $gatter-size-list

ガターサイズをブレイクポイントごとにリスト形式で指定します。

#### $root-font-size-list

`html`要素に適用する`font-size`をブレイクポイントごとにリスト形式で指定します。

#### $hx-font-size-list

見出し要素に適用する`font-size`をブレイクポイントごとにリスト形式で指定します。

#### $color-placeholder

プレイスホルダーの文字色を指定します。

*/
/*
===
0.1 Coding Rules
===

### Coding Rules

Frontwork CSSにはいくつかのコーディングルールがあり、そのルールを遵守することを推奨します。

#### Categorize

[SMACSS](https://smacss.com/)を応用し、機能や振る舞いに応じたカテゴライズを行なっています。
それぞれのカテゴリーを組み合わせてスタイル設計を行います。
Frontwork CSSはApplicationカテゴリー以外を生成するため、Applicationカテゴリーの開発に注力することができます。

##### Foundation Category

ユーザーエージェントごとのスタイルのリセットや初期化、各要素の基礎的なスタイルを定義しています。

##### Helper Category

Text Alignなど、小規模な振る舞いを追加するための補助的な役割を持つスタイルを定義しています。
Applicationカテゴリーのスタイル指定の肥大化を防ぐ目的で利用します。
クラス名は、`h-`プレフィックスに続いて、振る舞い示す2文字の略称から成ります。

##### Layout Category

ページ全体のレイアウトを構築するためのスタイルを定義しています。
クラス名は、`l-`プレフィックスに続いて、レイアウトの種別を示す2文字の略称とElementとModifierから成ります。
またModifierの`@`の文字の後に続く数字は、[Media Query Mixin](#link-3)昇順の`$query`変数の値で、ブレイクポイントごとに振る舞いが変化することを示しています。

##### JavaScript Category

JavaScriptの制御に利用するスタイルを定義しています。
クラス名には、`js-`プレフィックスを付与します。

##### State Category

要素の状態を示すスタイルを定義しています。
クラス名は、`is-current`、`is-active`、`is-disable`のように`is-`プレフィックスの後に状態を示す単語が続きます。
単独でスタイルを設定するのではなく、必ず他のカテゴリーと合わせて利用します。

##### Application Category

プロジェクト固有のスタイルを定義します。

ApplicationカテゴリーはさらにThemeとComponentsの2つに分けられます。

###### Components

汎用性が高く、再利用しやすいスタイルを定義します。
例えば、ボタンやメディアパターン、ユーザーの入力を想定したスタイルが該当します。
このスタイルはスタイルガイドに追記することが望ましいです。

###### Theme

Components以外のスタイルを定義します。
例えばヘッダーやフッターのようなページで唯一の存在となる要素や、汎用性の低い要素が該当します。

#### Naming Convention

クラス名の命名規則に、[BEM](https://bem.info/)を採用しています。

詳細な命名規則は次の通りです。
すべての単語は小文字を使用し、大文字は使用せず、単語の連結には`-`を用います。
比較的よく使う単語は略称を使用しても構いません。

```html
<div class="media-background">
  <div class="media media--middle">
    <div class="media__head">
      <h1 class="media__title">Title</h1>
    </div>
    <p class="media__body">Body</p>
  </div>
</div>
```

```scss
.media {
  // Block
}
.media__head,
.media__body,
.media__title {
  // Element
}
.media--middle {
  // Modifier
}
.media-background {
  // Other Block
}
```

#### Style Design

[Philip Walton](https://philipwalton.com/articles/css-architecture/)氏が述べている次の原則を意識したスタイル設計を行います。

* 予測しやすい

* 再利用しやすい

* 保守しやすい

* 拡張しやすい

具体的には次のルールに従います。

##### Element Selector

要素セレクターの利用を最小限にし、HTML構造の依存を低減します。

##### Absolute Value

絶対値の利用を最小限にします。

##### Important Declaration

`!important`宣言を最小限にします。

##### Nest

セレクターのネストは最小限にし、HTML構造の依存を低減します。

```html
<div class="media">
  <div class="media__head">
    Head
  </div>
</div>
```

```scss
.media .media__head {
  // Bad
}

.media__head {
  // Good
}
```

あまりにもModifierが増えたり、再利用性がない場合には、MixesパターンやApplicationカテゴリーのThemeを追加するなどして、ネストを深くしても構いません。

```html
<form class="form">
  <button class="button">Button</button>
</form>
```

###### Mixes Pattern

```scss
.form .button {
  // Mixes Pattern
}
```

###### Application Theme

```html
<form class="form">
  <div class="form-left">
    <button class="button">Button</button>
  </div>
</form>
```

```scss
.form-left .button {
  // Application Theme
}
```

##### Common

同様のコードはなるべく共通化します。

```scss
// Bad
.sample-a {
  font-size: 16px;
  color: red;
}

.sample-b {
  font-size: 16px;
  color: green;
}

// Good
.sample-a,
.sample-b {
  font-size: 16px;
}

.sample-a {
  color: red;
}

.sample-b {
  color: green;
}
```

##### Cascading

定義したスタイルの上書きを極力なくします。

###### Bad

```html
<p class="text no-border">Title</p>
```

```scss
.text {
  font-size: 18px;
  border: 1px solid black;
}

.no-border {
  border: 0;
}
```

###### Good

```html
<p class="text border">Title</p>
```

```scss
.text {
  font-size: 18px;
}

.border {
  border: 1px solid black;
}
```

*/
/*
===
0.3 Media Query
===

### Media Query

Frontwork CSSには、CSS3 Media Queryを効率良く記述するためのMixinとFunctionが用意されています。
Mixin内で利用できる`$query`変数が[設定ファイル](index.html#link-2)の`$break-point-list`変数の値に列挙するブレイクポイントの順番に相当します。

Frontwork CSSでは`@if`制御構文を利用して`$query`変数で分岐し、スタイルを記述することを推奨しています。
また`$query`変数はJavaScriptの引数になることがあり、Frontwork CSSではブレイクポイントごとのスタイルを`$query`変数の値で制御するという考え方が重要になります。

```scss
$break-point-list: 768px, 980px;

@include media-query-asc {
  @if $query == 0 {
    // no media query
  }
  @if $query == 1 {
    // @media (min-width: 768px)
  }
  @if $query == 2 {
    // @media (min-width: 980px)
  }
}

@include media-query-desc {
  @if $query == 0 {
    // no media query
  }
  @if $query == 1 {
    // @media (max-width: 767px)
  }
  @if $query == 2 {
    // @media (max-width: 979px)
  }
}
```

#### Get Value Function

リストからブレイクポイントごとの値を取り出すことができる関数が用意されています。
この関数は、例えばFrontwork CSSの内部では次のように利用しています。

```scss
$break-point-list: 768px, 980px;
$root-font-size-list: 14px, 16px, 18px;

@include media-query-asc {
  html {
    font-size: get-value($root-font-size-list);
  }
}
```

結果は次のようになります。

```scss
html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 980px) {
  html {
    font-size: 18px;
  }
}
```

*/
/*
===
0.4 Easing Variable
===

### Easing Variable

イージング調整用の変数を設定しています。

```scss
$ease-in-cubic: cubic-bezier(.55, .055, .675, .19);
$ease-out-cubic: cubic-bezier(.215, .61, .355, 1);
$ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);
$ease-in-circ: cubic-bezier(.6, .04, .98, .335);
$ease-out-circ: cubic-bezier(.075, .82, .165, 1);
$ease-in-out-circ: cubic-bezier(.785, .135, .15, .86);
$ease-in-expo: cubic-bezier(.95, .05, .795, .035);
$ease-out-expo: cubic-bezier(.19, 1, .22, 1);
$ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
$ease-in-quad: cubic-bezier(.55, .085, .68, .53);
$ease-out-quad: cubic-bezier(.25, .46, .45, .94);
$ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);
$ease-in-quart: cubic-bezier(.895, .03, .685, .22);
$ease-out-quart: cubic-bezier(.165, .84, .44, 1);
$ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);
$ease-in-quint: cubic-bezier(.755, .05, .855, .06);
$ease-out-quint: cubic-bezier(.23, 1, .32, 1);
$ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);
$ease-in-sine: cubic-bezier(.47, 0, .745, .715);
$ease-out-sine: cubic-bezier(.39, .575, .565, 1);
$ease-in-out-sine: cubic-bezier(.445, .05, .55, .95);
$ease-in-back: cubic-bezier(.6, -.28, .735, .045);
$ease-out-back: cubic-bezier(.175,  .885, .32, 1.275);
$ease-in-out-back: cubic-bezier(.68, -.55, .265, 1.55);
```

*/
/*
===
1.0 Foundation
===

## Foundation Category

ユーザーエージェントごとのスタイルのリセットや初期化、各要素の基礎的なスタイルを定義しています。

### Vendor CSS

* [normalize.css](https://github.com/necolas/normalize.css)

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
===
1.1 Basic
===

### Basic Style

#### Yu Gothic & Yu Mincho

Windows OSとMac OSの`font-weight`の統一しています。

```scss
@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Medium');
  font-weight: 400;
}

@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Bold');
  font-weight: bold;
}

@font-face {
  font-family: 'Yu Mincho';
  src: local('Yu Mincho Medium');
  font-weight: 400;
}

@font-face {
  font-family: 'Yu Mincho';
  src: local('Yu Mincho Bold');
  font-weight: bold;
}
```

#### Box Sizing

```scss
*,
*:before,
*:after {
  box-sizing: border-box;
}
```

#### Image

```scss
img {
  max-width: 100%;
}
```

#### Main

Internet Explorer 11 に対応するために指定しています。

```scss
main {
  display: block;
}
```

#### Table

```scss
table {
  border-collapse: collapse;
}
```

#### Form

プレイスホルダーのスタイルを固定し、親要素の`line-height`を継承しています。
またグリッドシステムを利用して詳細な横幅調整を行うことを前提として、ラジオボタンやチェックボックス、ボタン以外を`display: block`、`width: 100%`に設定しています。
[設定ファイル](index.html#link-2)の`$color-placeholder`変数を利用してプレイスホルダーの文字色を指定します。

```scss
button,
input,
optgroup,
select,
textarea {
  line-height: inherit;
  color: inherit;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox]),
optgroup,
select,
textarea {
  display: block;
  width: 100%;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox]),
textarea {
  &::placeholder-shown {
    font-family: inherit;
    line-height: inherit;
    color: $color-placeholder;
  }

  &::-webkit-input-placeholder {
    font-family: inherit;
    line-height: inherit;
    color: $color-placeholder;
  }

  &::-moz-placeholder {
    font-family: inherit;
    line-height: inherit;
    color: $color-placeholder;
    opacity: 1;
  }

  &::-ms-input-placeholder {
    font-family: inherit;
    line-height: inherit;
    color: $color-placeholder;
  }
}

textarea {
  resize: vertical;
}
```

*/
@font-face {
  font-family: 'Yu Gothic';
  src: local("Yu Gothic Medium");
  font-weight: 400;
}

@font-face {
  font-family: 'Yu Gothic';
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

@font-face {
  font-family: 'Yu Mincho';
  src: local("Yu Mincho Medium");
  font-weight: 400;
}

@font-face {
  font-family: 'Yu Mincho';
  src: local("Yu Mincho Bold");
  font-weight: bold;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  max-width: 100%;
}

main {
  display: block;
}

table {
  border-collapse: collapse;
}

button,
input,
optgroup,
select,
textarea {
  line-height: inherit;
  color: inherit;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox]),
optgroup,
select,
textarea {
  display: block;
  width: 100%;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox])::-webkit-input-placeholder-shown,
textarea::-webkit-input-placeholder-shown {
  font-family: inherit;
  line-height: inherit;
  color: #ccc;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox]):-ms-input-placeholder-shown,
textarea:-ms-input-placeholder-shown {
  font-family: inherit;
  line-height: inherit;
  color: #ccc;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox])::-ms-input-placeholder-shown,
textarea::-ms-input-placeholder-shown {
  font-family: inherit;
  line-height: inherit;
  color: #ccc;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox])::placeholder-shown,
textarea::placeholder-shown {
  font-family: inherit;
  line-height: inherit;
  color: #ccc;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox])::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-family: inherit;
  line-height: inherit;
  color: #ccc;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox])::-moz-placeholder,
textarea::-moz-placeholder {
  font-family: inherit;
  line-height: inherit;
  color: #ccc;
  opacity: 1;
}

input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]):not([type=radio]):not([type=checkbox])::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  font-family: inherit;
  line-height: inherit;
  color: #ccc;
}

textarea {
  resize: vertical;
}

dl {
  margin-top: 0;
  margin-bottom: 0;
}

dd {
  margin-left: 0;
}

/*
===
1.2 Root Element
===

### Root Element Style

[設定ファイル](index.html#link-2)のいくつかの変数を`html`要素に適用しています。

*/
html {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  line-height: 1.66667;
  color: #000;
  background-color: #fff;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

body::after {
  display: none;
}

html,
body {
  min-height: 100%;
}

html {
  font-size: 16px;
}

body::after {
  content: "0";
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
  body::after {
    content: "1";
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 18px;
  }
  body::after {
    content: "2";
  }
}

/*
===
1.3 Typography
===

### Typography Style

#### Font Size

[設定ファイル](index.html#link-2)のいくつかの変数を見出し要素に適用しています。

#### Margin

```scss
h1, h2, h3, h4, h5, h6, p {
  margin-top: 1em;
  margin-bottom: .5em;
}

ol, ul {
  margin-top: 0;
  margin-bottom: 0;
}
```

*/
h1 {
  font-size: 24px;
}

h2 {
  font-size: 21px;
}

h3 {
  font-size: 18px;
}

h4 {
  font-size: 17px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

p {
  font-size: 16px;
}

@media (min-width: 768px) {
  h1 {
    font-size: 24px;
  }
  h2 {
    font-size: 21px;
  }
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 17px;
  }
  h5 {
    font-size: 16px;
  }
  h6 {
    font-size: 14px;
  }
  p {
    font-size: 16px;
  }
}

@media (min-width: 1200px) {
  h1 {
    font-size: 38px;
  }
  h2 {
    font-size: 32px;
  }
  h3 {
    font-size: 26px;
  }
  h4 {
    font-size: 20px;
  }
  h5 {
    font-size: 18px;
  }
  h6 {
    font-size: 16px;
  }
  p {
    font-size: 18px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-top: 1em;
  margin-bottom: .5em;
}

ol,
ul {
  margin-top: 0;
  margin-bottom: 0;
}

/*
===
1.5 Print Style
===

### Print Style

```scss
@media print {
  h1, h2, h3, h4, h5, h6, p {
    orphans: 3;
    widows: 3;
  }

  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }

  table, img, pre, blockquote {
    page-break-inside: avoid;
  }
}
```

*/
@media print {
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    orphans: 3;
    widows: 3;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
  }
  table,
  img,
  pre,
  blockquote {
    page-break-inside: avoid;
  }
}

/*
===
2.0 Helper
===

## Helper Category

Text Alignなど、小規模な振る舞いを追加するための補助的な役割を持つスタイルを定義しています。
Applicationカテゴリーのスタイル指定の肥大化を防ぐ目的で利用します。
クラス名は、`h-`プレフィックスに続いて、振る舞い示す2文字の略称から成ります。

*/
/*
===
2.1 Text Align
===

### Text Align Class

文字の揃えの方向を中央揃え、左揃え、もしくは右揃えにします。

```html
<div class="h-tc">Text Align Center</div>
<div class="h-tl">Text Align Left</div>
<div class="h-tr">Text Align Right</div>
```

*/
.h-tc\@0 {
  text-align: center !important;
}

.h-tl\@0 {
  text-align: left !important;
}

.h-tr\@0 {
  text-align: right !important;
}

@media (min-width: 768px) {
  .h-tc\@1 {
    text-align: center !important;
  }
  .h-tl\@1 {
    text-align: left !important;
  }
  .h-tr\@1 {
    text-align: right !important;
  }
}

@media (min-width: 1200px) {
  .h-tc\@2 {
    text-align: center !important;
  }
  .h-tl\@2 {
    text-align: left !important;
  }
  .h-tr\@2 {
    text-align: right !important;
  }
}

.h-tc {
  text-align: center !important;
}

.h-tl {
  text-align: left !important;
}

.h-tr {
  text-align: right !important;
}

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

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

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

/*
===
2.2 Margin
===

### Margin Class

上下左右のマージンを削除します。

```html
<div class="h-mt">Remove Margin Top</div>
<div class="h-mb">Remove Margin Bottom</div>
```

*/
.h-mt {
  margin-top: 0 !important;
}

.h-mb {
  margin-bottom: 0 !important;
}

.h-mb-00\@0 {
  margin-bottom: 0;
}

.h-mb-05\@0 {
  margin-bottom: .5em;
}

.h-mb-10\@0 {
  margin-bottom: 1em;
}

.h-mb-15\@0 {
  margin-bottom: 1.5em;
}

.h-mb-20\@0 {
  margin-bottom: 2em;
}

.h-mb-25\@0 {
  margin-bottom: 2.5em;
}

.h-mb-30\@0 {
  margin-bottom: 3em;
}

.h-mb-35\@0 {
  margin-bottom: 3.5em;
}

.h-mb-40\@0 {
  margin-bottom: 4em;
}

.h-mb-45\@0 {
  margin-bottom: 4.5em;
}

.h-mb-50\@0 {
  margin-bottom: 5em;
}

.h-mt-00\@0 {
  margin-top: 0;
}

.h-mt-05\@0 {
  margin-top: .5em;
}

.h-mt-10\@0 {
  margin-top: 1em;
}

.h-mt-15\@0 {
  margin-top: 1.5em;
}

.h-mt-20\@0 {
  margin-top: 2em;
}

.h-mt-25\@0 {
  margin-top: 2.5em;
}

.h-mt-30\@0 {
  margin-top: 3em;
}

.h-mt-35\@0 {
  margin-top: 3.5em;
}

.h-mt-40\@0 {
  margin-top: 4em;
}

.h-mt-45\@0 {
  margin-top: 4.5em;
}

.h-mt-50\@0 {
  margin-top: 5em;
}

.h-bx-00\@0 {
  padding: 0;
}

.h-bx-05\@0 {
  padding: .5em;
}

.h-bx-10\@0 {
  padding: 1em;
}

.h-bx-15\@0 {
  padding: 1.5em;
}

.h-bx-20\@0 {
  padding: 2em;
}

.h-bx-25\@0 {
  padding: 2.5em;
}

.h-bx-30\@0 {
  padding: 3em;
}

.h-bx-35\@0 {
  padding: 3.5em;
}

.h-bx-40\@0 {
  padding: 4em;
}

.h-bx-45\@0 {
  padding: 4.5em;
}

.h-bx-50\@0 {
  padding: 5em;
}

@media (min-width: 768px) {
  .h-mb-00\@1 {
    margin-bottom: 0;
  }
  .h-mb-05\@1 {
    margin-bottom: .5em;
  }
  .h-mb-10\@1 {
    margin-bottom: 1em;
  }
  .h-mb-15\@1 {
    margin-bottom: 1.5em;
  }
  .h-mb-20\@1 {
    margin-bottom: 2em;
  }
  .h-mb-25\@1 {
    margin-bottom: 2.5em;
  }
  .h-mb-30\@1 {
    margin-bottom: 3em;
  }
  .h-mb-35\@1 {
    margin-bottom: 3.5em;
  }
  .h-mb-40\@1 {
    margin-bottom: 4em;
  }
  .h-mb-45\@1 {
    margin-bottom: 4.5em;
  }
  .h-mb-50\@1 {
    margin-bottom: 5em;
  }
  .h-mt-00\@1 {
    margin-top: 0;
  }
  .h-mt-05\@1 {
    margin-top: .5em;
  }
  .h-mt-10\@1 {
    margin-top: 1em;
  }
  .h-mt-15\@1 {
    margin-top: 1.5em;
  }
  .h-mt-20\@1 {
    margin-top: 2em;
  }
  .h-mt-25\@1 {
    margin-top: 2.5em;
  }
  .h-mt-30\@1 {
    margin-top: 3em;
  }
  .h-mt-35\@1 {
    margin-top: 3.5em;
  }
  .h-mt-40\@1 {
    margin-top: 4em;
  }
  .h-mt-45\@1 {
    margin-top: 4.5em;
  }
  .h-mt-50\@1 {
    margin-top: 5em;
  }
  .h-bx-00\@1 {
    padding: 0;
  }
  .h-bx-05\@1 {
    padding: .5em;
  }
  .h-bx-10\@1 {
    padding: 1em;
  }
  .h-bx-15\@1 {
    padding: 1.5em;
  }
  .h-bx-20\@1 {
    padding: 2em;
  }
  .h-bx-25\@1 {
    padding: 2.5em;
  }
  .h-bx-30\@1 {
    padding: 3em;
  }
  .h-bx-35\@1 {
    padding: 3.5em;
  }
  .h-bx-40\@1 {
    padding: 4em;
  }
  .h-bx-45\@1 {
    padding: 4.5em;
  }
  .h-bx-50\@1 {
    padding: 5em;
  }
}

@media (min-width: 1200px) {
  .h-mb-00\@2 {
    margin-bottom: 0;
  }
  .h-mb-05\@2 {
    margin-bottom: .5em;
  }
  .h-mb-10\@2 {
    margin-bottom: 1em;
  }
  .h-mb-15\@2 {
    margin-bottom: 1.5em;
  }
  .h-mb-20\@2 {
    margin-bottom: 2em;
  }
  .h-mb-25\@2 {
    margin-bottom: 2.5em;
  }
  .h-mb-30\@2 {
    margin-bottom: 3em;
  }
  .h-mb-35\@2 {
    margin-bottom: 3.5em;
  }
  .h-mb-40\@2 {
    margin-bottom: 4em;
  }
  .h-mb-45\@2 {
    margin-bottom: 4.5em;
  }
  .h-mb-50\@2 {
    margin-bottom: 5em;
  }
  .h-mt-00\@2 {
    margin-top: 0;
  }
  .h-mt-05\@2 {
    margin-top: .5em;
  }
  .h-mt-10\@2 {
    margin-top: 1em;
  }
  .h-mt-15\@2 {
    margin-top: 1.5em;
  }
  .h-mt-20\@2 {
    margin-top: 2em;
  }
  .h-mt-25\@2 {
    margin-top: 2.5em;
  }
  .h-mt-30\@2 {
    margin-top: 3em;
  }
  .h-mt-35\@2 {
    margin-top: 3.5em;
  }
  .h-mt-40\@2 {
    margin-top: 4em;
  }
  .h-mt-45\@2 {
    margin-top: 4.5em;
  }
  .h-mt-50\@2 {
    margin-top: 5em;
  }
  .h-bx-00\@2 {
    padding: 0;
  }
  .h-bx-05\@2 {
    padding: .5em;
  }
  .h-bx-10\@2 {
    padding: 1em;
  }
  .h-bx-15\@2 {
    padding: 1.5em;
  }
  .h-bx-20\@2 {
    padding: 2em;
  }
  .h-bx-25\@2 {
    padding: 2.5em;
  }
  .h-bx-30\@2 {
    padding: 3em;
  }
  .h-bx-35\@2 {
    padding: 3.5em;
  }
  .h-bx-40\@2 {
    padding: 4em;
  }
  .h-bx-45\@2 {
    padding: 4.5em;
  }
  .h-bx-50\@2 {
    padding: 5em;
  }
}

/*
===
2.3 Font Size
===

### Font Size Class

それぞれの見出し要素と同様のフォントサイズを適用します。

```html
<p class="h-h1">Same Font Size as H1 Element</p>
<p class="h-h2">Same Font Size as H2 Element</p>
<p class="h-h3">Same Font Size as H3 Element</p>
<p class="h-h4">Same Font Size as H4 Element</p>
<p class="h-h5">Same Font Size as H5 Element</p>
<p class="h-h6">Same Font Size as H6 Element</p>
```

*/
.h-h1 {
  font-size: 24px;
}

.h-h2 {
  font-size: 21px;
}

.h-h3 {
  font-size: 18px;
}

.h-h4 {
  font-size: 17px;
}

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

.h-h6 {
  font-size: 14px;
}

.h-fs-xl {
  font-size: 14px;
}

.h-fs-lg {
  font-size: 14px;
}

.h-fs-md {
  font-size: 16px;
}

.h-fs-sm {
  font-size: 14px;
}

.h-fs-xs {
  font-size: 14px;
}

@media (min-width: 768px) {
  .h-h1 {
    font-size: 24px;
  }
  .h-h2 {
    font-size: 21px;
  }
  .h-h3 {
    font-size: 18px;
  }
  .h-h4 {
    font-size: 17px;
  }
  .h-h5 {
    font-size: 16px;
  }
  .h-h6 {
    font-size: 14px;
  }
  .h-fs-xl {
    font-size: 14px;
  }
  .h-fs-lg {
    font-size: 14px;
  }
  .h-fs-md {
    font-size: 16px;
  }
  .h-fs-sm {
    font-size: 14px;
  }
  .h-fs-xs {
    font-size: 14px;
  }
}

@media (min-width: 1200px) {
  .h-h1 {
    font-size: 38px;
  }
  .h-h2 {
    font-size: 32px;
  }
  .h-h3 {
    font-size: 26px;
  }
  .h-h4 {
    font-size: 20px;
  }
  .h-h5 {
    font-size: 18px;
  }
  .h-h6 {
    font-size: 16px;
  }
  .h-fs-xl {
    font-size: 16px;
  }
  .h-fs-lg {
    font-size: 16px;
  }
  .h-fs-md {
    font-size: 18px;
  }
  .h-fs-sm {
    font-size: 16px;
  }
  .h-fs-xs {
    font-size: 16px;
  }
}

/*
===
2.4 Print
===

### Print Class

印刷時に要素を非表示にします。

```html
<div class="h-np">Hide When Printing</div>
```

*/
@media print {
  .h-np {
    display: none !important;
  }
}

/*
===
2.5 Screen Reader
===

### Screen Reader Class

読み上げ用テキストに適用します。

```html
<a class="h-sr" href="#main">本文にスキップ</a>
```

#### Display Modifier

要素がフォーカスされたとき、画面に表示されるようにします。

```html
<a class="h-sr h-sr--ds" href="#main">本文にスキップ</a>
```

*/
.h-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0;
}

.h-sr--ds:active, .h-sr--ds:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none;
}

/*
===
2.6 Clearfix
===

### Clearfix Mixin

Floatを解除するためのClearfixを適用します。

```scss
div {
  @include clearfix;
}
```

*/
/*
===
2.7 Button
===

### Button Mixin

`input[type="button"]`、`button`などのButtonを示す要素のスタイルをリセットします。

```scss
button {
  @include button;
}
```

*/
/*
===
2.8 List
===

### List Mixin

ユーザーエージェントで指定されている`ol`、`ul`要素のスタイルをリセットします。

```scss
ol, ul {
  @include list;
}
```

*/
/*
===
2.9 Ellipsis
===

### Ellipsis Mixin

要素の横幅からはみ出した文字を省略し、テキストを1行に収めます。

```scss
p {
  @include ellipsis;
}
```

*/
/*
===
2.10 Scroller
===

### Scroller Mixin

縦方向、もしくは横方向にスクロールバーを表示します。

```scss
@include media-query-asc {
  @if $query == 0 {
    .scroller-x {
      @include scroller-x;
      width: 100%;
    }

    .scroller-x__inner {
      width: 800px;
    }

    .scroller-y {
      @include scroller-y;
      width: 400px;
    }

    .scroller-y__inner {
      height: auto;
    }
  }

  @if $query == 1 {
    .scroller-x {
      @include scroller-x-reset;
      width: auto;
    }

    .scroller-y {
      @include scroller-y-reset;
      width: auto;
    }
  }
}
```

*/
/*
===
3.0 Layout
===

## Layout Category

ページ全体のレイアウトを構築するためのスタイルを定義しています。
クラス名は、`l-`プレフィックスに続いて、レイアウトの種別を示す2文字の略称とElementとModifierから成ります。
またModifierの`@`の文字の後に続く数字は、[Media Query Mixin](#link-3)昇順の`$query`変数の値で、ブレイクポイントごとに振る舞いが変化することを示しています。

*/
/*
===
3.1 Columns
===

### Columns Class

グリッドシステムを構成するクラスです。
これらを利用することでページ全体のレイアウトを構築することができます。
Frontwork CSSのグリッドシステムは[BootStrap](https://getbootstrap.com/)や[Foundation](https://foundation.zurb.com/)を参考にしています。

#### Site

`body`要素直下の要素に使用します。

```html
<body>
  <div class="l-st">Page</div>
</body>
```

#### Container

グリッドシステムにおけるコンテナーです。

```html
<body>
  <div class="l-st">
    <div class="l-cn">Width: Container Size</div>
  </div>
</body>
```

##### Full Size Modifier

コンテナーの横幅を100%に設定します。

```html
<body>
  <div class="l-st">
    <div class="l-cn l-cn--fl@0">Width: 100%</div>
  </div>
</body>
```

#### Row & Column

グリッドシステムにおけるグリッドです。
コンテナーの直下の要素にRowを使用し、Rowの直下の要素にColumnを使用します。
またColumnの直下にRowを使用することで、ネストして利用することができます。

```html
<body>
  <div class="l-st">
    <div class="l-cn">
      <div class="l-rw">
        <div class="l-cl">Column</div>
        <div class="l-cl">Column</div>
        <div class="l-cl">
          <div class="l-rw">
            <div class="l-cl">Column</div>
            <div class="l-cl">Column</div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
```

##### Size Modifier (Column)

グリッドシステムにおけるグリッドのサイズを指定します。

```html
<body>
  <div class="l-st">
    <div class="l-cn">
      <div class="l-rw">
        <div class="l-cl l-cl--4@0">Column</div>
        <div class="l-cl l-cl--4@0">Column</div>
        <div class="l-cl l-cl--4@0">
          <div class="l-rw">
            <div class="l-cl l-cl--6@0">Column</div>
            <div class="l-cl l-cl--6@0">Column</div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
```

##### Offset Modifier (Column)

左側、もしくは右側にマージンを追加します。

```html
<body>
  <div class="l-st">
    <div class="l-cn">
      <div class="l-rw">
        <div class="l-cl l-cl--3@0 l-cl--ml3@0">Column</div>
        <div class="l-cl l-cl--3@0 l-cl--mr3@0">Column</div>
      </div>
    </div>
  </div>
</body>
```

##### No Gatter Modifier (Row & Column)

グリッドシステムにおけるガターを削除します。

```html
<div class="l-cn">
  <div class="l-rw l-rw--ng@0">
    <div class="l-cl l-cl--ng@0">No Gatter Row & Column</div>
  </div>
</div>
```

##### Flexible Box Modifier (Row & Column)

CSS3のFlexible Boxを適用します。

```html
<div class="l-cn">
  <div class="l-rw l-rw--fx@0">
    <div class="l-cl l-cl--6@0">Flexible Item</div>
    <div class="l-cl l-cl--6@0">Flexible Item</div>
  </div>
</div>
```

###### Direction

Flexible Itemの並びの方向を縦、もしくは横並びにします。

```html
<div class="l-cn">
  <div class="l-rw l-rw--fx@0 l-rw--fx--hr@0">
    <div class="l-cl l-cl--6@0">Side by Side (Default)</div>
    <div class="l-cl l-cl--6@0">Side by Side (Default)</div>
  </div>
  <div class="l-rw l-rw--fx@0 l-rw--fx--vt@0">
    <div class="l-cl l-cl--6@0">Vertical Row (Default)</div>
    <div class="l-cl l-cl--6@0">Vertical Row (Default)</div>
  </div>
</div>
```

###### Align Item

Flexible Itemの縦方向の揃えの位置を上揃え、もしくは中央揃えにします。

```html
<div class="l-cn">
  <div class="l-rw l-rw--fx@0 l-rw--fx--tp@0">
    <div class="l-cl l-cl--6@0">Align Top (Default)</div>
    <div class="l-cl l-cl--6@0">Align Top (Default)</div>
  </div>
  <div class="l-rw l-rw--fx@0 l-rw--fx--md@0">
    <div class="l-cl l-cl--6@0">Align Middle</div>
    <div class="l-cl l-cl--6@0">Align Middle</div>
  </div>
</div>
```

###### Order

Flexible Itemの表示順の優先順位を指定します。

```html
<div class="l-cn">
  <div class="l-rw l-rw--fx@0">
    <div class="l-cl l-cl--fx--od@0">Priority 0 (Default)</div>
    <div class="l-cl l-cl--fx--op@0">Priority +1</div>
    <div class="l-cl l-cl--fx--om@0">Priority -1</div>
  </div>
</div>
```

*/
.l-st,
.l-cn,
.l-ed,
.l-rw,
.l-cl {
  display: block;
  min-height: 0;
}

.l-st::after,
.l-cn::after,
.l-rw::after {
  content: '';
  display: block;
  clear: both;
}

.l-cn,
.l-ed > * {
  margin-left: auto;
  margin-right: auto;
}

.l-ed > .l-ed__rs {
  width: auto;
  min-width: 0;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.l-cl {
  width: 100%;
  float: left;
}

.l-ed > *:first-child {
  margin-top: 0;
}

.l-ed > *:last-child {
  margin-bottom: 0;
}

.l-st {
  min-width: 0;
}

.l-cn,
.wp-block {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 480px !important;
  padding-right: 10px;
  padding-left: 10px;
}

.l-ed > * {
  width: calc(100% - 20px);
  min-width: 0;
  max-width: calc(480px - 20px);
}

.l-rw {
  margin-right: -10px;
  margin-left: -10px;
  padding-left: 5px;
  padding-right: 5px;
}

.l-cl {
  padding-right: 5px;
  padding-left: 5px;
}

@media (min-width: 768px) {
  .l-st {
    min-width: 0;
  }
  .l-cn,
  .wp-block {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 900px !important;
    padding-right: 25px;
    padding-left: 25px;
  }
  .l-ed > * {
    width: calc(100% - 50px);
    min-width: 0;
    max-width: calc(900px - 50px);
  }
  .l-rw {
    margin-right: -25px;
    margin-left: -25px;
    padding-left: 12.5px;
    padding-right: 12.5px;
  }
  .l-cl {
    padding-right: 12.5px;
    padding-left: 12.5px;
  }
}

@media (min-width: 1200px) {
  .l-st {
    min-width: 1100px;
  }
  .l-cn,
  .wp-block {
    width: 1100px !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-right: 50px;
    padding-left: 50px;
  }
  .l-ed > * {
    width: calc(1100px - 100px);
    min-width: 0;
    max-width: none;
  }
  .l-rw {
    margin-right: -50px;
    margin-left: -50px;
    padding-left: 25px;
    padding-right: 25px;
  }
  .l-cl {
    padding-right: 25px;
    padding-left: 25px;
  }
}

.l-cn--fl\@0 {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.l-cn--fl--rs\@0 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 480px !important;
}

.l-rw--ng\@0,
.l-cl--ng\@0 {
  padding-right: 0;
  padding-left: 0;
}

.l-rw--ng--rs\@0,
.l-cl--ng--rs\@0 {
  padding-left: 5px;
  padding-right: 5px;
}

.l-cl--1\@0 {
  width: 8.33333%;
}

.l-cl--2\@0 {
  width: 16.66667%;
}

.l-cl--3\@0 {
  width: 25%;
}

.l-cl--4\@0 {
  width: 33.33333%;
}

.l-cl--5\@0 {
  width: 41.66667%;
}

.l-cl--6\@0 {
  width: 50%;
}

.l-cl--7\@0 {
  width: 58.33333%;
}

.l-cl--8\@0 {
  width: 66.66667%;
}

.l-cl--9\@0 {
  width: 75%;
}

.l-cl--10\@0 {
  width: 83.33333%;
}

.l-cl--11\@0 {
  width: 91.66667%;
}

.l-cl--12\@0 {
  width: 100%;
}

.l-cl--ml0\@0 {
  margin-left: 0%;
}

.l-cl--mr0\@0 {
  margin-right: 0%;
}

.l-cl--ml1\@0 {
  margin-left: 8.33333%;
}

.l-cl--mr1\@0 {
  margin-right: 8.33333%;
}

.l-cl--ml2\@0 {
  margin-left: 16.66667%;
}

.l-cl--mr2\@0 {
  margin-right: 16.66667%;
}

.l-cl--ml3\@0 {
  margin-left: 25%;
}

.l-cl--mr3\@0 {
  margin-right: 25%;
}

.l-cl--ml4\@0 {
  margin-left: 33.33333%;
}

.l-cl--mr4\@0 {
  margin-right: 33.33333%;
}

.l-cl--ml5\@0 {
  margin-left: 41.66667%;
}

.l-cl--mr5\@0 {
  margin-right: 41.66667%;
}

.l-cl--ml6\@0 {
  margin-left: 50%;
}

.l-cl--mr6\@0 {
  margin-right: 50%;
}

.l-cl--ml7\@0 {
  margin-left: 58.33333%;
}

.l-cl--mr7\@0 {
  margin-right: 58.33333%;
}

.l-cl--ml8\@0 {
  margin-left: 66.66667%;
}

.l-cl--mr8\@0 {
  margin-right: 66.66667%;
}

.l-cl--ml9\@0 {
  margin-left: 75%;
}

.l-cl--mr9\@0 {
  margin-right: 75%;
}

.l-cl--ml10\@0 {
  margin-left: 83.33333%;
}

.l-cl--mr10\@0 {
  margin-right: 83.33333%;
}

.l-cl--ml11\@0 {
  margin-left: 91.66667%;
}

.l-cl--mr11\@0 {
  margin-right: 91.66667%;
}

.l-cl--ml12\@0 {
  margin-left: 100%;
}

.l-cl--mr12\@0 {
  margin-right: 100%;
}

.l-rw--fx\@0 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l-rw--fx--hr\@0 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.l-rw--fx--vt\@0 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.l-rw--fx--tp\@0 {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.l-rw--fx--md\@0 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-cl--fx--od\@0 {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
}

.l-cl--fx--op\@0 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.l-cl--fx--om\@0 {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}

@media (min-width: 768px) {
  .l-cn--fl\@1 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  .l-cn--fl--rs\@1 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 900px !important;
  }
  .l-rw--ng\@1,
  .l-cl--ng\@1 {
    padding-right: 0;
    padding-left: 0;
  }
  .l-rw--ng--rs\@1,
  .l-cl--ng--rs\@1 {
    padding-left: 12.5px;
    padding-right: 12.5px;
  }
  .l-cl--1\@1 {
    width: 8.33333%;
  }
  .l-cl--2\@1 {
    width: 16.66667%;
  }
  .l-cl--3\@1 {
    width: 25%;
  }
  .l-cl--4\@1 {
    width: 33.33333%;
  }
  .l-cl--5\@1 {
    width: 41.66667%;
  }
  .l-cl--6\@1 {
    width: 50%;
  }
  .l-cl--7\@1 {
    width: 58.33333%;
  }
  .l-cl--8\@1 {
    width: 66.66667%;
  }
  .l-cl--9\@1 {
    width: 75%;
  }
  .l-cl--10\@1 {
    width: 83.33333%;
  }
  .l-cl--11\@1 {
    width: 91.66667%;
  }
  .l-cl--12\@1 {
    width: 100%;
  }
  .l-cl--ml0\@1 {
    margin-left: 0%;
  }
  .l-cl--mr0\@1 {
    margin-right: 0%;
  }
  .l-cl--ml1\@1 {
    margin-left: 8.33333%;
  }
  .l-cl--mr1\@1 {
    margin-right: 8.33333%;
  }
  .l-cl--ml2\@1 {
    margin-left: 16.66667%;
  }
  .l-cl--mr2\@1 {
    margin-right: 16.66667%;
  }
  .l-cl--ml3\@1 {
    margin-left: 25%;
  }
  .l-cl--mr3\@1 {
    margin-right: 25%;
  }
  .l-cl--ml4\@1 {
    margin-left: 33.33333%;
  }
  .l-cl--mr4\@1 {
    margin-right: 33.33333%;
  }
  .l-cl--ml5\@1 {
    margin-left: 41.66667%;
  }
  .l-cl--mr5\@1 {
    margin-right: 41.66667%;
  }
  .l-cl--ml6\@1 {
    margin-left: 50%;
  }
  .l-cl--mr6\@1 {
    margin-right: 50%;
  }
  .l-cl--ml7\@1 {
    margin-left: 58.33333%;
  }
  .l-cl--mr7\@1 {
    margin-right: 58.33333%;
  }
  .l-cl--ml8\@1 {
    margin-left: 66.66667%;
  }
  .l-cl--mr8\@1 {
    margin-right: 66.66667%;
  }
  .l-cl--ml9\@1 {
    margin-left: 75%;
  }
  .l-cl--mr9\@1 {
    margin-right: 75%;
  }
  .l-cl--ml10\@1 {
    margin-left: 83.33333%;
  }
  .l-cl--mr10\@1 {
    margin-right: 83.33333%;
  }
  .l-cl--ml11\@1 {
    margin-left: 91.66667%;
  }
  .l-cl--mr11\@1 {
    margin-right: 91.66667%;
  }
  .l-cl--ml12\@1 {
    margin-left: 100%;
  }
  .l-cl--mr12\@1 {
    margin-right: 100%;
  }
  .l-rw--fx\@1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .l-rw--fx--hr\@1 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .l-rw--fx--vt\@1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-rw--fx--tp\@1 {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .l-rw--fx--md\@1 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-cl--fx--od\@1 {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .l-cl--fx--op\@1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .l-cl--fx--om\@1 {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

@media (min-width: 1200px) {
  .l-cn--fl\@2 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  .l-cn--fl--rs\@2 {
    width: 1100px !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .l-rw--ng\@2,
  .l-cl--ng\@2 {
    padding-right: 0;
    padding-left: 0;
  }
  .l-rw--ng--rs\@2,
  .l-cl--ng--rs\@2 {
    padding-left: 25px;
    padding-right: 25px;
  }
  .l-cl--1\@2 {
    width: 8.33333%;
  }
  .l-cl--2\@2 {
    width: 16.66667%;
  }
  .l-cl--3\@2 {
    width: 25%;
  }
  .l-cl--4\@2 {
    width: 33.33333%;
  }
  .l-cl--5\@2 {
    width: 41.66667%;
  }
  .l-cl--6\@2 {
    width: 50%;
  }
  .l-cl--7\@2 {
    width: 58.33333%;
  }
  .l-cl--8\@2 {
    width: 66.66667%;
  }
  .l-cl--9\@2 {
    width: 75%;
  }
  .l-cl--10\@2 {
    width: 83.33333%;
  }
  .l-cl--11\@2 {
    width: 91.66667%;
  }
  .l-cl--12\@2 {
    width: 100%;
  }
  .l-cl--ml0\@2 {
    margin-left: 0%;
  }
  .l-cl--mr0\@2 {
    margin-right: 0%;
  }
  .l-cl--ml1\@2 {
    margin-left: 8.33333%;
  }
  .l-cl--mr1\@2 {
    margin-right: 8.33333%;
  }
  .l-cl--ml2\@2 {
    margin-left: 16.66667%;
  }
  .l-cl--mr2\@2 {
    margin-right: 16.66667%;
  }
  .l-cl--ml3\@2 {
    margin-left: 25%;
  }
  .l-cl--mr3\@2 {
    margin-right: 25%;
  }
  .l-cl--ml4\@2 {
    margin-left: 33.33333%;
  }
  .l-cl--mr4\@2 {
    margin-right: 33.33333%;
  }
  .l-cl--ml5\@2 {
    margin-left: 41.66667%;
  }
  .l-cl--mr5\@2 {
    margin-right: 41.66667%;
  }
  .l-cl--ml6\@2 {
    margin-left: 50%;
  }
  .l-cl--mr6\@2 {
    margin-right: 50%;
  }
  .l-cl--ml7\@2 {
    margin-left: 58.33333%;
  }
  .l-cl--mr7\@2 {
    margin-right: 58.33333%;
  }
  .l-cl--ml8\@2 {
    margin-left: 66.66667%;
  }
  .l-cl--mr8\@2 {
    margin-right: 66.66667%;
  }
  .l-cl--ml9\@2 {
    margin-left: 75%;
  }
  .l-cl--mr9\@2 {
    margin-right: 75%;
  }
  .l-cl--ml10\@2 {
    margin-left: 83.33333%;
  }
  .l-cl--mr10\@2 {
    margin-right: 83.33333%;
  }
  .l-cl--ml11\@2 {
    margin-left: 91.66667%;
  }
  .l-cl--mr11\@2 {
    margin-right: 91.66667%;
  }
  .l-cl--ml12\@2 {
    margin-left: 100%;
  }
  .l-cl--mr12\@2 {
    margin-right: 100%;
  }
  .l-rw--fx\@2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .l-rw--fx--hr\@2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .l-rw--fx--vt\@2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-rw--fx--tp\@2 {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .l-rw--fx--md\@2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-cl--fx--od\@2 {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .l-cl--fx--op\@2 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .l-cl--fx--om\@2 {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

/*
===
3.3 Multi Column
===

### Multi Column Class

CSS3のMulti Column Layoutを適用します。
Modifierを利用して段組数を指定します。
`column-gap`、`column-rule`は別途設定してください。

#### Size Modifier

段組数を指定します。

```html
<p class="l-mc l-mc--2@0">2 Columns</p>
<p class="l-mc l-mc--3@0">3 Columns</p>
```

*/
.l-mc {
  -webkit-column-count: auto;
          column-count: auto;
}

.l-mc--2\@0 {
  -webkit-column-count: 2;
          column-count: 2;
}

.l-mc--3\@0 {
  -webkit-column-count: 3;
          column-count: 3;
}

@media (min-width: 768px) {
  .l-mc--2\@1 {
    -webkit-column-count: 2;
            column-count: 2;
  }
  .l-mc--3\@1 {
    -webkit-column-count: 3;
            column-count: 3;
  }
}

@media (min-width: 1200px) {
  .l-mc--2\@2 {
    -webkit-column-count: 2;
            column-count: 2;
  }
  .l-mc--3\@2 {
    -webkit-column-count: 3;
            column-count: 3;
  }
}

/*
===
3.2 Table Block
===

### Table Block Class

`table`要素とそれに関連する要素すべてを`display: block`に変更します。

```html
<table class="l-tb">
  <thead>
    <tr>
      <th>Number</th>
      <th>First Name</th>
      <th>Last Name</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>01</th>
      <td>Taro</td>
      <td>Tanaka</td>
    </tr>
    <tr>
      <th>02</th>
      <td>Haruko</td>
      <td>Sato</td>
    </tr>
  </tbody>
</table>
```

#### Reset Modifier

スタイルをリセットします。

```html
<table class="l-tb l-tb--rs@0">
  <thead>
    <tr>
      <th>Number</th>
      <th>First Name</th>
      <th>Last Name</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>01</th>
      <td>Taro</td>
      <td>Tanaka</td>
    </tr>
    <tr>
      <th>02</th>
      <td>Haruko</td>
      <td>Sato</td>
    </tr>
  </tbody>
</table>
```

*/
.l-tb,
.l-tb thead,
.l-tb tbody,
.l-tb tfoot,
.l-tb tr,
.l-tb th,
.l-tb td,
.l-tb caption,
.l-tb colgroup,
.l-tb col {
  display: block;
}

.l-tb--rs\@0 {
  display: table;
}

.l-tb--rs\@0 thead {
  display: table-header-group;
}

.l-tb--rs\@0 tbody {
  display: table-row-group;
}

.l-tb--rs\@0 tfoot {
  display: table-footer-group;
}

.l-tb--rs\@0 tr {
  display: table-row;
}

.l-tb--rs\@0 th,
.l-tb--rs\@0 td {
  display: table-cell;
}

.l-tb--rs\@0 caption {
  display: table-caption;
}

.l-tb--rs\@0 colgroup {
  display: table-column-group;
}

.l-tb--rs\@0 col {
  display: table-column;
}

@media (min-width: 768px) {
  .l-tb--rs\@1 {
    display: table;
  }
  .l-tb--rs\@1 thead {
    display: table-header-group;
  }
  .l-tb--rs\@1 tbody {
    display: table-row-group;
  }
  .l-tb--rs\@1 tfoot {
    display: table-footer-group;
  }
  .l-tb--rs\@1 tr {
    display: table-row;
  }
  .l-tb--rs\@1 th,
  .l-tb--rs\@1 td {
    display: table-cell;
  }
  .l-tb--rs\@1 caption {
    display: table-caption;
  }
  .l-tb--rs\@1 colgroup {
    display: table-column-group;
  }
  .l-tb--rs\@1 col {
    display: table-column;
  }
}

@media (min-width: 1200px) {
  .l-tb--rs\@2 {
    display: table;
  }
  .l-tb--rs\@2 thead {
    display: table-header-group;
  }
  .l-tb--rs\@2 tbody {
    display: table-row-group;
  }
  .l-tb--rs\@2 tfoot {
    display: table-footer-group;
  }
  .l-tb--rs\@2 tr {
    display: table-row;
  }
  .l-tb--rs\@2 th,
  .l-tb--rs\@2 td {
    display: table-cell;
  }
  .l-tb--rs\@2 caption {
    display: table-caption;
  }
  .l-tb--rs\@2 colgroup {
    display: table-column-group;
  }
  .l-tb--rs\@2 col {
    display: table-column;
  }
}

/*
===
4.0 JavaScript
===

## JavaScript Category

JavaScriptの制御に利用するスタイルを定義しています。
クラス名には、`js-`プレフィックスを付与します。

### Import

Frontwork CSSのJavaScriptを利用する場合、次のJavaScriptを読み込んでください。

```js
import Frontwork from 'frontwork/all';
```

*/
/*
===
4.1 Modal
===

### Modal

モーダルウインドウを生成します。
`a`要素の`href`属性の値で、モーダルウインドウに表示する要素が決定します。

* アンカーリンクの場合は同じHTML内のアンカーリンクの要素を表示

* 画像の場合は、画像を表示

* それ以外の場合はURLとみなし、`iframe`要素を表示

#### HTML

```html
<ul>
  <li>
    <a class="modal" href="#target">Anchor link</a>
  </li>
  <li>
    <a class="modal" href="/assets/images/sample.jpg">Image</a>
  </li>
  <li>
    <a class="modal" href="/index.html">Iframe</a>
  </li>
</ul>
```

#### JavaScript

第一引数にNodeListを指定し、第二引数にパラメーターオブジェクトを指定します。

```js
document.addEventListener('DOMContentLoaded', () => {
  const targetList = document.querySelectorAll('.modal');
  const param = {
    useControls: true,
    isLoadingTest: false, // check loading animation
    onOpenBefore: function () {},
    onOpenAfter: function () {},
    onResized: function () {}
  };
  const modal = new Frontwork.Modal(targetList, param);
});
```

*/
@-webkit-keyframes MODAL_OPENING {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes MODAL_OPENING {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes MODAL_LOADING {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0);
  }
}

@keyframes MODAL_LOADING {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0);
  }
}

.js-modal,
.js-modal__controls {
  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;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.js-modal__content,
.js-modal__controls-container {
  position: relative;
  max-width: calc(100% - 20px);
  max-height: calc(100% - 80px);
}

.js-modal {
  position: fixed;
  z-index: 100000;
  background-color: rgba(0, 0, 0, 0.8);
}

.js-modal:not(.is-show) {
  display: none;
}

.js-modal__controls {
  position: absolute;
}

.js-modal__content {
  background-color: transparent;
  visibility: hidden;
  z-index: 2;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow-x: auto;
  overflow-y: auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.js-modal__content:focus {
  outline: 0;
}

.js-modal__content.is-show {
  visibility: visible;
  -webkit-animation: MODAL_OPENING .2s ease-in-out 0s;
          animation: MODAL_OPENING .2s ease-in-out 0s;
}

.js-modal__content > img {
  display: block;
}

.js-modal__frame {
  visibility: hidden;
}

.js-modal__loading {
  font-size: 0;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-animation: MODAL_LOADING 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
          animation: MODAL_LOADING 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}

.js-modal__prev,
.js-modal__next,
.js-modal__close {
  display: block;
  position: fixed;
  overflow: hidden;
  width: 40px;
  height: 40px;
  top: 0;
  font-size: 0;
  z-index: 3;
}

.js-modal__prev::before,
.js-modal__next::before {
  content: '';
  display: block;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 12px;
  height: 12px;
  border-top: 4px solid rgba(255, 255, 255, 0.5);
  border-left: 4px solid rgba(255, 255, 255, 0.5);
}

.js-modal__prev:hover::before,
.js-modal__next:hover::before {
  border-top-color: #fff;
  border-left-color: #fff;
}

.js-modal__prev {
  right: 80px;
}

.js-modal__prev::before {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  left: 6px;
}

.js-modal__next {
  right: 40px;
}

.js-modal__next::before {
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg);
  right: 6px;
}

.js-modal__close {
  opacity: .5;
  right: 0;
}

.js-modal__close::before, .js-modal__close::after {
  content: '';
  display: block;
  width: 20px;
  height: 3px;
  background-color: #fff;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
}

.js-modal__close::before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.js-modal__close::after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.js-modal__close:hover {
  opacity: 1;
}

/*
===
4.2 Carousel
===

### Carousel

カルーセルを生成します。

#### HTML

```html
<ul class="carousel">
  <li>
    <img src="/assets/images/sample.jpg" alt="" />
  </li>
  <li>
    <img src="/assets/images/sample.jpg" alt="" />
  </li>
  <li>
    <img src="/assets/images/sample.jpg" alt="" />
  </li>
</ul>
```

#### JavaScript

第一引数にNodeを指定し、第二引数にパラメーターオブジェクトを指定します。

```js
document.addEventListener('DOMContentLoaded', () => {
  const $target = document.querySelector('.carousel');
  const param = {
    usePager: true,
    useControls: true,
    isAuto: true,
    animationDuration: 500,
    animationType: 'horizontal', // 'horizontal' or 'fade'
    pauseTime: 3000,
    onLoaded: function () {},
    onMoveBefore: function () {},
    onMoveAfter: function () {},
    onResized: function () {}
  });
  const carousel = new Frontwork.Carousel($target, param);
});
```

#### SCSS

カルーセルが読み込まれた時、スライドの切り替わり時に状態変化を示すクラスが追加されます。
それを利用して複雑なアニメーションを付与することができます。

```scss
.carousel,
.carousel > li {
  width: 100%;
  height: 100vh;
}
.carousel {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.js-carousel.is-loaded {
  .carousel {
    opacity: 1;
  }
}
.carousel > li {
  transition: transform 0s linear 1s;
}
.js-carousel__item.is-show,
.js-carousel__item.is-leaving {
  .carousel > li {
    transform: scale(1.5);
    transition: transform 10s linear 0s;
  }
}
```

*/
.js-carousel {
  position: relative;
  overflow: hidden;
}

.js-carousel__slide {
  position: relative;
}

.js-carousel__item {
  width: 100%;
}

.js-carousel--fade .js-carousel__slide {
  overflow: hidden;
}

.js-carousel--fade .js-carousel__item {
  position: absolute;
  -webkit-transition-property: opacity, visibility;
  -o-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-timing-function: linear, step-end;
       -o-transition-timing-function: linear, step-end;
          transition-timing-function: linear, step-end;
}

.js-carousel--fade .js-carousel__item.is-show {
  -webkit-transition-duration: 0s, 0s !important;
       -o-transition-duration: 0s, 0s !important;
          transition-duration: 0s, 0s !important;
}

.js-carousel--horizontal {
  -webkit-transition: -webkit-transform 0s ease-in-out;
  transition: -webkit-transform 0s ease-in-out;
  -o-transition: transform 0s ease-in-out;
  transition: transform 0s ease-in-out;
  transition: transform 0s ease-in-out, -webkit-transform 0s ease-in-out;
}

.js-carousel--horizontal .js-carousel__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.js-carousel--horizontal .js-carousel__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}

.js-carousel__pager,
.js-carousel__prev,
.js-carousel__next {
  font-size: 0;
}

.js-carousel__pager {
  display: table;
  table-layout: fixed;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  padding-left: 1px;
  padding-right: 1px;
}

.js-carousel__pager > li {
  display: table-cell;
  width: 100%;
}

.js-carousel__pager > li > a {
  display: block;
  cursor: pointer;
  width: 100%;
  height: 30px;
  background-color: rgba(255, 255, 255, 0.5);
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
  border-top: 22px solid transparent;
  border-bottom: 3px solid transparent;
  background-clip: padding-box;
}

.js-carousel__pager > li > a:hover {
  background-color: #fff;
}

.js-carousel__pager > li.is-current > a {
  background-color: #fff;
}

.js-carousel__prev,
.js-carousel__next {
  display: block;
  position: absolute;
  top: 0;
  width: 15%;
  min-width: 50px;
  height: 100%;
  z-index: 4;
  overflow: hidden;
  cursor: pointer;
}

.js-carousel__prev::before,
.js-carousel__next::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  border-left: 4px solid rgba(255, 255, 255, 0.5);
  border-bottom: 4px solid rgba(255, 255, 255, 0.5);
}

.js-carousel__prev:hover::before,
.js-carousel__next:hover::before {
  border-left-color: #fff;
  border-bottom-color: #fff;
}

.js-carousel__prev {
  left: 0;
}

.js-carousel__prev::before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.js-carousel__next {
  right: 0;
}

.js-carousel__next::before {
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.js-carousel__stop {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  position: absolute;
  color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 2px 5px;
  top: 10px;
  right: 10px;
  z-index: 6;
  cursor: pointer;
  text-decoration: none;
}

.js-carousel__stop:hover {
  color: #fff;
  border-color: #fff;
  text-decoration: none;
}

/*
===
4.3 Menu
===

### Menu

メニューを生成します。
このメニューはページにひとつしか生成できません。

#### HTML

`js-menu-layer`クラスは任意で設置してください。

```html
<nav class="js-menu" id="menu" role="navigation">
  <ul class="js-menu__container">
    <li>
      <a href="#">Menu</a>
    </li>
  </ul>
</nav>
<div class="js-menu-layer"></div>
<a class="js-menu-switch" href="#" aria-controls="menu" aria-label="MENU">
  <i class="js-menu-switch__icon" aria-hidden="true"></i>
</a>
```

#### JavaScript

第一引数に、メニューを表示する最大の[Media Query Mixin](index.html#link-3)の`$query`変数の値を指定します。

```js
document.addEventListener('DOMContentLoaded', () => {
  const maxQuery = 0;
  new Frontwork.Menu(maxQuery);
});
```

#### SCSS

メニューの見た目を調整できるMixinが用意されています。
また`js-menu-switch`と`js-menu-layer`クラスの表示は任意の`$query`変数で非表示にしてください。

```scss
@include media-query-asc {
  @if $query == 1 {
    .js-menu-switch,
    .js-menu-layer {
      display: none;
    }
  }
}

@include media-query-desc {
  @if $query == 0 {
    @include menu (
      $direction: left, // left or right or top or bottom
      $is-relative: false, $is-double: false,
      $container-transition-duration: .3s, $container-transition-timing-function: ease-in-out,
      $container-width: 100%, $container-max-width: false, $container-min-width: false,
      $container-height: 100%, $container-max-height: false, $container-min-height: false,
      $layer-color: rgba(0,0,0,.8),
      $is-body-fixed: false,
      $switch-width: 100px, $switch-height: 100px,
      $switch-transition-duration: .1s, $switch-centerbar-transition-duration: .15s, $switch-transition-timing-function: ease-in-out,
      $switch-bar-width: 50px, $switch-bar-weight: 6px, $switch-bar-span: 8px, $switch-bar-color: #323232, $switch-bar-color-opened: #fff
    );
  }
}
```

*/
/*
===
4.4 Accordion
===

### Accordion

アコーディオンを生成します。

#### HTML

```html
<div class="js-accordion">
<a href="#" class="js-accordion__switch" aria-label="TOGGLE"></a>
<ul class="js-accordion__content">
  <li>
    <a href="#">Accordion Content</a>
  </li>
</ul>
```

#### JavaScript

第一引数に、アコーディオンを表示する最大の[Media Query Mixin](index.html#link-3)の`$query`変数の数を指定します。

```js
document.addEventListener('DOMContentLoaded', () => {
  const maxQuery = 0;
  new Frontwork.Accordion(maxQuery);
});
```

#### SCSS

`js-accordion__switch`クラスのスタイルを補助するMixinが用意されています。
`js-accordion__content`クラスは任意の`$query`変数で非表示にしてください。

```scss
@include media-query-desc {
  @if $query == 0 {
    .js-accordion__switch {
      @include accordion-switch(
        $form: plus, // plus or arrow
        $container-width: 50px, $container-height: 50px, $icon-skew: 10deg,
        $icon-color: #323232, $icon-line-weight: 2px, $icon-size: 20px,
        $transition-duration: .1s, $transition-timing-function: ease-in-out,
        $toggle-class: is-open
      );
    }
    // close accordion content
    .js-accordion__content {
      display: none;
    }
  }
}
```

*/
/*
===
4.5 Tooltip
===

### Tooltip

ツールチップを生成します。

#### HTML

```html
<li class="js-tooltip">
  <a href="#">Tooltip</a>
  <ul class="js-tooltip__child">
    <li>
      <a href="#">Tooltip Child</a>
    </li>
  </ul>
</li>
```

[アコーディオン](section-4.html#link-4)と組み合わせて、画面幅が大きいときにはツールチップ、小さいときには[アコーディオン](section-4.html#link-4)といったように実装できます。

```html
<li class="js-tooltip js-accordion">
  <a href="#">Tooltip</a>
  <ul class="js-tooltip__child js-accordion__content">
    <li>
      <a href="#">Tooltip Child</a>
    </li>
  </ul>
  <a class="js-accordion__switch" href="#" aria-label="TOGGLE"></a>
</li>
```

#### JavaScript

第一引数に、ツールチップを表示する最小の[Media Query Mixin](index.html#link-3)の`$query`変数の数を指定します。

```js
document.addEventListener('DOMContentLoaded', () => {
  const minQuery = 1;
  new Frontwork.Tooltip(minQuery);
});
```

#### SCSS

ツールチップの見た目を補助するMixinが用意されています。

```scss
@include media-query-asc {
  @if $query == 1 {
    @include tooltip;
  }
}
```

*/
/*
===
4.6 Parallax
===

### Parallax

パララックス効果を付与します。

#### HTML

要素がブラウザ表示域にある間、`data-x``data-y`属性の値の分だけ移動します。
`data-x`属性は横方向、`data-y`属性は縦方向に移動します。
アニメーションをよりなめらかにするために、対象要素を`position: absolute`にすることが推奨されます。

```html
<div class="js-parallax" data-x="100" data-y="100">
  <img src="/assets/images/sample.jpg" alt="" />
</div>
```

#### JavaScript

```js
document.addEventListener('DOMContentLoaded', () => {
  const scrollWeightLevel = 50;
  const animationDuration = 500;
  const animationTimingFunction = 'cubic-bezier(0, 0.54, 0.20, 1.00)';
  new Frontwork.Parallax(scrollWeightLevel, animationDuration, animationTimingFunction);
});
```

*/
@-webkit-keyframes PARALLAX_LOADED {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes PARALLAX_LOADED {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.js-parallax {
  visibility: hidden;
}

.js-parallax.is-loaded {
  visibility: visible;
  -webkit-animation: PARALLAX_LOADED 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
          animation: PARALLAX_LOADED 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

@font-face {
  font-family: iconfont;
  src: url("../fonts/iconfont.woff2") format("woff2"), url("../fonts/iconfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

.header__logo {
  font-size: 1rem;
  width: 100px;
  margin: 0 auto;
  padding-top: 1.25em;
  padding-bottom: 1.25em;
}

.header__logo img {
  display: block;
  width: 100%;
  max-width: none;
}

@media (min-width: 768px) {
  .header__logo {
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    width: auto;
  }
}

.menu__main,
.menu__sub {
  list-style: none;
  padding-left: 0;
}

.menu__main > li > a,
.menu__sub > li > a {
  text-decoration: none;
  color: inherit;
}

.menu__sub > li > a[target="_blank"]::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA05';
  display: inline-block;
  color: #000;
  overflow: hidden;
  line-height: 1;
  text-decoration: none !important;
  vertical-align: middle;
}

.menu__main {
  font-size: .88888888rem;
}

.menu__sub {
  font-size: .77777777rem;
}

@media (min-width: 768px) {
  .js-menu-switch,
  .js-menu-layer {
    display: none;
  }
  .menu {
    text-align: right;
  }
  .menu__main,
  .menu__sub {
    display: inline-block;
    vertical-align: middle;
  }
  .menu__main::after,
  .menu__sub::after {
    content: '';
    display: block;
    clear: both;
  }
  .menu__main > li,
  .menu__sub > li {
    float: left;
  }
  .menu {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .menu__main > li > a {
    display: block;
    border-bottom: 2px solid transparent;
    -webkit-transition: border-bottom-color .1s ease-in-out;
    -o-transition: border-bottom-color .1s ease-in-out;
    transition: border-bottom-color .1s ease-in-out;
    padding-bottom: .2em;
  }
  .menu__main > li > a:hover {
    border-bottom-color: #000;
  }
  .menu__main > li.is-current > a {
    border-bottom-color: #000;
  }
  .menu__main > li:not(:last-child) {
    padding-right: 2em;
  }
  .menu__sub {
    margin-bottom: 1em;
  }
  .menu__sub > li > a:hover {
    text-decoration: underline;
  }
  .menu__sub > li:not(:last-child) {
    padding-right: 1em;
  }
  .menu__sub > li:not(:last-child):after {
    content: '|';
    margin-left: 1em;
  }
}

@media (min-width: 1200px) {
  .menu {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  .menu__sub {
    margin-bottom: 1.5em;
  }
}

@media (max-width: 767px) {
  .js-menu,
  .js-menu-layer,
  .js-menu__container,
  .js-menu-switch,
  .js-menu-switch__icon,
  .js-menu-switch__icon::before,
  .js-menu-switch__icon::after {
    display: block;
  }
  .js-menu,
  .js-menu-layer,
  .js-menu-switch {
    overflow: hidden;
  }
  .js-menu,
  .js-menu-layer {
    position: fixed;
    visibility: hidden;
  }
  .js-menu-layer,
  .js-menu__container {
    width: 100%;
    height: 100%;
  }
  .js-menu {
    width: 80%;
    height: 100%;
    -webkit-transition: visibility 0s step-end 0.15s, -webkit-transform 0.15s ease-in-out 0s;
    transition: visibility 0s step-end 0.15s, -webkit-transform 0.15s ease-in-out 0s;
    -o-transition: transform 0.15s ease-in-out 0s, visibility 0s step-end 0.15s;
    transition: transform 0.15s ease-in-out 0s, visibility 0s step-end 0.15s;
    transition: transform 0.15s ease-in-out 0s, visibility 0s step-end 0.15s, -webkit-transform 0.15s ease-in-out 0s;
    z-index: 10001;
    top: 0;
    right: 0;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
  }
  .js-menu-layer {
    top: 0;
    left: 0;
    z-index: 10000;
    -webkit-transition: visibility 0s step-end 0.15s, opacity 0.15s ease-in-out 0s;
    -o-transition: visibility 0s step-end 0.15s, opacity 0.15s ease-in-out 0s;
    transition: visibility 0s step-end 0.15s, opacity 0.15s ease-in-out 0s;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    cursor: default;
  }
  .js-menu__container {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .js-menu-switch {
    position: relative;
    width: 3.5em;
    height: 3.5em;
    z-index: 10002;
    cursor: pointer;
  }
  .js-menu-switch__icon {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: background-color 0.075s ease-in-out;
    -o-transition: background-color 0.075s ease-in-out;
    transition: background-color 0.075s ease-in-out;
    background-color: #000;
  }
  .js-menu-switch__icon, .js-menu-switch__icon::before, .js-menu-switch__icon::after {
    position: absolute;
    width: 25px;
    height: 3px;
  }
  .js-menu-switch__icon::before, .js-menu-switch__icon::after {
    content: '';
    -webkit-transition: background-color 0.05s ease-in-out, -webkit-transform 0.05s ease-in-out;
    transition: background-color 0.05s ease-in-out, -webkit-transform 0.05s ease-in-out;
    -o-transition: transform 0.05s ease-in-out, background-color 0.05s ease-in-out;
    transition: transform 0.05s ease-in-out, background-color 0.05s ease-in-out;
    transition: transform 0.05s ease-in-out, background-color 0.05s ease-in-out, -webkit-transform 0.05s ease-in-out;
    background-color: #000;
  }
  .js-menu-switch__icon::before {
    top: -8px;
  }
  .js-menu-switch__icon::after {
    bottom: -8px;
  }
  .is-menu-open .js-menu,
  .is-menu-open .js-menu-layer {
    visibility: visible;
    -webkit-transition-delay: 0s;
         -o-transition-delay: 0s;
            transition-delay: 0s;
  }
  .is-menu-open .js-menu {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
  .is-menu-open .js-menu-layer {
    opacity: 1;
  }
  .is-menu-open .js-menu-switch__icon {
    background-color: transparent;
  }
  .is-menu-open .js-menu-switch__icon::before, .is-menu-open .js-menu-switch__icon::after {
    background-color: #000;
    -webkit-transition-delay: 0.075s;
         -o-transition-delay: 0.075s;
            transition-delay: 0.075s;
  }
  .is-menu-open .js-menu-switch__icon::before {
    -webkit-transform: translateY(8px) rotate(45deg);
        -ms-transform: translateY(8px) rotate(45deg);
            transform: translateY(8px) rotate(45deg);
  }
  .is-menu-open .js-menu-switch__icon::after {
    -webkit-transform: translateY(-8px) rotate(-45deg);
        -ms-transform: translateY(-8px) rotate(-45deg);
            transform: translateY(-8px) rotate(-45deg);
  }
  .is-menu-open {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
  }
  .js-menu-switch {
    float: right;
  }
  .menu {
    padding-top: 4em;
    background-color: #fff;
  }
  .menu__main > li {
    border-bottom: 1px solid #eee;
  }
  .menu__main > li > a {
    display: block;
    text-align: left;
    padding: 1em 1.5em;
  }
  .menu__sub {
    padding-top: 2em;
    padding-left: 2em;
  }
  .menu__sub > li {
    border-bottom: 1px solid #eee;
  }
  .menu__sub > li:last-child {
    border-bottom: none;
  }
  .menu__sub > li > a {
    display: block;
    text-align: left;
    padding: 1em 1.5em;
  }
}

.footer__nav {
  border-top: 1px solid #eee;
}

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

.footer__nav ul > li {
  border-bottom: 1px solid #eee;
}

.footer__nav ul > li > a {
  display: block;
  color: inherit;
  text-decoration: none;
  text-align: center;
  padding: 1em 1.5em;
  font-size: .88888888rem;
}

@media (min-width: 768px) {
  .footer__nav {
    border-bottom: 1px solid #eee;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    text-align: center;
  }
  .footer__nav ul > li {
    display: inline-block;
    border-bottom: none;
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  .footer__nav ul > li:not(:last-child) {
    border-right: 1px solid #eee;
  }
  .footer__nav ul > li > a {
    display: inline-block;
    padding: 0;
  }
  .footer__nav ul > li > a:hover {
    text-decoration: underline;
  }
}

.footer__banners {
  text-align: center;
  padding-top: 2.5em;
  padding-bottom: 2.5em;
}

.footer__banners a {
  display: inline-block;
  margin-top: .5em;
  margin-bottom: .5em;
}

.footer__banners img {
  vertical-align: middle;
}

@media (min-width: 768px) {
  .footer__banners a {
    -webkit-transition: opacity .1s ease-in-out;
    -o-transition: opacity .1s ease-in-out;
    transition: opacity .1s ease-in-out;
  }
  .footer__banners a:hover {
    opacity: .7;
  }
}

.footer__logo {
  font-size: 1rem;
  width: 100px;
  margin-bottom: 1em;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
}

.footer__logo img {
  display: block;
  width: 100%;
  max-width: none;
}

@media (min-width: 768px) {
  .footer__logo {
    margin-left: 0;
    margin-right: 0;
    width: auto;
  }
}

.footer__info {
  border-top: 1px solid #eee;
  padding-top: 2em;
}

.footer__info-nav {
  font-size: .77777777rem;
}

.footer__info-nav > ul {
  list-style: none;
  padding-left: 0;
}

.footer__info-nav > ul > li {
  border-bottom: 1px solid #eee;
}

.footer__info-nav > ul > li > a {
  display: block;
  padding: 1em 1.5em;
  color: inherit;
  text-decoration: none;
}

.footer__info-nav > ul > li > a[target="_blank"]::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA05';
  color: #000;
  display: inline-block;
  overflow: hidden;
  line-height: 1;
  text-decoration: none !important;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .footer__info {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .footer__info-nav {
    text-align: right;
  }
  .footer__info-nav > ul > li {
    display: inline-block;
    border-bottom: none;
  }
  .footer__info-nav > ul > li:not(:last-child) {
    padding-right: 1em;
  }
  .footer__info-nav > ul > li:not(:last-child):after {
    content: '|';
    margin-left: 1em;
  }
  .footer__info-nav > ul > li > a {
    display: inline-block;
    padding: 0;
  }
  .footer__info-nav > ul > li > a:hover {
    text-decoration: underline;
  }
}

.copyright {
  padding-top: 2em;
  padding-bottom: 2em;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}

.copyright small {
  font-size: .66666666rem;
}

@media (min-width: 768px) {
  .copyright {
    text-align: right;
    padding-bottom: 0;
  }
}

.main {
  overflow: hidden;
}

.contents {
  padding-top: 3em;
  padding-bottom: 5em;
}

.contents > *:first-child {
  margin-top: 0;
}

.contents > *:last-child {
  margin-bottom: 0;
}

.l-ed > p a:not(.c-button) {
  text-decoration: underline;
  color: #000;
}

.l-ed > h3,
.wp-block-heading h3 {
  background-color: #000;
  color: #fff;
  padding: .5em 1em;
}

.l-ed > h4,
.wp-block-heading h4 {
  padding-bottom: .5em;
  border-bottom: 2px solid #000;
}

.l-ed > h5,
.wp-block-heading h5 {
  border: 1px solid #000;
  padding: .5em 1em;
}

.l-ed > h6,
.wp-block-heading h6 {
  border-left: 1px solid #000;
  padding-left: 1em;
}

blockquote,
.wp-block-quote {
  border: none !important;
  background-color: #eee;
  padding: 1em 1em 1em 3em;
  position: relative;
}

blockquote::before,
.wp-block-quote::before {
  content: '“';
  font-family: YuGothic, 'Yu Gothic';
  font-size: 3em;
  line-height: 1;
  position: absolute;
  left: .25em;
  top: .25em;
}

blockquote p,
.wp-block-quote p {
  margin-top: 0;
  margin-bottom: 0;
}

.l-ed--interview {
  margin-top: 3em;
}

img.js-fit__image {
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 768px) {
  .l-ed > p a:hover {
    text-decoration: none;
  }
  .l-ed--interview > * {
    width: 700px;
  }
}

.breadcrumb {
  font-size: .77777777rem;
  padding-top: .5em;
  padding-bottom: .5em;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-bottom: 1px solid #eee;
}

.breadcrumb__content {
  list-style: none;
  padding-left: 0;
  width: 100%;
  white-space: nowrap;
}

.breadcrumb__content > li {
  display: inline-block;
  margin-right: .5em;
}

.breadcrumb__content > li:not(:last-child)::after {
  content: '>';
  color: inherit;
  margin-left: .5em;
}

.breadcrumb__content > li > a {
  color: #000;
}

.breadcrumb__content > li:last-child > a {
  text-decoration: none;
  color: #000;
  pointer-events: none;
}

@media (min-width: 768px) {
  .breadcrumb {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .breadcrumb__content > li > a:hover {
    text-decoration: none;
  }
}

.hero {
  position: relative;
  height: 175px;
  overflow: hidden;
}

.hero::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.55);
  left: 0;
  top: 0;
  z-index: 1;
}

.hero__content {
  position: absolute;
  color: #fff;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 12;
  width: 100%;
  padding-left: 1em;
  padding-right: 1em;
}

.hero__title {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.25;
}

.hero__image {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  max-width: none;
}

.hero {
  opacity: 0;
  -webkit-transition: opacity .2s ease-in-out;
  -o-transition: opacity .2s ease-in-out;
  transition: opacity .2s ease-in-out;
}

.hero__title {
  opacity: 0;
  -webkit-transform: translateY(25px);
      -ms-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s;
  -o-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s;
}

body.is-loaded .hero {
  opacity: 1;
}

body.is-loaded .hero__title {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

@media (min-width: 1200px) {
  .hero {
    height: 280px;
  }
}

.pagetop {
  display: block;
  position: fixed;
  right: 1em;
  bottom: 1em;
  width: 2em;
  height: 2em;
  background-color: #000;
  text-align: center;
  text-decoration: none;
  color: #fff;
  line-height: 2em;
  font-size: 1rem;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 1000;
  -webkit-transition: opacity .5s ease-in-out, visibility 0s step-end .5s, background-color .1s ease-in-out;
  -o-transition: opacity .5s ease-in-out, visibility 0s step-end .5s, background-color .1s ease-in-out;
  transition: opacity .5s ease-in-out, visibility 0s step-end .5s, background-color .1s ease-in-out;
}

.pagetop::before {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA04';
  display: block;
}

body.is-pagetop-fixed .pagetop {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity .5s ease-in-out, visibility 0s step-start 0s, background-color .1s ease-in-out;
  -o-transition: opacity .5s ease-in-out, visibility 0s step-start 0s, background-color .1s ease-in-out;
  transition: opacity .5s ease-in-out, visibility 0s step-start 0s, background-color .1s ease-in-out;
}

@media (min-width: 768px) {
  .pagetop {
    font-size: 1.5rem;
  }
  .pagetop:hover {
    background-color: rgba(0, 0, 0, 0.7);
  }
}

.l-ed > * {
  margin-top: 1em;
  margin-bottom: 2em;
}

.l-ed > h2,
.l-ed > h3,
.l-ed > h4,
.l-ed > h5,
.l-ed > h6 {
  margin-top: 3em;
}

.l-ed > h2 br,
.l-ed > h3 br,
.l-ed > h4 br,
.l-ed > h5 br,
.l-ed > h6 br {
  display: none;
}

@media (min-width: 768px) {
  .l-ed > h2 br,
  .l-ed > h3 br,
  .l-ed > h4 br,
  .l-ed > h5 br,
  .l-ed > h6 br {
    display: inline;
  }
}

.form-table--admin {
  font-size: 16px;
}

.form-table-outer--admin {
  border: 1px solid #eee;
  padding: 1em;
}

.form-table--admin {
  border-width: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #eee !important;
}

@media (min-width: 768px) {
  .form-table--admin {
    font-size: 16px;
  }
  .form-table-outer--admin {
    border: 1px solid #eee;
    padding: 1em;
  }
  .form-table--admin {
    border-width: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #eee !important;
  }
}

@media (min-width: 1200px) {
  .form-table--admin {
    font-size: 18px;
  }
  .form-table-outer--admin {
    border: 1px solid #eee;
    padding: 1em;
  }
  .form-table--admin {
    border-width: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #eee !important;
  }
}

.form-table,
.l-tb,
.form-table--admin {
  width: 100%;
  margin-bottom: 2em;
  padding: 1em;
  border: 1px solid #eee;
}

.form-table th,
.form-table td,
.form-table .form-table__th,
.form-table .form-table__td,
.l-tb th,
.l-tb td,
.l-tb .form-table__th,
.l-tb .form-table__td,
.form-table--admin th,
.form-table--admin td,
.form-table--admin .form-table__th,
.form-table--admin .form-table__td {
  position: relative;
  text-align: left;
}

.form-table .form-table__th,
.form-table .form-table__td,
.l-tb .form-table__th,
.l-tb .form-table__td,
.form-table--admin .form-table__th,
.form-table--admin .form-table__td {
  vertical-align: middle;
}

.form-table th,
.form-table .form-table__th,
.l-tb th,
.l-tb .form-table__th,
.form-table--admin th,
.form-table--admin .form-table__th {
  padding-top: 1em;
  padding-bottom: .5em;
}

.form-table .form-table__th,
.l-tb .form-table__th,
.form-table--admin .form-table__th {
  font-weight: bold;
}

.form-table td,
.form-table .form-table__td,
.l-tb td,
.l-tb .form-table__td,
.form-table--admin td,
.form-table--admin .form-table__td {
  padding-bottom: 1em;
}

.form-table tr:not(:last-child) td,
.l-tb tr:not(:last-child) td,
.form-table--admin tr:not(:last-child) td {
  border-bottom: 1px solid #eee;
}

@media (min-width: 768px) {
  .form-table,
  .l-tb,
  .form-table--admin {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 2em;
    padding-right: 2em;
  }
  .form-table th,
  .form-table td,
  .form-table .form-table__th,
  .form-table .form-table__td,
  .l-tb th,
  .l-tb td,
  .l-tb .form-table__th,
  .l-tb .form-table__td,
  .form-table--admin th,
  .form-table--admin td,
  .form-table--admin .form-table__th,
  .form-table--admin .form-table__td {
    padding: 1.5em 2em;
    vertical-align: top;
  }
  .form-table th,
  .form-table .form-table__th,
  .l-tb th,
  .l-tb .form-table__th,
  .form-table--admin th,
  .form-table--admin .form-table__th {
    width: 30%;
  }
  .form-table tr:not(:last-child) th,
  .form-table tr:not(:last-child) td,
  .l-tb tr:not(:last-child) th,
  .l-tb tr:not(:last-child) td,
  .form-table--admin tr:not(:last-child) th,
  .form-table--admin tr:not(:last-child) td {
    border-bottom: 1px solid #eee;
  }
}

.wp-block-table {
  border-collapse: collapse;
  border: 1px solid #eee;
}

.wp-block-table th,
.wp-block-table td {
  padding: .5em 1em;
  border: 1px solid #eee;
  min-width: 10em;
}

.job-container {
  margin-top: 1em;
  margin-bottom: 3em;
}

.job-outer {
  margin-bottom: 2em;
}

.job-title {
  margin-bottom: 1em;
}

.job {
  display: block;
  border: 1px solid #eee;
  color: inherit;
  text-decoration: none;
  padding: 1em;
  height: 100%;
}

.job__item,
.job-result__item {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.job__item > dt,
.job__item > dd,
.job-result__item > dt,
.job-result__item > dd {
  display: table-cell;
  vertical-align: top;
  padding: .25em .25em;
}

.job__item > dt,
.job-result__item > dt {
  width: 30%;
}

.job__item > dd,
.job-result__item > dd {
  width: 70%;
}

.job-result-text {
  text-align: center;
  margin-top: 1em;
  margin-bottom: 2em;
}

.job-result-text__num {
  display: inline-block;
  margin-right: .1em;
  font-size: 1.5rem;
  font-weight: bold;
}

.job-result {
  border: 1px solid #eee;
  border-top: 2px solid #000;
  padding: 1em;
  margin-bottom: 2em;
}

.job-result__title {
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 1em;
  padding-bottom: .5em;
  border-bottom: 1px solid #eee;
}

@media (min-width: 768px) {
  .job {
    padding: 1.5em;
    -webkit-transition: background-color .1s ease-in-out;
    -o-transition: background-color .1s ease-in-out;
    transition: background-color .1s ease-in-out;
  }
  .job:hover {
    background-color: rgba(238, 238, 238, 0.5);
  }
  .job__item > dt,
  .job__item > dd {
    padding: .25em 1em;
  }
  .job-result {
    padding: 2em;
  }
  .job-result__item > dt {
    width: 15%;
  }
  .job-result__item > dd {
    width: 85%;
  }
}

.interview-container,
.interview-home-container {
  margin-top: 1em;
  margin-bottom: 3em;
}

.interview-outer,
.interview-home {
  margin-bottom: 2em;
}

.interview-heading,
.interview-home-heading {
  margin-bottom: 1em;
}

.interview__title,
.interview-home__title {
  line-height: 1.4;
  margin-bottom: 1em;
}

.interview__title br,
.interview-home__title br {
  display: none;
}

.interview {
  display: block;
  color: inherit;
  text-decoration: none;
}

.interview__image {
  display: block;
  margin-bottom: 1em;
}

.interview-home__image {
  display: block;
  margin-bottom: 1em;
}

.interview__info,
.interview-home__info {
  font-size: .77777777rem;
  line-height: 1.4;
}

.interview-home__button-outer {
  text-align: center;
  margin-top: 1.5em;
}

.interview-home__button-outer .c-button {
  max-width: 240px;
  font-size: .77777777rem;
}

.interview-home__content {
  padding: 10px;
}

.interview-home__content-outer::after,
.interview-home__image-outer::after {
  content: '';
  display: block;
  clear: both;
}

@media (min-width: 768px) {
  .interview {
    -webkit-transition: opacity .1s ease-in-out;
    -o-transition: opacity .1s ease-in-out;
    transition: opacity .1s ease-in-out;
  }
  .interview:hover {
    opacity: .7;
  }
  .interview-home__image {
    margin-bottom: 0;
  }
  .interview-home__button-outer {
    text-align: left;
  }
  .interview-home__content {
    padding: 25px;
  }
}

@media (min-width: 1200px) {
  .interview__title br,
  .interview-home__title br {
    display: inline;
  }
  .interview-home__content {
    padding: 50px;
  }
  .interview-home--odd .interview-home__image {
    float: left;
  }
  .interview-home--odd .interview-home__content {
    float: right;
    width: 550px;
  }
  .interview-home--even .interview-home__image {
    float: right;
  }
  .interview-home--even .interview-home__content {
    float: left;
    width: 550px;
  }
}

.label {
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: .25em 1.5em;
  font-size: .77777777rem;
  margin-right: 1em;
  letter-spacing: .1em;
}

.label--category {
  background-color: transparent;
  color: #000;
  border: 1px solid #000;
}

.label--need {
  background-color: #888;
}

.label--free {
  color: #000;
  background-color: #eee;
}

.entry {
  margin-top: 3em;
  margin-bottom: 3em;
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 2em 1em;
}

.entry__heading {
  font-size: 2em;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1;
}

.entry__lead {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1.5em;
}

.entry__button-outer {
  margin-bottom: 1.5em;
}

.entry__links {
  list-style: none;
  padding-left: 0;
}

.entry__links > li {
  display: inline-block;
  padding-left: 1em;
  padding-right: 1em;
}

.entry__links > li:not(:last-child) {
  border-right: 1px solid #fff;
}

.entry__links > li > a {
  color: #fff;
  text-decoration: none;
}

@media (min-width: 768px) {
  .entry {
    padding: 3em 2em;
  }
  .entry__heading {
    font-size: 3.88888888em;
  }
  .entry__lead {
    font-size: 1.33333333rem;
  }
  .entry__links > li > a:hover {
    text-decoration: underline;
  }
}

.pagination {
  list-style: none;
  padding-left: 0;
  text-align: center;
  margin-top: 3em;
}

.pagination__item {
  display: inline-block;
}

.pagination__item > a,
.pagination__item > span {
  display: inline-block;
  color: inherit;
  border: 1px solid #eee;
  text-decoration: none;
  padding: 1em;
  line-height: 1;
  text-align: center;
  width: 3em;
  margin-left: .25em;
  margin-right: .25em;
  margin-bottom: .5em;
}

.pagination__item.is-current > a,
.pagination__item.is-current > span,
.pagination__item > span {
  pointer-events: none;
  background-color: rgba(238, 238, 238, 0.5);
}

.pagination__item--prev > a,
.pagination__item--prev > span,
.pagination__item--next > a,
.pagination__item--next > span,
.pagination__item--back > a,
.pagination__item--back > span {
  width: auto !important;
}

.pagination__item--prev > a::before,
.pagination__item--prev > span::before {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA02';
  vertical-align: top;
}

.pagination__item--next > a::after,
.pagination__item--next > span::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA03';
  vertical-align: top;
}

@media (min-width: 768px) {
  .pagination__item > a {
    -webkit-transition: background-color .1s ease-in-out, color .1s ease-in-out;
    -o-transition: background-color .1s ease-in-out, color .1s ease-in-out;
    transition: background-color .1s ease-in-out, color .1s ease-in-out;
  }
  .pagination__item > a:hover {
    background-color: #000;
    color: #fff;
  }
}

.search {
  margin-top: 3em;
  margin-bottom: 3em;
}

.search-toggle {
  display: block;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}

.search-toggle > a {
  display: block;
  background-color: #000;
  color: #fff;
  text-decoration: none;
  padding: .75em 2em;
  position: relative;
}

.search-toggle > a::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA01';
  position: absolute;
  right: 1em;
  top: 50%;
  line-height: 0;
}

.search-toggle > a.is-open::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA04';
}

.search-title {
  margin-bottom: 1em;
}

.search-toggle + .search-content {
  display: none;
}

.search-content {
  border: 1px solid #eee;
  padding: 1em;
}

.search-content__title {
  margin-bottom: 1em;
  margin-top: 0;
}

.search-content__list {
  padding-bottom: .5em;
  margin-bottom: 1em;
  border-bottom: 1px solid #eee;
}

.search-content__button-outer {
  margin-top: 2em;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .search-toggle > a {
    -webkit-transition: opacity .1s ease-in-out;
    -o-transition: opacity .1s ease-in-out;
    transition: opacity .1s ease-in-out;
  }
  .search-toggle > a:hover {
    opacity: .7;
  }
  .search-content {
    padding: 2em;
  }
}

.c-checkbox,
.c-radio {
  display: inline-block;
  margin-right: 3em;
  margin-bottom: .5em;
}

.c-checkbox input,
.c-radio input {
  display: none;
}

.c-select {
  position: relative;
}

.c-select::before {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA01';
  position: absolute;
  top: 50%;
  line-height: 0;
  right: .5em;
  color: #000;
  pointer-events: none;
}

.c-select select {
  background-color: #fff;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: .5em 2em .5em 1em;
  border: 1px solid #eee;
  margin-bottom: 5px;
}

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

.c-text,
.c-textarea {
  font-family: inherit !important;
  font-size: inherit !important;
  padding: .5em 1em !important;
  border-radius: 0 !important;
  border: 1px solid #eee !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
       appearance: none !important;
}

.c-textarea {
  height: 10em !important;
}

.c-checkbox__check,
.c-radio__check {
  display: inline-block;
  border: 1px solid #eee;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  margin-right: .5em;
  background-color: #fff;
  text-align: center;
  position: relative;
}

.c-radio__check {
  border-radius: 100%;
}

.c-radio__check::before {
  content: '';
  display: block;
  background-color: transparent;
  width: 50%;
  height: 50%;
  top: 25%;
  left: 25%;
  position: absolute;
  border-radius: 100%;
}

.c-radio input:checked + .c-radio__check {
  background-color: rgba(238, 238, 238, 0.5);
}

.c-radio input:checked + .c-radio__check::before {
  background-color: #000;
}

.c-checkbox__check::before {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA07';
  display: block;
  color: transparent;
  line-height: 0;
  position: absolute;
  top: 50%;
  width: 100%;
}

.c-checkbox input:checked + .c-checkbox__check::before {
  color: #000;
}

.point {
  margin-bottom: 2em;
}

.point__image {
  display: block;
  margin-bottom: 1em;
}

.point__lead br,
.point__title br {
  display: none;
}

@media (min-width: 768px) {
  .point__lead br,
  .point__title br {
    display: inline;
  }
}

.voice {
  margin-top: 3em;
  margin-bottom: 3em;
}

.voice__title {
  margin-top: 0;
  margin-bottom: 0;
}

.voice__lead {
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 2em;
}

.voice__list {
  border: 1px solid #eee;
  padding: 1em;
}

.voice__item-outer:last-child .voice__item {
  border-bottom: none;
}

.voice__item {
  margin-bottom: 0;
  margin-top: 0;
  padding-top: 1.25em;
  padding-bottom: 1.25em;
  border-bottom: 1px solid #eee;
  height: 100%;
  position: relative;
  padding-left: 2.5em;
}

.voice__item::before {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA07';
  font-size: 1.5em;
  position: absolute;
  left: 0;
  top: .5em;
  color: #000;
}

@media (min-width: 768px) {
  .voice__list {
    padding: 2em;
  }
  .voice__item-outer:last-child .voice__item, .voice__item-outer:nth-last-child(2) .voice__item {
    border-bottom: none;
    padding-bottom: 0;
  }
}

.faq {
  margin-top: 3em;
  margin-bottom: 3em;
}

.faq__title {
  margin-top: 0;
  margin-bottom: 0;
}

.faq__lead {
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 2em;
}

.faq__list {
  border: 1px solid #eee;
  padding: 1.5em 1em;
}

.faq__item-outer {
  margin-bottom: 1em;
}

.faq__item-outer:last-child {
  margin-bottom: 0;
}

.faq__item-outer:last-child .faq__a {
  padding-bottom: 0;
}

.faq__q,
.faq__a {
  padding-left: 3.5em;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 1.25em;
  padding-bottom: 1.25em;
  position: relative;
}

.faq__q {
  border-bottom: 1px solid #eee;
}

.faq__q::before {
  content: 'Q';
  display: block;
  font-size: 1.8em;
  width: 1.5em;
  height: 1.5em;
  background-color: #000;
  color: #fff;
  text-align: center;
  line-height: 1.5;
  position: absolute;
  top: .35em;
  left: 0;
}

.faq__a::before {
  content: 'A';
  display: block;
  font-size: 1.8em;
  width: 1.5em;
  height: 1.5em;
  color: #000;
  background-color: #fff;
  text-align: center;
  line-height: 1.5;
  position: absolute;
  top: .35em;
  left: 0;
}

@media (min-width: 768px) {
  .faq__list {
    padding: 2.5em 2em;
  }
}

@media (min-width: 768px) {
  .form-table--admin {
    display: table;
  }
  .form-table__tbody {
    display: table-row-group;
  }
  .form-table__tr {
    display: table-row;
  }
  .form-table__th,
  .form-table__td {
    display: table-cell;
  }
}

.form-table,
.form-table-outer--admin {
  margin-bottom: 3em;
}

.form-error {
  font-weight: bold;
  color: #d00;
  margin-bottom: 0;
}

.form-submit {
  margin-top: 3em;
  margin-bottom: 0;
  text-align: center;
}

.form-privacy {
  text-align: center;
  margin-top: 2em;
  margin-bottom: 1em;
}

.form-privacy .c-checkbox {
  margin-right: 0;
}

.form-privacy a {
  color: #000;
}

.form-privacy a::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA05';
  display: inline-block;
  line-height: 1;
  overflow: hidden;
  text-decoration: none;
  vertical-align: middle;
}

.form-birthday-input,
.form-birthday-text {
  display: inline-block !important;
  vertical-align: middle;
  margin-right: .1em;
}

.form-birthday-input {
  width: 4.5em !important;
}

.form-birthday-text {
  font-size: .66666666rem;
}

@media (min-width: 768px) {
  .form-table th,
  .form-table .form-table__th,
  .form-table-outer--admin th,
  .form-table-outer--admin .form-table__th {
    width: 38%;
    padding-right: 0;
  }
  .form-privacy a:hover {
    text-decoration: none;
  }
  .form-birthday-input,
  .form-birthday-text {
    margin-right: .5em;
  }
  .form-birthday-text {
    font-size: 1rem;
  }
}

@media (min-width: 1200px) {
  .form-table th,
  .form-table .form-table__th,
  .form-table-outer--admin th,
  .form-table-outer--admin .form-table__th {
    width: 30%;
  }
}

div.wpcf7 {
  margin-left: auto;
  margin-right: auto;
}

/*
.l-cn,
.wp-block {
  width: 1000px !important;
  padding: 0 !important;
}

.wp-block .wp-block {
  width: 100% !important;
}

.editor-block-list__block-edit.block-editor-block-list__block-edit,
.editor-block-list__layout.block-editor-block-list__layout {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
*/
/*
    .wp-block-mt-point-list {
      display: flex;
      flex-wrap: wrap;

      .editor-inner-blocks {
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 0%;
      }

      .editor-block-list__layout {
        display: flex;
        flex-wrap: wrap;
      }

      .wp-block {
        flex-grow: 0;
        flex-shrink: 1;
        flex-basis: 50%;
      }

      .editor-block-list__block-edit {
        margin-left: 0 !important;
        margin-right: 0 !important;
      }
    }*/
.l-wp-block {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .l-wp-block {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 1200px) {
  .l-wp-block {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*
    .editor-rich-text.block-editor-rich-text {
      border: 1px solid transparent;

      &:hover {
        border-color: #007cba;
      }
    }
    */
.image-button {
  padding: 0;
}

.c-button {
  display: inline-block;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  position: relative;
  padding: 0;
  margin: 0;
  display: block;
  background-color: #000;
  border: 1px solid #000;
  color: #fff;
  text-decoration: none;
  position: relative;
  padding: .75em 2em;
  width: 100%;
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}

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

.c-button:disabled, .c-button[disabled] {
  cursor: default;
}

.c-button::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA03';
  position: absolute;
  right: .25em;
  font-size: 1.5em;
  line-height: 0;
  top: 50%;
}

.c-button[target="_blank"]::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA05';
}

.c-button--search::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA09';
}

.c-button--entry {
  background-color: #fff;
  color: #000;
  font-weight: bold;
}

.c-button--entry::after {
  font-family: iconfont;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\EA08';
}

.c-button--submit::after {
  display: none;
}

.c-button--submit.is-disabled {
  pointer-events: none;
  opacity: .7;
}

.c-button--invert {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}

.c-button--inline {
  display: inline-block;
}

@media (min-width: 768px) {
  .c-button {
    -webkit-transition: color .1s ease-in-out, background-color .1s ease-in-out;
    -o-transition: color .1s ease-in-out, background-color .1s ease-in-out;
    transition: color .1s ease-in-out, background-color .1s ease-in-out;
  }
  .c-button:hover {
    color: #000;
    background-color: #fff;
  }
  .c-button--entry {
    -webkit-transition: opacity .1s ease-in-out;
    -o-transition: opacity .1s ease-in-out;
    transition: opacity .1s ease-in-out;
  }
  .c-button--entry:hover {
    opacity: .7;
  }
}

.carousel-outer {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.js-carousel__stop {
  display: none;
}

.carousel {
  list-style: none;
  padding-left: 0;
  width: 100%;
  left: 0;
  margin-left: 0;
  position: relative;
  height: 350px;
}

.carousel > li {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.carousel > li::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.55);
  left: 0;
  top: 0;
  z-index: 1;
}

.carousel > li img {
  position: relative;
  height: 100%;
  width: 100%;
  max-width: none;
}

.js-carousel__next,
.js-carousel__prev {
  width: 10%;
}

.carousel__content {
  position: absolute;
  z-index: 2;
  width: 70%;
  color: #fff;
  left: 15%;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
}

.carousel__lead {
  font-size: 1.25rem;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: .5em;
}

.carousel__title {
  margin-top: 0;
  margin-bottom: 1em;
  line-height: 1.4;
  font-size: 1.3125rem;
}

.carousel__title br {
  display: none;
}

.carousel__button-outer a {
  font-size: .8125rem;
}

.js-carousel {
  opacity: 0;
  -webkit-transition: opacity .2s ease-in-out;
  -o-transition: opacity .2s ease-in-out;
  transition: opacity .2s ease-in-out;
}

.js-carousel.is-loaded {
  opacity: 1;
}

.carousel__lead,
.carousel__title,
.carousel__button-outer {
  position: relative;
  -webkit-transition: opacity 0s linear 1s, -webkit-transform 0s linear 1s;
  transition: opacity 0s linear 1s, -webkit-transform 0s linear 1s;
  -o-transition: opacity 0s linear 1s, transform 0s linear 1s;
  transition: opacity 0s linear 1s, transform 0s linear 1s;
  transition: opacity 0s linear 1s, transform 0s linear 1s, -webkit-transform 0s linear 1s;
  opacity: 0;
  -webkit-transform: translateY(25px);
      -ms-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.js-carousel__item.is-show .carousel__lead,
.js-carousel__item.is-show .carousel__title,
.js-carousel__item.is-show .carousel__button-outer,
.js-carousel__item.is-leaving .carousel__lead,
.js-carousel__item.is-leaving .carousel__title,
.js-carousel__item.is-leaving .carousel__button-outer {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

.js-carousel__item.is-show .carousel__lead,
.js-carousel__item.is-leaving .carousel__lead {
  -webkit-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  -o-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
}

.js-carousel__item.is-show .carousel__title,
.js-carousel__item.is-leaving .carousel__title {
  -webkit-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s;
  -o-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.45s;
}

.js-carousel__item.is-show .carousel__button-outer,
.js-carousel__item.is-leaving .carousel__button-outer {
  -webkit-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  -o-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

@media (min-width: 768px) {
  .carousel,
  .carousel-outer {
    height: 500px;
  }
  .carousel__content {
    width: 42%;
    left: 48%;
    text-align: left;
  }
  .carousel__lead {
    font-size: 1.66666666rem;
  }
  .carousel__title {
    font-size: 2rem;
  }
  .carousel__button-outer a {
    font-size: 1rem;
  }
}

@media (min-width: 1200px) {
  .carousel,
  .carousel-outer {
    height: 700px;
  }
  .carousel__title br {
    display: inline;
  }
}

.wp-block-embed {
  margin: 0 auto;
  clear: both;
}

.wp-block-embed__wrapper {
  position: relative;
}

.wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wp-block-embed figcaption {
  font-size: 1rem;
  color: inherit;
}

.wp-block-embed {
  margin-bottom: 2em;
  margin-top: 1em;
}

.wp-block-embed__wrapper:before {
  content: "";
  display: block;
  padding-top: 50%;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper:before {
  padding-top: 100%;
}

.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper:before {
  padding-top: 200%;
}

.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper:before {
  padding-top: 75%;
}

.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper:before {
  padding-top: 177.77777777%;
}

.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper:before {
  padding-top: 56.25%;
}

.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper:before {
  padding-top: 50%;
}

.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper:before {
  padding-top: 42.85714285%;
}

.wp-block-mt-columns {
  margin-bottom: 0;
}

.wp-block-mt-columns p {
  margin-bottom: 1.5em;
}

.image-button,
.wp-block-mt-columns button {
  width: 100%;
  height: auto;
}

.point__category--staff > * {
  display: inline-block !important;
  margin-bottom: 5px;
}

.wp-block-gallery {
  list-style: none;
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.wp-block-gallery figure {
  margin: 0;
}

.wp-block-gallery figure img {
  display: block;
}

.blocks-gallery-item {
  width: 100%;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  margin-bottom: 1em;
}

@media (min-width: 768px) {
  .wp-block-gallery.columns-3 .blocks-gallery-item {
    width: calc(33.33333333% - .66666666em);
  }
  .wp-block-gallery.columns-2 .blocks-gallery-item {
    width: calc(50% - .5em);
  }
  .wp-block-gallery.columns-1 .blocks-gallery-item {
    width: 100%;
  }
}

@media (min-width: 1200px) {
  .wp-block-gallery.columns-3 .blocks-gallery-item {
    width: calc(33.33333333% - .66666666em);
  }
  .wp-block-gallery.columns-2 .blocks-gallery-item {
    width: calc(50% - .5em);
  }
  .wp-block-gallery.columns-1 .blocks-gallery-item {
    width: 100%;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9hcHAuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9hcHAuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL19hbGwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL19jb25maWctc2FtcGxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvY29yZS9fbWVkaWEtcXVlcnkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2NvcmUvX2N1YmljLWJlemllci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvX2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24vX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvZm91bmRhdGlvbi9fYmFzaWMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9fY29uZmlnLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9mb3VuZGF0aW9uL19yb290LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9mb3VuZGF0aW9uL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9mb3VuZGF0aW9uL19wcmludC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvX2hlbHBlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvaGVscGVyL190ZXh0LWFsaWduLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9oZWxwZXIvX21hcmdpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvaGVscGVyL19mb250LXNpemUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2hlbHBlci9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2hlbHBlci9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvaGVscGVyL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvaGVscGVyL19idXR0b24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2hlbHBlci9fbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvaGVscGVyL19lbGxpcHNpcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvaGVscGVyL19zY3JvbGxlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvbGF5b3V0L19jb2x1bW5zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9sYXlvdXQvX211bHRpLWNvbHVtbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvbGF5b3V0L190YWJsZS1ibG9jay5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvX2pzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9qcy9fbW9kYWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2pzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zyb250d29yay9saWIvYXNzZXRzL3Njc3MvanMvX21lbnUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2pzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mcm9udHdvcmsvbGliL2Fzc2V0cy9zY3NzL2pzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnJvbnR3b3JrL2xpYi9hc3NldHMvc2Nzcy9qcy9fcGFyYWxsYXguc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9faWNvbmZvbnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9oZWFkZXIvX2xvZ28uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9oZWFkZXIvX21lbnUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9mb290ZXIvX25hdi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL2Zvb3Rlci9fYmFubmVyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvZm9vdGVyL19sb2dvLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvZm9vdGVyL19pbmZvLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvZm9vdGVyL19jb3B5cmlnaHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tYWluL19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbWFpbi9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL21haW4vX2hlcm8uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tYWluL19wYWdldG9wLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbWFpbi9fZWRpdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbWFpbi9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tYWluL19qb2Iuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tYWluL19pbnRlcnZpZXcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tYWluL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL21haW4vX2VudHJ5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbWFpbi9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL21haW4vX3NlYXJjaC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL21haW4vX2Zvcm0uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tYWluL19wb2ludC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL21haW4vX3ZvaWNlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbWFpbi9fZmFxLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbWFpbi9fZm9ybS10YWJsZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL21haW4vX3dwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbW9kdWxlcy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvbW9kdWxlcy9fY2Fyb3VzZWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tb2R1bGVzL19lbWJlZC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYXBwL21vZHVsZXMvX3dwLWJsb2NrLW10LWNvbHVtbnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2FwcC9tb2R1bGVzL193cC1ibG9jay1tdC1zdGFmZi1saXN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9hcHAvd3AvX3dwLWJsb2NrLWdhbGxlcnkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7Ozs7OztFQVNFO0FDVEY7Ozs7R0FJRztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF1Q0U7QUM3Q0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxRkU7QUNyRkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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 */