@charset "UTF-8";
/*----------------------------------------------------
　Setting
----------------------------------------------------*/
/*----------------------------------------------------
### ブレークポイント
----------------------------------------------------*/
/*----------------------------------------------------
## 画面サイズ
----------------------------------------------------*/
/*----------------------------------------------------
### 色
----------------------------------------------------*/
/*----------------------------------------------------
### 文字サイズ
----------------------------------------------------*/
/*----------------------------------------------------
### 文字太さ
----------------------------------------------------*/
/*----------------------------------------------------
### 行間
----------------------------------------------------*/
/*----------------------------------------------------
### 書体セット
----------------------------------------------------*/
/*----------------------------------------------------
### マージン
----------------------------------------------------*/
/*----------------------------------------------------
### 角丸
----------------------------------------------------*/
/*----------------------------------------------------
　影幅
----------------------------------------------------*/
/*
---
name: Settingディレクトリ
tag:
  - Setting
category:
  - 2 Setting
---
Settingディレクトリにはサイト定義に関するファイルを格納します。
*/
/*
---
name: Variable.scss
tag:
  - Setting
category:
  - 2 Setting/Variable.scss
---
色やマージンなど、サイトで使用する様々な変数を定義します。
*/
/*
---
name: ブレークポイント
tag:
  - Setting
category:
  - 2 Setting/Variable.scss/1 ブレークポイント
---
ブレークポイント値の定義。

[メディアクエリ](Setting/_variable)で使用します。
```scss
$breakpoint-spmin : '(max-width: 320px)';
$breakpoint-sp    : '(max-width: 768px)';
$breakpoint-pc    : '(min-width: 769px)';
$breakpoint-pcmax : '(min-width: 980px)';

$breakpoints: (
  'spmin'  : $breakpoint-spmin,
  'sp'     : $breakpoint-sp,
  'pc'     : $breakpoint-pc,
  'pcmax'  : $breakpoint-pcmax,
) !default;
```
*凡例*
```scss
//SCSS
@media map-get($breakpoints, 'spmin') {
  //spminサイズ画面用のスタイル
}

//CSSコンパイル後
@media (max-width: 320px) {
  //spminサイズ画面用のスタイル
}
```
*/
/*
---
name: 画面サイズ
tag:
  - Setting
category:
  - 2 Setting/Variable.scss/2 画面サイズ
---
画面サイズの種類を定義。

ブレークポイント値はメディアクエリに使用しますが、画面サイズはコンテンツ幅の決定などに使用します。
```scss
$deviceWidth-spmin : 320px;
$deviceWidth-spmax : 768px;
$deviceWidth-pcmin : 769px;
$deviceWidth-pcmax : 980px;

$deviceWidth: (
  'spmin'  : $deviceWidth-spmin,
  'spmax'  : $deviceWidth-spmax,
  'pcmin'  : $deviceWidth-pcmin,
  'pcmax'  : $deviceWidth-pcmax,
) !default;
```
*凡例*
```scss
//SCSS
.container {
  min-width: $deviceWidth-spmin;
  max-width: $deviceWidth-spmax;
}

//CSSコンパイル後
.container {
  min-width: 320px;
  max-width: 768px;
}
```
*/
/*
---
name: 色
tag:
  - Setting
category:
  - 2 Setting/Variable.scss/3 色
---
サイトで使用する色の変数を定義。

一度しか使用しないような場面を除き、色はここで定義した変数を使用します。

必要に応じて追加します。
```scss
$color-bk: #000000; //完全黒
$color-wh: #FFFFFF; //完全白
$color-pri: #545454; //プライマリカラー
$color-sec: #FCA31B; //セカンダリカラー
$color-line: #F0F0F0; //ライン
$color-bg: #FFFFFF; //背景色

$color-success: #51A30A; //成功
$color-danger: #DE3401; //警告
$color-warning: #CB9400; //注意
$color-info: #F0F0F0; //情報
$color-light: #efefef; //ライト
$color-dark: #333333; //ダーク
$color-muted: #F0F0F0; //非アクティブ
$color-link: #3B8FF2; //リンク
```
*凡例*
```scss
//SCSS
.exsample_color_bk { color: $color-bk; }
.exsample_color_pri { color: $color-pri; }
.exsample_color_sec { color: $color-sec; }

//CSSコンパイル後
.exsample_color_bk { color: #282828; }
.exsample_color_pri { color: #804440; }
.exsample_color_sec { color: #F3D428; }
```
```html
<p class="exsample_color_bk">ブラック</p>
<p class="exsample_color_pri">プライマリカラー</p>
<p class="exsample_color_sec">セカンダリカラー</p>
```
*/
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
.exsample_color_bk {
  color: #282828;
}

.exsample_color_pri {
  color: #804440;
}

.exsample_color_sec {
  color: #F3D428;
}

/*
---
name: 文字サイズ
tag:
  - Setting
category:
  - 2 Setting/Variable.scss/4 文字サイズ
---
文字サイズの変数を定義。

単位はrem。

基本的にはここで定義した変数を使用しますが、
```scss
$fs-xs : 1.3rem;
$fs-s  : 1.5rem;
$fs-m  : 1.8rem;
$fs-l  : 2.1rem;
$fs-xl : 4.8rem;
```
*凡例*
```scss
//SCSS
P {
  font-size: $fs-s;
}

//CSSコンパイル後
P {
  font-size: 1.6rem;
}
```
*/
/*
---
name: マージン
tag:
  - Setting
category:
  - 2 Setting/Variable.scss/5 マージン
---
マージンのサイズを定義。単位はrem。
一度しか使用しないような場面を除き、ここで定義したサイズのみを使用します。
```scss
$m-xxxs : 0.2rem;
$m-xxs  : 0.5rem;
$m-xs   : 1rem;
$m-s    : 1.5rem;
$m-m    : 2rem;
$m-l    : 3rem;
$m-xl   : 5rem;
```
*凡例*
```scss
//SCSS
.block {
  margin: 0 auto $m-m;
  padding: $m-s $m-xs;
}

//CSSコンパイル後
.block {
  margin: 0 auto 2.4rem;
  padding: 1.6rem 1.2rem;
}
```
*/
/*
---
name: 角丸
tag:
  - Setting
category:
  - 2 Setting/Variable.scss/6 角丸
---
角丸のサイズを定義。単位はrem。
一度しか使用しないような場面を除き、ここで定義したサイズのみを使用します。
```scss
$round-s  : 0.3rem;
$round-m  : 0.6rem;
$round-l  : 1.2rem;
$round-xl : 2rem;
$round-h  : 10rem; //カプセル型
$round-e  : 50%; //正円
```
*凡例*
```scss
//SCSS
button {
  border-radius: $round-m;
}

//CSSコンパイル後
button {
  border-radius: 0.6rem;
}
```
*/
/*
---
name: 影
tag:
  - Setting
category:
  - 2 Setting/Variable.scss/7 影
---
影のサイズを定義。単位はrem。
サイズのみ定義なので、色も指定して使用します。
```scss
$shadow-s  : 0 1px 0 0;
$shadow-m  : 0 2px 1px 0;
$shadow-l  : 0 3px 2px 2px;
$shadow-xl : 0 5px 5px 3px;
```
*凡例*
```scss
//SCSS
button {
  box-shadow: $shadow-s $color-bk;
}

//CSSコンパイル後
button {
  box-shadow: 0 1px 0 0 #282828;
}
```
*/
/*----------------------------------------------------
　Base
----------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
  font-feature-settings: "pkna" 1;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

body {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

p {
  margin: 0;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
}

li {
  list-style-type: none;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0;
}

blockquote {
  margin: 0;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin: 0;
  overflow: auto;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

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

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

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

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

/*
---
name: Baseディレクトリ
tag:
  - Base
category:
  - 1 Base
---
Baseディレクトリにはreset.cssなど基礎的なスタイルを格納します。
*/
/*
---
name: Reboot.scss
tag:
  - Base
category:
  - 1 Base/1 Reboot.scss
---
reset.cssです。**基本的にこのファイルは編集しません。**
*/
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
}

/*----------------------------------------------------
　フォント
----------------------------------------------------*/
/* Google Fonts */
/* ここに追加 */
/*----------------------------------------------------
　フルードイメージ
----------------------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}

/*
---
name: Basic.scss
tag:
  - Base
category:
  - 1 Base/2 Basic.scss
---
Reset.cssで設定されていない基礎的なスタイルを定義するscssです。
*/
/*----------------------------------------------------
　Mixin 
----------------------------------------------------*/
/*----------------------------------------------------
　下方向マージン
----------------------------------------------------*/
.mb-a {
  margin: 0 auto auto !important;
}

.mb-x3s {
  margin: 0 auto 0.4rem !important;
}

.mb-x2s {
  margin: 0 auto 0.8rem !important;
}

.mb-xs {
  margin: 0 auto 1.2rem !important;
}

.mb-s {
  margin: 0 auto 1.6rem !important;
}

.mb-m {
  margin: 0 auto 2.4rem !important;
}

.mb-l {
  margin: 0 auto 3.2rem !important;
}

.mb-xl {
  margin: 0 auto 4rem !important;
}

.mb-x2l {
  margin: 0 auto 6rem !important;
}

/*----------------------------------------------------
　文字、背景カラー
----------------------------------------------------*/
.color-bk {
  color: #282828 !important;
}

.bg-bk {
  background: #282828 !important;
}

.color-wh {
  color: #FFFFFF !important;
}

.bg-wh {
  background: #FFFFFF !important;
}

.color-pri {
  color: #804440 !important;
}

.bg-pri {
  background: #804440 !important;
}

.color-sec {
  color: #F3D428 !important;
}

.bg-sec {
  background: #F3D428 !important;
}

.color-stroke {
  color: #e2e2e2 !important;
}

.bg-stroke {
  background: #e2e2e2 !important;
}

.color-bg {
  color: #FFFFFF !important;
}

.bg-bg {
  background: #FFFFFF !important;
}

.color-txt {
  color: #282828 !important;
}

.bg-txt {
  background: #282828 !important;
}

.color-link {
  color: #3B8FF2 !important;
}

.bg-link {
  background: #3B8FF2 !important;
}

.color-speaker {
  color: #282828 !important;
}

.bg-speaker {
  background: #282828 !important;
}

.color-timeTable {
  color: #3D8796 !important;
}

.bg-timeTable {
  background: #3D8796 !important;
}

.color-bg-mv {
  color: #F5F1EC !important;
}

.bg-bg-mv {
  background: #F5F1EC !important;
}

.color-bg-mvdate {
  color: #EFD7B7 !important;
}

.bg-bg-mvdate {
  background: #EFD7B7 !important;
}

.color-bg-cta {
  color: #FFFFFA !important;
}

.bg-bg-cta {
  background: #FFFFFA !important;
}

.color-timetable-bg {
  color: #F5F1EC !important;
}

.bg-timetable-bg {
  background: #F5F1EC !important;
}

/*----------------------------------------------------
name: 書体
----------------------------------------------------*/
.font-xs {
  font-size: 1.3rem !important;
}

.font-s {
  font-size: 1.6rem !important;
}

.font-m {
  font-size: 2rem !important;
}

.font-l {
  font-size: 2.4rem !important;
}

.font-xl {
  font-size: 4.8rem !important;
}

.font-b {
  font-weight: bold !important;
}

/*----------------------------------------------------
name: 文字揃え
----------------------------------------------------*/
.text-l {
  text-align: left;
}

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

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

/*----------------------------------------------------
　シャドウ
----------------------------------------------------*/
/*
---
name: Utillity.scss
tag:
  - Mixin
category:
  - 4 Mixin/1 Utillity.scss
---
## ユーティリティ
Variableで指定された変数を、ユーティリティクラスとして利用できるようにするMixin。

※ユーティリティクラスは限られた場面でのみ使用することを推奨。
***
`.mb-m //下方向マージン`

`.color-pri //文字色`

`.bg-pri //背景色`

`.font-m //文字サイズ`

`.font-b //太字`

`.text-c //センタリング`
***

*凡例*
```html
<p class="mb-xs">XSサイズの下方向マージン</p>
<p class="color-pri">文字色をプライマリカラー</p>
<p class="bg-sec">背景色をセカンダリカラー</p>
<p class="font-m">Mサイズの文字</p>
<p class="font-b">太字</p>
<p class="text-r">右寄せ</p>

```
*/
/* - - - - - - - -
### メディアクエリmixin
- - - - - - - - - */
@media (max-width: 768px) {
  .sp-kill {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .pc-kill {
    display: none !important;
  }
}

/* AIGIS - - -
---
name: メディアクエリmixin
category:
  - 【03 mixin】/メディアクエリmixin
---
# @include mq
メディアクエリ用のmixin。
```scss
.hogehoge {
  @include mq(デバイス幅の種類) {
    // PC用のスタイル
  }
}
```
- - - - - - - */
/* - - - - - - - -
### flex
- - - - - - - - - */
/* AIGIS - - -
---
name: flexのmixin
category:
  - 【03 mixin】/flexのmixin
---
# @include flex
よく使うflexをmixinにしたもの。主に中央寄せ用に。
```scss
.hogehoge {
  @include flex( 横方向, 縦方向)
}
```
- - - - - - - */
/* - - - - - - - -
### ボタンmixin
- - - - - - - - - */
/* AIGIS - - -
---
name: ボタンmixin
category:
  - 【03 mixin】/ボタンmixin
---
# @include buttonstyle
ボタンスタイルの大元。
```scss
.hogehoge {
  @include buttonstyle( 文字色, 背景色, 文字サイズ, ボーダー色)
}
```
- - - - - - - */
/* - - - - - - - -
### アウトラインボタン
- - - - - - - - - */
/* AIGIS - - -
---
name: ボタン（アウトライン）mixin
category:
  - 【03 mixin】/ボタン（アウトライン）mixin
---
# @include buttonOutlineStyle
アウトラインボタンスタイルの大元。
```scss
.hogehoge {
  @include buttonOutlineStyle( 文字色, ボーダー色, 文字サイズ, 背景色)
}
```
- - - - - - - */
/* - - - - - - - -
### 入力フォーム初期化mixin
- - - - - - - - - */
/* AIGIS - - -
---
name: 入力フォーム初期化mixin
category:
  - 【03 mixin】/入力フォーム初期化mixin
---
# @include inputAppearanceDelete
inputのアピアランスを初期化するmixin。
```scss
.hogehoge {
	@include inputAppearanceDelete;
}
```
- - - - - - - */
/* - - - - - - - -
### 入力フォームmixin
- - - - - - - - - */
/* AIGIS - - -
---
name: 入力フォームmixin
category:
  - 【03 mixin】/入力フォームmixin
---
# @include inputStyle
入力フォームスタイルの大元。
```scss
.hogehoge {
  @include inputStyle;
}
```
- - - - - - - */
/*----------------------------------------------------
 セレクト（select/option）
----------------------------------------------------*/
select {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 0.4rem 1.6rem 0.4rem 0.8rem;
  color: #282828;
  font-size: 2rem;
  background: #FFFFFF url("./fonts/pulldown_enabled.svg") no-repeat;
  background-position: right 2% top 50%;
  background-size: 1.6rem;
  border-radius: 0.6rem;
  cursor: pointer;
}

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

select::placeholder {
  color: #a8a8a8;
}

/*----------------------------------------------------
 スタイルだけ
----------------------------------------------------*/
.select {
  display: block;
  padding: 0.8rem 0 0.4rem;
  width: 100%;
  color: #282828;
  font-size: 2rem;
  border: solid 0.1rem #e2e2e2;
  border-style: none none solid;
  border-radius: 0;
  transition: background-color .15s ease-in-out;
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 0.4rem 1.6rem 0.4rem 0.8rem;
  color: #282828;
  font-size: 2rem;
  background: #FFFFFF url("./fonts/pulldown_enabled.svg") no-repeat;
  background-position: right 2% top 50%;
  background-size: 1.6rem;
  border-radius: 0.6rem;
  cursor: pointer;
}

.select::placeholder {
  color: rgba(40, 40, 40, 0.5);
}

.select:focus {
  background-color: rgba(26, 143, 101, 0.05);
}

.select::placeholder {
  color: #a8a8a8;
}

/*
---
name: Select.scss
tag:
  - Mixin
category:
  - 4 Mixin/5 Select.scss
---
## プルダウンのスタイル
プルダウンのスタイルを定義したmixin。

**全てのselect要素に適用させています。**


*凡例*
```html
<select>
  <option>オプションA</option>
  <option>オプションB</option>
</select>
```


### Selectクラス
見た目だけ、select以外の要素にプルダウンのスタイルを適用させるクラス。
```html
<p class="select">プルダウンと同じスタイル</p>
```
*/
/* - - - - - - - -
### ラジオボタンmixin
- - - - - - - - - */
/* AIGIS - - -
---
name: ラジオボタンmixin
category:
  - 【03 mixin】/ラジオボタンmixin
---
# @include radioStyle
スタイルの大元。
```scss
.hogehoge {
  @include radioStyle;
}
```
- - - - - - - */
/* - - - - - - - -
### チェックボックスmixin
- - - - - - - - - */
/* AIGIS - - -
---
name: チェックボックスmixin
category:
  - 【03 mixin】/チェックボックスmixin
---
# @include checkboxStyle
スタイルの大元。
```scss
.hogehoge {
  @include checkboxStyle;
}
```
- - - - - - - */
/*----------------------------------------------------
 スイッチ
----------------------------------------------------*/
/*
---
name: Switch.scss
tag:
  - Mixin
category:
  - 4 Mixin/6 Switch.scss
---
## スイッチのスタイル
スイッチのスタイルを定義したmixin。

通常時のスタイルと、アクティブ時のスタイルで分けて記述します。

アクティブ時のスタイルに引数で色を指定します。省略した場合はプライマリカラーになります。
***
`@include switch();`

`@include switch-enabled( アクティブ時の色 );`
***
*凡例*
```scss
.example_switch {
  display: none; //inputは非表示
  & + label { //input直後にlabelにスタイル付け
    @include switch;
  }
  &:checked + label { //チェックが入ったら
    @include switch-enabled;
  }
}
```
```html
<input type="checkbox" class="example_switch" id="example">
<label for="example">
```
*/
.example_switch {
  display: none;
}

.example_switch + label {
  position: relative;
  display: flex;
  align-items: center;
  margin-right: 1.2rem;
  width: 4.2rem;
  height: 2.2rem;
  background: rgba(40, 40, 40, 0.1);
  border: solid 0.1rem rgba(40, 40, 40, 0.1);
  border-radius: 10rem;
  cursor: pointer;
  transition: all .2s ease-in-out;
}

.example_switch + label::before {
  content: "";
  position: relative;
  display: block;
  width: 2rem;
  height: 2rem;
  left: 0;
  background: #FFFFFF;
  border: solid 0.1rem rgba(40, 40, 40, 0.15);
  border-radius: 50%;
  box-shadow: rgba(40, 40, 40, 0.15) 0 1px 0 0;
  transition: all .2s ease-in-out;
}

.example_switch:checked + label {
  background: #F3D428;
}

.example_switch:checked + label::before {
  left: 2rem;
}

/* - - - - - - - -
### ホバー
- - - - - - - - - */
/* AIGIS - - -
---
name: ホバーmixin
category:
  - 【03 mixin】/ホバーmixin
---
# @include hover
ホバー用のmixin。秒数は0.08秒で固定。
```scss
.hogehoge {
  @include hober() {
    // ホバー時のスタイル
  }
}
```
- - - - - - - */
/* - - - - - - - -
### アニメーションmixin
- - - - - - - - - */
/* AIGIS - - -
---
name: アニメーションmixin
category:
  - 【03 mixin】/アニメーションmixin
---
# @include animation
アニメーションを共通化させるためのmixin。  
アニメーションをつける際は必ずこれを使う。
```scss
.hogehoge {
  @include animation( キーフレーム名, 秒数,)
  @keyframes キーフレーム名 {
    0% {
      //スタイル
    }
    100% {
      //スタイル
    }
  }
}
```
- - - - - - - */
/* - - - - - - - -
### icomoon
- - - - - - - - - */
/* AIGIS - - -
---
name: アイコンmixin
category:
  - 【03 mixin】/アイコンmixin
---
# @include icomoon
icomoonをコード指定で表示する時用のmixin
```scss
.hogehoge {
  @include icomoon(文字コード);
}
```
- - - - - - - */
/*----------------------------------------------------
　Module
----------------------------------------------------*/
/* - - - - - - - -
### ボタン
- - - - - - - - - */
button {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  cursor: pointer;
}

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

.button {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem 2.4rem;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-family: "icomoon", -apple-system, BlinkMacSystemFont, "游ゴシック体", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic Medium", sans-serif;
  line-height: 1;
  background: #804440;
  border: solid 0.1rem transparent;
  border-radius: 10rem;
  gap: 0.4rem;
  border: none;
  cursor: pointer;
  user-select: none;
  transition: all .08s ease-out;
  /* - - - - - - - -
  ### disabled
  - - - - - - - - - */
}

.button::-ms-expand {
  display: none;
}

.button:hover {
  background-color: #1A8F65;
}

.button.disabled {
  pointer-events: none;
}

.button.button-max {
  width: 100%;
}

.button.button-sec {
  background: #F3D428;
  transition: all .08s ease-out;
}

.button.button-sec:hover {
  background-color: #f6e062;
}

.button.button-blue {
  background: #3D8796;
  transition: all .08s ease-out;
}

.button.button-blue:hover {
  color: #FFFFFF;
  background-color: #56a9ba;
}

/* AIGIS - - -
---
name: ボタン
category:
  - 【02 モジュール】/04 ボタン/ボタン
---
[03 mixin/ボタンmixin](../../../03-mixin/ボタンmixin/index.html)に依存。
# .button
普通のボタン。最小幅で$buttonWidth-mを指定してある。
```html
<button class="button">ボタン</button>
```
- - -

# .button-wide
幅100%のボタン。
```html
<button class="button">ボタン</button>
```
- - - - - - - */
/* - - - - - - - -
### アウトラインボタン
- - - - - - - - - */
.buttonOutline {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem 2.4rem;
  color: #282828;
  font-size: 1.6rem;
  font-family: "icomoon", -apple-system, BlinkMacSystemFont, "游ゴシック体", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic Medium", sans-serif;
  line-height: 1;
  background: transparent;
  border: solid 0.1rem #e2e2e2;
  border-radius: 10rem;
  cursor: pointer;
  user-select: none;
  transition: all .08s ease-out;
  /* - - - - - - - -
  ### disabled
  - - - - - - - - - */
}

.buttonOutline::-ms-expand {
  display: none;
}

.buttonOutline:hover {
  color: #282828;
  background-color: #FFFFFF;
}

.buttonOutline.disabled {
  pointer-events: none;
}

/* AIGIS - - -
---
name: ボタン（アウトライン）
category:
  - 【02 モジュール】/04 ボタン/ボタン（アウトライン）
---
[03 mixin/ボタン（アウトライン）mixin](../../../03-mixin/ボタン（アウトライン）mixin/index.html)に依存。
# .buttonOutline
アウトラインのボタン。最小幅で$buttonWidth-mを指定してある。
```html
<button class="buttonOutline">ボタン</button>
```
- - -

# .buttonOutline-wide
幅100%のアウトラインボタン。
```html
<button class="buttonOutline-wide">ボタン</button>
```
- - - - - - - */
/* - - - - - - - -
### 入力
- - - - - - - - - */
input[type="text"],
input[type="textfield"],
input[type="number"],
input[type="date"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
.input {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  display: block;
  padding: 0.8rem 0 0.4rem;
  width: 100%;
  color: #282828;
  font-size: 2rem;
  border: solid 0.1rem #e2e2e2;
  border-style: none none solid;
  border-radius: 0;
  transition: background-color .15s ease-in-out;
  cursor: pointer;
}

input[type="text"]::-ms-expand,
input[type="textfield"]::-ms-expand,
input[type="number"]::-ms-expand,
input[type="date"]::-ms-expand,
input[type="tel"]::-ms-expand,
input[type="email"]::-ms-expand,
input[type="url"]::-ms-expand,
input[type="password"]::-ms-expand,
.input::-ms-expand {
  display: none;
}

input[type="text"]::placeholder,
input[type="textfield"]::placeholder,
input[type="number"]::placeholder,
input[type="date"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
input[type="url"]::placeholder,
input[type="password"]::placeholder,
.input::placeholder {
  color: rgba(40, 40, 40, 0.5);
}

input[type="text"]:focus,
input[type="textfield"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
.input:focus {
  background-color: rgba(26, 143, 101, 0.05);
}

/* AIGIS - - -
---
name: 入力
category:
  - 【02 モジュール】/05 入力/入力
---
[03 mixin/入力フォームmixin](../../../03-mixin/入力フォームmixin/index.html)に依存。
# input[type="text"]
# input[type="text"]
# input[type="textfield"]
# input[type="number"]
# input[type="tel"]
# input[type="email"]
# input[type="url"]
# input[type="password"]
# .input
```html
<input type="text">
```
- - -
- - - - - - - */
/* - - - - - - - -
### セレクト
- - - - - - - - - */
select,
.select {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  display: block;
  padding: 0.8rem 0 0.4rem;
  width: 100%;
  color: #282828;
  font-size: 2rem;
  border: solid 0.1rem #e2e2e2;
  border-style: none none solid;
  border-radius: 0;
  transition: background-color .15s ease-in-out;
  padding-bottom: 0;
  cursor: pointer;
}

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

select::placeholder,
.select::placeholder {
  color: rgba(40, 40, 40, 0.5);
}

select:focus,
.select:focus {
  background-color: rgba(26, 143, 101, 0.05);
}

/* AIGIS - - -
---
name: セレクト
category:
  - 【02 モジュール】/05 入力/セレクト
---
[03 mixin/入力フォームmixin](../../../03-mixin/入力フォームmixin/index.html)に依存。
# .select
セレクト
```html
<select class="select">
  <option>選択</option>
  <option>新着順</option>
</select>  
```
- - -
- - - - - - - */
/* - - - - - - - -
### ラジオボタン
- - - - - - - - - */
input[type="radio"],
.radio {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  display: none;
  cursor: pointer;
}

input[type="radio"]::-ms-expand,
.radio::-ms-expand {
  display: none;
}

input[type="radio"] + label,
.radio + label {
  display: flex;
  color: #282828;
  font-size: 2rem;
  cursor: pointer;
}

input[type="radio"] + label::before,
.radio + label::before {
  content: "";
  font-family: 'icomoon';
  color: #282828;
  margin-right: 0.8rem;
}

input[type="radio"]:checked + label::before,
.radio:checked + label::before {
  content: "";
  font-family: 'icomoon';
  color: #804440;
}

/* AIGIS - - -
---
name: ラジオボタン
category:
  - 【02 モジュール】/05 入力/ラジオボタン
---
[03 mixin/入力フォームmixin](../../../03-mixin/ラジオボタンmixin/index.html)に依存。
# input[type="radio"]
# .radio
```html
<input type="radio" id="radio1">
<label for="radio1"><span>ほげほげ</span></label>
```
- - -
- - - - - - - */
/* - - - - - - - -
### チェックボックス
- - - - - - - - - */
input[type="checkbox"],
.checkbox {
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  display: none;
  cursor: pointer;
}

input[type="checkbox"]::-ms-expand,
.checkbox::-ms-expand {
  display: none;
}

input[type="checkbox"] + label,
.checkbox + label {
  display: flex;
  color: #282828;
  font-size: 2rem;
  cursor: pointer;
}

input[type="checkbox"] + label::before,
.checkbox + label::before {
  content: "";
  font-family: 'icomoon';
  color: #282828;
  margin-right: 0.8rem;
}

input[type="checkbox"]:checked + label::before,
.checkbox:checked + label::before {
  content: "";
  font-family: 'icomoon';
  color: #804440;
}

/* AIGIS - - -
---
name: チェックボックス
category:
  - 【02 モジュール】/05 入力/チェックボックス
---
[03 mixin/入力フォームmixin](../../../03-mixin/チェックボックスmixin/index.html)に依存。
# input[type="checkbox"]
# .checkbox
```html
<input type="checkbox" id="checkbox1">
<label for="checkbox1"><span>ほげほげ</span></label>
```
- - -
- - - - - - - */
/* - - - - - - - -
### モーダル
- - - - - - - - - */
.modal_wrap {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  opacity: 0;
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  /* - - - - - - - -
  ### モーダル　コンテンツ
  - - - - - - - - - */
  /* - - - - - - - -
  ### モーダル　フォーム
  - - - - - - - - - */
  /* - - - - - - - -
  ### モーダル　テキストエリア
  - - - - - - - - - */
}

.modal_wrap.modal_wrap-enabledScroll {
  position: absolute;
  align-items: flex-start;
  padding-top: 6rem;
}

.modal_wrap .modal {
  width: 80%;
  color: #282828;
  background: #FFFFFF;
  border-radius: 0.6rem;
  box-shadow: 0 3px 2px 2px rgba(40, 40, 40, 0.15);
}

.modal_wrap .modal_contentBlock {
  padding: 4rem 4rem 0;
}

.modal_wrap .modal_contentBlock.modal_contentBlock-center {
  text-align: center;
}

.modal_wrap .modal_formBlock {
  padding: 4rem;
  background: #FFFFFF;
  border-radius: 0.6rem 0.6rem 0 0;
}

.modal_wrap .modal_formBlock.modal_formBlock-center {
  justify-content: center;
}

.modal_wrap .modal_textareaBlock {
  background: #FFFFFF;
}

.modal_wrap.v-enter-active {
  display: block;
  z-index: 9999;
  animation: modal-In-frames 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 alternate none running;
  animation-fill-mode: forwards;
}

@keyframes modal-In-frames {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* AIGIS - - -
---
name: モーダル
category:
  - 【02 モジュール】/その他/モーダル
---
[03 mixin/アニメーションmixin](../../../03-mixin/アニメーションmixin/index.html)に依存。
# .modal_wrap
モーダルを表示するための全画面ラップ  
# .modal
モーダル本体  
```html
<div class="modal_wrap">
  <section class="modal">
    <div class="modal_formBlock">
      <ul>
        <li class="recordsPostItem mb-xs">
          <div class="recordsPostItem_icon"><span class="icon-calendar"></span></div>
          <div class="recordsPostItem_title">通院日時</div>
          <div class="recordsPostItem_form">
            <div class="recordsPostItem_block recordsPostItem_block-m">
              <div class="inputDate"><input type="text"></div>
            </div>
            <div class="recordsPostItem_block recordsPostItem_block-s">
              <div class="inputTime"><input type="text"></div>
            </div>
          </div>
        </li>
      </ul>
    </div>
    <div class="modal_textareaBlock">
      <textarea class="recordsPostComment" placeholder="治療の内容や医師に聞きたいことをメモしましょう。"></textarea>
    </div>
    <div class="modal_buttonBlock">
      <div class="modal_button modal_button-left">
        <button class="buttonOutline buttonOutline-s buttonOutline-red">削除</button>
      </div>
      <div class="modal_button">
        <button class="buttonOutline">キャンセル</button>
      </div>
      <div class="modal_button">
        <button class="button">保存する</button>
      </div>
    </div>
  </section>
</div>
```
<br>
- - -
<br>
# .modal_formBlock  
モーダル内でフォームをレイアウトするエリア  
<br>
# .modal_formBlock .modal_contentBlock-center  
フォームをセンタリング
<br>
- - -
<br>
# .modal_textareaBlock  
モーダル内でテキストエリア（複数行）をレイアウトするエリア  
<br>
- - -
<br>
# .modal_buttonBlock  
モーダル内でボタンをレイアウトするエリア  
デフォルトで右寄せになる  
<br>
# .modal_buttonBlock .modal_buttonBlock-center  
ボタンをセンタリングさせる  
<br>
## .modal_button  
ボタンを置くエリア  
<br>
## .modal_button .modal_button-left  
ボタンを左寄せに置くエリア
- - - - - - - */
/* - - - - - - - -
### スクリーンカバー
- - - - - - - - - */
.screenCover {
  width: 100%;
  height: 100%;
  left: 0;
}

.screenCover::before {
  content: '';
  position: fixed;
  display: block;
  top: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: rgba(40, 40, 40, 0.2);
  opacity: 0;
  z-index: 9999;
  transition: opacity .3s ease-out;
  animation: screenCover-frames 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 alternate none running;
  animation-fill-mode: forwards;
}

@keyframes screenCover-frames {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* AIGIS - - -
---
name: スクリーンカバー
category:
  - 【02 モジュール】/その他/スクリーンカバー
---
[03 mixin/アニメーションmixin](../../../03-mixin/アニメーションmixin/index.html)に依存。
# .screenCover
モーダルを開く時などの半透明黒。  
**必ず<body>に対して追加する。**
```html
<!-- プレビューできないのでコメントアウト -->
<!-- <body class="screenCover"> -->
```
- - - - - - - */
/*
---
name: Moduleディレクトリ
tag:
  - Module
category:
  - 5 Module
---
Moduleディレクトリには、モジュールとして定義したscssを格納します。

モジュールとは再利用可能なパーツで、見出しやヘッダー、ナビなど2回以上使う要素を指します。

単一のページでしか使わないパーツはモジュールとせず、pageで指定します。
*/
.mv {
  position: relative;
}

.mv .mv_auther {
  padding: 1.2rem 2.4rem;
  color: rgba(40, 40, 40, 0.4);
  font-size: 1.17rem;
  line-height: 1.2;
  background: #ece5db;
  z-index: 2;
}

@media (min-width: 769px) {
  .mv .mv_auther {
    position: absolute;
    top: 0;
    right: 0;
    color: rgba(128, 68, 64, 0.4);
    text-align: right;
    background: #F5F1EC;
  }
}

.mv .mv_visual {
  position: relative;
  display: block;
  width: 100%;
  height: 34.4rem;
  background: #F5F1EC url("../img/mv_sp.svg") no-repeat top center;
  background-size: cover;
  z-index: 1;
}

@media (min-width: 769px) {
  .mv .mv_visual {
    height: 47rem;
    background-image: url("../img/mv_pc.svg");
    background-size: auto;
  }
}

.mv .mv_badge_wrap {
  position: relative;
  width: 100%;
  padding: 1.2rem 2.4rem;
  background: #FFFFFF;
  z-index: 3;
}

@media (min-width: 769px) {
  .mv .mv_badge_wrap {
    margin: auto;
    padding: 0;
    width: 980px;
    z-index: 7;
  }
}

@media (min-width: 769px) {
  .mv .mv_badge_wrap .mv_title {
    display: none;
  }
}

.mv .mv_badge_wrap .mv_badge {
  position: absolute;
  top: -40%;
  right: -0.5%;
  width: 12.6rem;
}

@media (min-width: 769px) {
  .mv .mv_badge_wrap .mv_badge {
    position: absolute;
    top: -8rem;
    right: 0;
    width: 21rem;
  }
}

.mv .mv_date_wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background: #804440;
  z-index: 4;
}

@media (min-width: 769px) {
  .mv .mv_date_wrap {
    background: #EFD7B7;
  }
}

.mv .mv_date_wrap .mv_date {
  padding: 1.2rem 2.4rem;
}

@media (min-width: 769px) {
  .mv .mv_date_wrap .mv_date {
    width: 980px;
  }
}

.mv .mv_close {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2.4rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
}

.cta {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2.4rem;
  font-size: 2rem;
  font-weight: bold;
  background: #FFFFFA;
}

@media (min-width: 769px) {
  .cta {
    padding: 6rem 0;
  }
}

.cta .cta_button_read {
  margin-bottom: 1.2rem;
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
}

.cta .cta_button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.2rem;
  padding: 2.4rem;
  width: 100%;
  color: #282828;
  font-size: 1.44rem;
  font-weight: normal;
  line-height: 1.2;
  text-align: center;
  background: #F3D428;
  border-radius: 1.2rem;
  box-shadow: 0 2px 1px 0 rgba(40, 40, 40, 0.25);
}

@media (min-width: 769px) {
  .cta .cta_button {
    display: inline-flex;
    padding: 3.2rem 4rem;
    width: 768px;
    font-size: 1.6rem;
  }
}

.cta .cta_scheduledButton {
  font-size: 1.44rem;
}

@media (min-width: 769px) {
  .cta .cta_scheduledButton {
    font-size: 2rem;
  }
}

.cta .cta_cautionTitle {
  margin-bottom: 1.6rem;
  font-size: 1.6rem;
}

.cta .cta_caution {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  font-size: 1.3rem;
  font-weight: normal;
}

@media (min-width: 769px) {
  .cta .cta_caution {
    margin: auto;
    width: 60rem;
  }
}

.cta .cta_caution > li {
  position: relative;
  padding-left: 1.84rem;
}

.cta .cta_caution > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "●";
  color: #F3D428;
}

.read {
  padding: 2.4rem;
  background: #F5F1EC;
}

@media (min-width: 769px) {
  .read .read_text {
    margin: auto;
    width: 60rem;
  }
}

.timeTable {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 4rem 2.4rem;
  background: #F5F1EC;
}

.timeTable .timeTable_title {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem;
  margin-bottom: 1.6rem;
  border: dashed 0.1rem #804440;
  border-style: dashed none;
}

.timeTable .timeTable_list {
  display: flex;
  flex-direction: column;
  margin-bottom: 2.4rem;
  padding: 2.4rem;
  width: 100%;
  background: #FFFFFF;
  gap: 4rem;
}

@media (min-width: 769px) {
  .timeTable .timeTable_list {
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 980px;
    gap: 3.2rem;
  }
}

.timeTable .timeTable_list .timeTable_block {
  display: flex;
  flex-direction: column;
  width: 100%;
}

@media (min-width: 769px) {
  .timeTable .timeTable_list .timeTable_block.timeTable_block-A {
    width: calc((100% - 2.4rem) - 35%);
  }
  .timeTable .timeTable_list .timeTable_block.timeTable_block-B {
    width: calc((100% - 2.4rem) - 65%);
  }
}

.timeTable .timeTable_list .timeTable_block.timeTable_block-C {
  padding: 1.6rem 2.4rem;
  width: 100%;
  color: #804440;
  background: rgba(243, 212, 40, 0.1);
  text-align: center;
}

@media (min-width: 769px) {
  .timeTable .timeTable_list .timeTable_block .timeTable_program:first-of-type {
    padding-right: 2.4rem;
    border-right: solid 0.1rem #e2e2e2;
  }
}

.timeTable .timeTable_list .timeTable_block .timeTable_programTitle {
  margin-bottom: 1.2rem;
  color: #3D8796;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
}

.timeTable .timeTable_list .timeTable_block .timeTable_speakerList {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.timeTable .timeTable_list .timeTable_block .timeTable_speaker {
  flex: 1 0 calc(50% - 0.8rem);
  color: rgba(40, 40, 40, 0.8);
  line-height: 1;
}

.timeTable .timeTable_list .timeTable_block .timeTable_speaker > dt {
  font-size: 1.3rem;
  font-weight: normal;
  margin-bottom: 0.4rem;
}

.timeTable .timeTable_list .timeTable_block .timeTable_speaker > dd {
  font-size: 2rem;
  font-weight: normal;
}

.timeTable .timeTable_ff {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 1.6rem;
}

.timeTable .timeTable_ff > a {
  gap: 0.4rem;
  align-items: baseline;
}

.timeTable .timeTable_ff > a > span {
  font-size: 1.44rem;
}

@media (min-width: 769px) {
  .timeTable .timeTable_ff {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 2.4rem;
  }
  .timeTable .timeTable_ff > img {
    width: 24rem;
  }
  .timeTable .timeTable_ff > p {
    flex: 1 1 100%;
  }
  .timeTable .timeTable_ff > a {
    flex: 0 0 18rem;
  }
}

.timeTable .timeTable_ff .timeTable_ff-button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem 1.6rem;
  color: #FFFFFF;
  background: #3D8796;
  border-radius: 10rem;
}

.contact {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2.4rem;
  font-size: 2rem;
  font-weight: bold;
  background: #F7F7F7;
  text-align: center;
}

@media (min-width: 769px) {
  .contact {
    padding: 6rem 0;
  }
}

.contact .contact_title {
  margin-bottom: 1.2rem;
  font-size: 1.3rem;
  font-weight: normal;
}

.contact .contact_text {
  margin-bottom: 1.2rem;
  font-size: 1.6rem;
  font-weight: normal;
}

.contact .contact_auther {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 2rem;
}

@media (min-width: 769px) {
  .contact .contact_auther {
    flex-direction: row;
  }
}

.contact .contact_auther > li {
  margin-bottom: 0.8rem;
}

@media (min-width: 769px) {
  .contact .contact_auther > li {
    margin-right: 3.2rem;
  }
  .contact .contact_auther > li:last-of-type {
    margin-right: 0;
  }
}

.contact .contact_auther > li > small {
  font-size: 70%;
}

.sectionTitle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 1.2rem;
  font-size: 3.6rem;
  line-height: 1.2;
}

.sectionTitle > small {
  font-size: 45%;
  font-family: 'Roboto';
  opacity: 0.4;
}

.footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem;
  font-size: 1.3rem;
  text-align: center;
}

/*----------------------------------------------------
　Layout
----------------------------------------------------*/
/*----------------------------------------------------
name: レイアウト
----------------------------------------------------*/
.wrap {
  margin: 0;
  width: 100%;
  min-width: 320px;
  max-width: 768px;
}

@media (min-width: 769px) {
  .wrap {
    min-width: 769px;
    max-width: 100%;
  }
}

/*
---
name: Layoutディレクトリ
tag:
  - Layout
category:
  - 3 Layout
---
Layoutディレクトリにはページの構造やレイアウトに関するファイルを格納します。
*/
/*
---
name: Container.scss
tag:
  - Layout
category:
  - 3 Layout/1 Container.scss
---
### Wrapクラス
コンテンツ幅を設定したWrapクラスです。
```scss
.wrap {
  margin: 0;
  width: 100%;
  min-width: $deviceWidth-spmin;
  max-width: $deviceWidth-spmax;
  @include mq() {
    min-width: $deviceWidth-pcmin;
    max-width: 100%;
  }
}
```
*凡例*
```scss
//HTML
<body>
  <div class="wrap">
    //コンテンツ
  <div>
</body>
```

*/
/*----------------------------------------------------
 カラムレイアウト
----------------------------------------------------*/
/* ------------------------------------------------ */
.colbox, .colbox-center, .colbox-right, .colbox-left {
  position: relative;
  display: flex;
  align-items: stretch;
  flex: 1 1 100%;
  gap: 2.4rem;
}

@media (min-width: 769px) {
  .colbox, .colbox-center, .colbox-right, .colbox-left {
    gap: 2.4rem;
  }
}

.colbox-alignCenter.colbox, .colbox-alignCenter.colbox-center, .colbox-alignCenter.colbox-right, .colbox-alignCenter.colbox-left {
  align-items: center;
}

.colbox {
  justify-content: space-between;
  flex-wrap: wrap;
}

@media (min-width: 769px) {
  .colbox {
    flex-wrap: nowrap;
  }
}

.colbox-center {
  justify-content: center;
}

.colbox-right {
  justify-content: flex-end;
}

.colbox-left {
  justify-content: flex-start;
}

/* ------------------------------------------------ */
.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  flex: 1 1 100%;
}

@media (min-width: 769px) {
  .col-1 {
    flex-basis: calc((100%/12)*1);
  }
}

@media (min-width: 769px) {
  .col-2 {
    flex-basis: calc((100%/12)*2);
  }
}

@media (min-width: 769px) {
  .col-3 {
    flex-basis: calc((100%/12)*3);
  }
}

@media (min-width: 769px) {
  .col-4 {
    flex-basis: calc((100%/12)*4);
  }
}

@media (min-width: 769px) {
  .col-5 {
    flex-basis: calc((100%/12)*5);
  }
}

@media (min-width: 769px) {
  .col-6 {
    flex-basis: calc((100%/12)*6);
  }
}

@media (min-width: 769px) {
  .col-7 {
    flex-basis: calc((100%/12)*7);
  }
}

@media (min-width: 769px) {
  .col-8 {
    flex-basis: calc((100%/12)*8);
  }
}

@media (min-width: 769px) {
  .col-9 {
    flex-basis: calc((100%/12)*9);
  }
}

@media (min-width: 769px) {
  .col-10 {
    flex-basis: calc((100%/12)*10);
  }
}

@media (min-width: 769px) {
  .col-11 {
    flex-basis: calc((100%/12)*11);
  }
}

@media (min-width: 769px) {
  .col-12 {
    flex-basis: calc((100%/12)*12);
  }
}

.col-noMargin {
  margin-right: auto;
}

.col-noShrink {
  flex: 0 0;
}

/*----------------------------------------------------
　Page
----------------------------------------------------*/
/*
---
name: Pageディレクトリ
tag:
  - Page
category:
  - 6 Page
---
Pageディレクトリには、ページごとのスタイルを定義したscssを格納します。

ページごとに1ファイル、またはページ名_ブロック名.scssというように、どのページに関するスタイルかファイルから予測できるようにする。
*/
/*----------------------------------------------------
　State
----------------------------------------------------*/
