@charset "UTF-8";
/* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */ /* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */ /* SASS の function 機能 */
/**
【2020/9/12更新】

※pxで記述するものは、pxなしでも動作する。


strip-unit(30px)
  単位の除去

vh(30px, 1200px)
  第2引数を100vhとして、第1引数が何vh かを返す処理

addpx(30)
  単位なしの数値が入ったら px を付与

vwsp(100px)
  100px を vw に変換して返す（スマホ版デザインで算出）

vwpc(100px)
  100px を vw に変換して返す（パソコン版デザインで算出）

*/
/**
 * 単位なしの値には px を付与する
 */
/**
 * スマートフォン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-sp
 */
/**
 * パソコン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-pc
 */
/*
三角関数
https://codepen.io/NyX/pen/dYvymM
*/
/*
$pi: 3.14159265359;
$_precision: 10;

@function pow($base, $exp) {
  $value: $base;

  @if $exp>1 {
    @for $i from 2 through $exp {
      $value: $value * $base;
    }
  }

  @if $exp < 1 {
    @for $i from 0 through -$exp {
      $value: $value / $base;
    }
  }

  @return $value;
}

@function fact($num) {
  $fact: 1;

  @if $num>0 {
    @for $i from 1 through $num {
      $fact: $fact * $i;
    }
  }

  @return $fact;
}

@function _to_unitless_rad($angle) {
  @if unit($angle)=="deg" {
    $angle: $angle / 180deg * $pi;
  }

  @if unit($angle)=="rad" {
    $angle: $angle / 1rad;
  }

  @return $angle;
}

@function sin($angle) {
  $a: _to_unitless_rad($angle);
  $sin: $a;

  @for $n from 1 through $_precision {
    $sin: $sin + (pow(-1, $n) / fact(2 * $n + 1)) * pow($a, (2 * $n + 1));
  }

  @return $sin;
}

@function cos($angle) {
  $a: _to_unitless_rad($angle);
  $cos: 1;

  @for $n from 1 through $_precision {
    $cos: $cos + (pow(-1, $n) / fact(2*$n)) * pow($a, 2*$n);
  }

  @return $cos;
}

@function tan($angle) {
  @return sin($angle) / cos($angle);
}
*/
/*
_sitefont.scss で使用する、自前フォントを使うための mixin集
*/
/*
@function str-replace($substr, $newsubstr, $str, $all:false) {
  $pos: str-index($str, $substr);

  @while $pos !=null {
    $strlen: str-length($substr);
    $start: str-slice($str, 0, $pos - 1);
    $end: str-slice($str, $pos + $strlen);
    $str: $start + $newsubstr + $end;

    @if $all==true {
      $pos: str-index($str, $substr);
    }

    @else {
      $pos: null;
    }
  }

  @return $str;
}
*/
/*
【2020/9/12更新】

※pxで記述するものは、pxなしでも動作する。

解説記事
https://kaminarimagazine.com/web/2017/12/12/sass%E3%81%A7%E3%82%88%E3%81%8F%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8Bmixin%E3%82%92%E7%B4%B9%E4%BB%8B%E3%81%97%E3%81%BE%E3%81%99/



==== 文字系 ====

@include font-rem(16px, 32px, 0.1px, true)
  Illustratorで自動生成されるCSSの値を3つ順に入れると rem + em ベースでの文字指定ができる。
  font-size, line-height, letter-spacing を px単位で打ち込む（単位は省略可）
  第4引数は letter-spacing & text-align:center の場合に位置がずれるのを修正するかどうか。

@include fonti(16px, 32px, 0.1px, true)
  font-remとほぼ同様だが、Illustratorでは文字の上に余白がなく位置調整がしづらいため、
  Webでも上に余白をなくしてしまえ！というmixin。ついでに下の余白もなくす。
  （下にはみ出す英字系フォントではズレが出ると思われる）

@include line-truncate
  1行から溢れたら ... と省略する

@include lines-truncate(3)
  指定行数から溢れたら ... と省略する



==== 段落系 ====

@include justify();
  両端揃えの設定がされる。IEも対応。

@include full-width();
  ブロックの幅をウィンドウ幅全体に変更する。
  ただしPCではスクロールバーの幅の関係でややあふれるため、祖先要素に overflow:hidden; が必要。



==== 画像系 ====
@include fix-aspect(300px, 200px, true)
  ブロックの縦横比を指定する処理。
  横幅、縦幅、子要素も同様にするかの順に指定。

@include object-fit(cover, center center);
  JavaScriptライブラリ Object Fit Images を用いて
  IE でも object-fit および object-fit-position が使用できるようになる。
  ただし別途 Object Fit Images を実行する必要があるので注意。
  （既定では class="ofi" を付与していると自動的に対象となる）

@include pseudo-img(30px, 30px, ../../images/item.jpg);
  疑似要素に画像を入れる場合に使う。
  疑似要素系は記述が多くて面倒なため。



==== レイアウト系 ====

@include dl-table($dt-width, $breakpoint: $width-smartphone)
  dl,dt,dd で2列の表を作るのを簡単にする。
  $dt-width を指定すると、残り幅を dd の幅に割り当てる。
  $breakpoint になると、1列の表に戻す。



==== メディアクエリ系 ====

@include on-sp{
  【 CSSを記述 】
}
  $width-smartphone の値を元に @media(max-width:768px) を作成する。
  ただの省略用。

@include max-width(1400px){
  【 CSSを記述 】
}
  任意のmax-widthでメディアクエリを書く省略形。



==== 入力フォーム系 ====

  input要素はtype属性により表示が全く異なるので、それらをまとめて設定するためのmixin。

@include form-text{
  【 CSSを記述 】
}
  text, email, number, password, tel, search, url, date, datetime, datetime-local, month, week

@include form-datetime{
  【 CSSを記述 】
}
  date, datetime, datetime-local, month, week

@include form-button{
  【 CSSを記述 】
}
  button要素と button, image, submit, reset


*/
/**
 * Illustrator の出力するCSSを rem ベース + em ベースに変換する
 * @param int $font-size      px単位での文字サイズ
 * @param int $line-height    px単位での行の高さ ※0にすると無視
 * @param int $letter-spacing px単位での字間 ※0にすると無視
 * @param bool $is_center     中央揃えで使用する際の調整をするか
 * @require $font-size-root
 * @example1 @font-rem(14px, 28px, 0.4px, true);
 * @example2 @font-rem(14, 28, 0.4, true);
 */
/**
 * Illustrator の出力するCSSを rem ベース + em ベースに変換し、
 * さらに line-height により生じる上下の余白を調整する（Illustrator に合わせる）
 *
 * @param int $font-size      px単位での文字サイズ
 * @param int $line-height    px単位での行の高さ ※0にすると無視
 * @param int $letter-spacing px単位での字間 ※0にすると無視
 * @param bool $is_center     中央揃えで使用する際の調整をするか
 * @require $font-size-root
 * @example1 @font-rem(14px, 28px, 0.4px, true);
 * @example2 @font-rem(14, 28, 0.4, true);
 * @see https://coliss.com/articles/build-websites/operation/css/simple-css-remove-top-space.html
 */
/**
 * 溢れたテキストは … にする。
 * 1行限定だが、ブラウザ依存なし。
 */
/**
 * 溢れたテキストを … にする。
 * 任意行指定可能だが、-webkit が使える環境限定。
 * @param int $lines  最大行数
 */
/**
 * 幅をウィンドウ幅すべての幅にする
 * ただしPC版ではスクロールバーも含めたサイズとなるため、親要素を overflow:hidden; にしておくこと。
 */
/**
 * 縦横比を強制する
 * @param int $width        ブロックの幅
 * @param int $height       ブロックの高さ
 * @param bool $isFixChild  子要素にも縦横比を強制するか（既定値は false）
 */
/**
 * 疑似要素に画像をはめ込む
 */
/**
 * スマホ表示時のメディアクエリ
 */
/**
 * max-width のメディアクエリを作成する
 *  @param : $max-width  最大幅  数値に単位がない場合は px を付与。既定値はスマホの幅
 */
/**
 * dl要素を2列の表として表示する際のmixin
 * @param $dt-width: dt要素の幅
 * @param $breakpoint: 1列にする際の幅　既定値はスマホの幅
 */
/**
 * input要素のうちテキストボックス型にCSSをまとめて適用
 */
/**
 * input要素の日付関連のみCSSをまとめて適用
 */
/**
 * input要素およびbutton要素のみCSSをまとめて適用
 */
/*
JavaScriptが無効な場合に適用するCSSを記述する
ex)
  .caution{
    @include no-js(){
      color: red;
    }
  }
*/
/* SASS の function 機能 */
/**
【2020/9/12更新】

※pxで記述するものは、pxなしでも動作する。


strip-unit(30px)
  単位の除去

vh(30px, 1200px)
  第2引数を100vhとして、第1引数が何vh かを返す処理

addpx(30)
  単位なしの数値が入ったら px を付与

vwsp(100px)
  100px を vw に変換して返す（スマホ版デザインで算出）

vwpc(100px)
  100px を vw に変換して返す（パソコン版デザインで算出）

*/
/**
 * 単位なしの値には px を付与する
 */
/**
 * スマートフォン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-sp
 */
/**
 * パソコン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-pc
 */
/*
三角関数
https://codepen.io/NyX/pen/dYvymM
*/
/*
$pi: 3.14159265359;
$_precision: 10;

@function pow($base, $exp) {
  $value: $base;

  @if $exp>1 {
    @for $i from 2 through $exp {
      $value: $value * $base;
    }
  }

  @if $exp < 1 {
    @for $i from 0 through -$exp {
      $value: $value / $base;
    }
  }

  @return $value;
}

@function fact($num) {
  $fact: 1;

  @if $num>0 {
    @for $i from 1 through $num {
      $fact: $fact * $i;
    }
  }

  @return $fact;
}

@function _to_unitless_rad($angle) {
  @if unit($angle)=="deg" {
    $angle: $angle / 180deg * $pi;
  }

  @if unit($angle)=="rad" {
    $angle: $angle / 1rad;
  }

  @return $angle;
}

@function sin($angle) {
  $a: _to_unitless_rad($angle);
  $sin: $a;

  @for $n from 1 through $_precision {
    $sin: $sin + (pow(-1, $n) / fact(2 * $n + 1)) * pow($a, (2 * $n + 1));
  }

  @return $sin;
}

@function cos($angle) {
  $a: _to_unitless_rad($angle);
  $cos: 1;

  @for $n from 1 through $_precision {
    $cos: $cos + (pow(-1, $n) / fact(2*$n)) * pow($a, 2*$n);
  }

  @return $cos;
}

@function tan($angle) {
  @return sin($angle) / cos($angle);
}
*/
/*
_sitefont.scss で使用する、自前フォントを使うための mixin集
*/
/*
@function str-replace($substr, $newsubstr, $str, $all:false) {
  $pos: str-index($str, $substr);

  @while $pos !=null {
    $strlen: str-length($substr);
    $start: str-slice($str, 0, $pos - 1);
    $end: str-slice($str, $pos + $strlen);
    $str: $start + $newsubstr + $end;

    @if $all==true {
      $pos: str-index($str, $substr);
    }

    @else {
      $pos: null;
    }
  }

  @return $str;
}
*/
/* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */
/*
ゴシック体にしたい場合
  @extend %sans-serif;
明朝体にしたい場合
  @extend %serif;

変数指定だととても長くなるため、CSSのサイズ縮小用
*/
/* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */
main {
  background: #9FD6EE;
}
@media print, screen and (min-width: 769px) {
  main {
    padding-bottom: 150px;
  }
}
@media screen and (max-width: 768px) {
  main {
    padding-bottom: 13.6vw;
  }
}

.bl-hero {
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bl-hero__title {
  color: #fff;
  font-weight: 900;
  text-align: center;
  white-space: pre-line;
}
.bl-hero__title-day {
  order: -1;
}
.bl-hero__description {
  margin: auto;
  color: #fff;
  font-weight: 700;
  text-align: justify;
  font-feature-settings: normal;
}
.bl-hero__description:empty {
  display: none;
}
@media print, screen and (min-width: 769px) {
  .bl-hero {
    padding-top: 96px;
    margin-bottom: 85px;
  }
  .bl-hero__title {
    margin-top: 87px;
    font-size: 3.0625rem;
    line-height: 1.2244897959;
    letter-spacing: 0.04em;
    text-indent: 0.04em;
  }
  .bl-hero__title:before, .bl-hero__title:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-hero__title:before {
    margin-top: -0.112244898em;
  }
  .bl-hero__title:after {
    margin-bottom: -0.112244898em;
  }
  .bl-hero__description {
    margin-top: 52px;
    width: 760px;
    max-width: 98%;
    font-size: 1.0625rem;
    line-height: 2.0917647059;
  }
  .bl-hero__description:before, .bl-hero__description:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-hero__description:before {
    margin-top: -0.5458823529em;
  }
  .bl-hero__description:after {
    margin-bottom: -0.5458823529em;
  }
}
@media screen and (max-width: 768px) {
  .bl-hero {
    padding-top: 21.6vw;
    margin-bottom: 6.1333333333vw;
  }
  .bl-hero__title {
    margin-top: 15.8vw;
    font-size: 6.5333333333vw;
    line-height: 1.2;
  }
  .bl-hero__title-day {
    width: 40.6666666667vw;
  }
  .bl-hero__description {
    margin-top: 8.1733333333vw;
    width: 83.6vw;
    font-size: 0.9375rem;
    line-height: 2;
  }
  .bl-hero__description:before, .bl-hero__description:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-hero__description:before {
    margin-top: -0.5em;
  }
  .bl-hero__description:after {
    margin-bottom: -0.5em;
  }
}

.bl-wrap {
  margin: auto;
}
.bl-wrap__title {
  border: 4px solid #fff;
  color: #fff;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media print, screen and (min-width: 769px) {
  .bl-wrap {
    width: 860px;
    max-width: 98%;
  }
  .bl-wrap__title {
    margin-bottom: 50px;
    height: 65px;
    font-size: 26px;
  }
  .bl-wrap__title small {
    margin-top: 8px;
    margin-left: 8px;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 768px) {
  .bl-wrap {
    width: 83.6vw;
  }
  .bl-wrap__title {
    margin-bottom: 7.0666666667vw;
    border-width: 0.8vw;
    height: 12.9333333333vw;
    font-size: 5.3333333333vw;
    letter-spacing: 0.2em;
  }
  .bl-wrap__title small {
    margin-top: 1.3333333333vw;
    margin-left: 1.3333333333vw;
    font-size: 3.4666666667vw;
    letter-spacing: 0.1em;
  }
}

.bl-group {
  margin: auto;
  background: #fff;
  overflow: hidden;
}
.bl-group__title .group {
  font-weight: 900;
  line-height: 1;
}
.bl-group__title .group::first-letter {
  margin-right: 0.1em;
}
.bl-group__title .theme {
  font-weight: 700;
}
.bl-group__title.mod_center {
  text-align: center;
  font-weight: 700;
}
.bl-group__description {
  font-weight: 700;
  text-align: justify;
}
.bl-group__description.mod_pre {
  white-space: pre-line;
}
.bl-group__slides-wrap {
  position: relative;
}
.bl-group__slides-wrap[data-slides="1"] {
  --slide-count: 1;
}
.bl-group__slides-wrap[data-slides="2"] {
  --slide-count: 2;
}
.bl-group__slides-wrap[data-slides="3"] {
  --slide-count: 3;
}
.bl-group__slides-wrap[data-slides="4"] {
  --slide-count: 4;
}
.bl-group__slides-wrap[data-slides="5"] {
  --slide-count: 5;
}
.bl-group__slides-wrap[data-slides="6"] {
  --slide-count: 6;
}
.bl-group__slides-wrap[data-slides="7"] {
  --slide-count: 7;
}
.bl-group__slides-wrap[data-slides="8"] {
  --slide-count: 8;
}
.bl-group__slides-wrap[data-slides="9"] {
  --slide-count: 9;
}
.bl-group__slides-wrap[data-slides="10"] {
  --slide-count: 10;
}
.bl-group__slides-wrap[data-slides="11"] {
  --slide-count: 11;
}
.bl-group__slides-wrap[data-slides="12"] {
  --slide-count: 12;
}
.bl-group__slides-wrap[data-slides="13"] {
  --slide-count: 13;
}
.bl-group__slides-wrap[data-slides="14"] {
  --slide-count: 14;
}
.bl-group__slides-wrap[data-slides="15"] {
  --slide-count: 15;
}
.bl-group__slides-wrap[data-slides="16"] {
  --slide-count: 16;
}
.bl-group__slides-scroll {
  width: 100%;
  overflow: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}
.bl-group__slides-scroll::-webkit-scrollbar {
  height: 0;
}
.bl-group__slides {
  width: calc(100% * var(--slide-count));
  max-width: none;
  display: flex;
}
.bl-group__slide {
  scroll-snap-align: start;
}
@media print, screen and (min-width: 769px) {
  .bl-group {
    margin-top: 50px;
    padding: 50px;
    border-radius: 10px;
  }
  .bl-group__title .group {
    font-size: 45px;
  }
  .bl-group__title .group::first-letter {
    font-size: 88px;
  }
  .bl-group__title .theme {
    margin-top: 40px;
    font-size: 1.75rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .bl-group__title.mod_center {
    font-size: 1.75rem;
    line-height: 1.3571428571;
    letter-spacing: 0.04em;
    text-indent: 0.04em;
  }
  .bl-group__title.mod_center:before, .bl-group__title.mod_center:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-group__title.mod_center:before {
    margin-top: -0.1785714286em;
  }
  .bl-group__title.mod_center:after {
    margin-bottom: -0.1785714286em;
  }
  .bl-group__description {
    margin-top: 40px;
    font-size: 1.0625rem;
    line-height: 2.0917647059;
  }
  .bl-group__description:before, .bl-group__description:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-group__description:before {
    margin-top: -0.5458823529em;
  }
  .bl-group__description:after {
    margin-bottom: -0.5458823529em;
  }
  .bl-group__images {
    margin-top: 40px;
    margin-bottom: -10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .bl-group__image {
    margin-bottom: 10px;
    width: 49.3421052632%;
  }
  .bl-group__bigimage {
    margin-top: 39px;
  }
  .bl-group__slides-wrap {
    margin-top: 44px;
  }
  .bl-group__slides-wrap.mod_pc-half .bl-group__scroll {
    margin-left: -5px;
    margin-right: -5px;
  }
  .bl-group__slides-wrap.mod_pc-half .bl-group__slides {
    width: calc(100% * var(--slide-count) / 2 + 10px);
  }
  .bl-group__slides-wrap.mod_pc-half .bl-group__slide {
    margin-left: 5px;
    margin-right: 5px;
    width: 375px;
  }
  .bl-group.mod_last {
    margin-top: 153px;
  }
}
@media screen and (max-width: 768px) {
  .bl-group {
    margin-top: 6.6666666667vw;
    padding: 8vw 4.4vw;
    border-radius: 0.8vw;
  }
  .bl-group__title .group {
    font-size: 6.9333333333vw;
  }
  .bl-group__title .group::first-letter {
    font-size: 13.4666666667vw;
  }
  .bl-group__title .theme {
    margin-top: 7.6vw;
    font-size: 2.25rem;
    line-height: 1.1666666667;
    font-size: 4.8vw;
  }
  .bl-group__title .theme:before, .bl-group__title .theme:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-group__title .theme:before {
    margin-top: -0.0833333333em;
  }
  .bl-group__title .theme:after {
    margin-bottom: -0.0833333333em;
  }
  .bl-group__title.mod_center {
    font-size: 2.25rem;
    line-height: 1.2222222222;
    font-size: 4.8vw;
  }
  .bl-group__title.mod_center:before, .bl-group__title.mod_center:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-group__title.mod_center:before {
    margin-top: -0.1111111111em;
  }
  .bl-group__title.mod_center:after {
    margin-bottom: -0.1111111111em;
  }
  .bl-group__description {
    margin-top: 7.3333333333vw;
    font-size: 1.875rem;
    line-height: 2;
    font-size: clamp(16px, 4vw, 30px);
  }
  .bl-group__description:before, .bl-group__description:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-group__description:before {
    margin-top: -0.5em;
  }
  .bl-group__description:after {
    margin-bottom: -0.5em;
  }
  .bl-group__images {
    margin-top: 8.2666666667vw;
    margin-bottom: -1.3333333333vw;
  }
  .bl-group__image {
    margin-bottom: 1.3333333333vw;
  }
  .bl-group__image img {
    width: 100%;
  }
  .bl-group__bigimage {
    margin-top: 7.4666666667vw;
  }
  .bl-group__slides-wrap {
    margin-top: 5.7333333333vw;
  }
  .bl-group.mod_last {
    margin-top: 27.0666666667vw;
  }
}

.bl-summary {
  border: 5.24px solid #fff;
  font-weight: 700;
  color: #fff;
}
.bl-summary__description {
  text-align: justify;
}
.bl-summary__image img {
  margin: auto;
  display: block;
}
@media print, screen and (min-width: 769px) {
  .bl-summary {
    margin-top: 50px;
    padding: 33px;
    border-radius: 21px;
  }
  .bl-summary__title {
    font-size: 1.75rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .bl-summary__description {
    margin-top: 40px;
    font-size: 1.0625rem;
    line-height: 2.0917647059;
  }
  .bl-summary__description:before, .bl-summary__description:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-summary__description:before {
    margin-top: -0.5458823529em;
  }
  .bl-summary__description:after {
    margin-bottom: -0.5458823529em;
  }
  .bl-summary__image {
    margin-top: 39px;
  }
  .bl-summary__image img {
    border-radius: 20px;
  }
}
@media screen and (max-width: 768px) {
  .bl-summary {
    margin-top: 6.6666666667vw;
    border-radius: 2.6666666667vw;
    border-width: 0.8vw;
    padding: 6.6666666667vw 3.6933333333vw;
  }
  .bl-summary__title {
    font-size: 4.8vw;
  }
  .bl-summary__description {
    margin-top: 7.3333333333vw;
    font-size: 1.875rem;
    line-height: 2;
    font-size: 4vw;
  }
  .bl-summary__description:before, .bl-summary__description:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .bl-summary__description:before {
    margin-top: -0.5em;
  }
  .bl-summary__description:after {
    margin-bottom: -0.5em;
  }
  .bl-summary__image {
    margin-top: 5vw;
  }
  .bl-summary__image img {
    border-radius: 2.6666666667vw;
  }
}

.bl-links {
  margin: auto;
  overflow: hidden;
}
.bl-links__button {
  display: block;
}
@media print, screen and (min-width: 769px) {
  .bl-links {
    margin-top: 135px;
    width: 830px;
    max-width: 98%;
    margin-bottom: -30px;
  }
  .bl-links__button {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .bl-links {
    margin-top: 13.3333333333vw;
    margin-bottom: -5.3333333333vw;
  }
  .bl-links__button {
    margin-bottom: 5.3333333333vw;
  }
}

.js-slide-navi button {
  width: 60px;
  height: 60px;
  background: url(../../images/junior/close/pc/slide-next.png) no-repeat center center/contain;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.js-slide-navi button.prev {
  transform: rotateY(180deg);
  left: 0;
}
.js-slide-navi button.next {
  right: 0;
}
@media print, screen and (min-width: 769px) {
  .bl-group__slides-wrap.mod_pc-half .js-slide-navi button.next {
    right: 5px;
  }
}
@media screen and (max-width: 768px) {
  .js-slide-navi button {
    width: 12vw;
    height: 12vw;
  }
}

/* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */ /* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */ /* SASS の function 機能 */
/**
【2020/9/12更新】

※pxで記述するものは、pxなしでも動作する。


strip-unit(30px)
  単位の除去

vh(30px, 1200px)
  第2引数を100vhとして、第1引数が何vh かを返す処理

addpx(30)
  単位なしの数値が入ったら px を付与

vwsp(100px)
  100px を vw に変換して返す（スマホ版デザインで算出）

vwpc(100px)
  100px を vw に変換して返す（パソコン版デザインで算出）

*/
/**
 * 単位なしの値には px を付与する
 */
/**
 * スマートフォン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-sp
 */
/**
 * パソコン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-pc
 */
/*
三角関数
https://codepen.io/NyX/pen/dYvymM
*/
/*
$pi: 3.14159265359;
$_precision: 10;

@function pow($base, $exp) {
  $value: $base;

  @if $exp>1 {
    @for $i from 2 through $exp {
      $value: $value * $base;
    }
  }

  @if $exp < 1 {
    @for $i from 0 through -$exp {
      $value: $value / $base;
    }
  }

  @return $value;
}

@function fact($num) {
  $fact: 1;

  @if $num>0 {
    @for $i from 1 through $num {
      $fact: $fact * $i;
    }
  }

  @return $fact;
}

@function _to_unitless_rad($angle) {
  @if unit($angle)=="deg" {
    $angle: $angle / 180deg * $pi;
  }

  @if unit($angle)=="rad" {
    $angle: $angle / 1rad;
  }

  @return $angle;
}

@function sin($angle) {
  $a: _to_unitless_rad($angle);
  $sin: $a;

  @for $n from 1 through $_precision {
    $sin: $sin + (pow(-1, $n) / fact(2 * $n + 1)) * pow($a, (2 * $n + 1));
  }

  @return $sin;
}

@function cos($angle) {
  $a: _to_unitless_rad($angle);
  $cos: 1;

  @for $n from 1 through $_precision {
    $cos: $cos + (pow(-1, $n) / fact(2*$n)) * pow($a, 2*$n);
  }

  @return $cos;
}

@function tan($angle) {
  @return sin($angle) / cos($angle);
}
*/
/*
_sitefont.scss で使用する、自前フォントを使うための mixin集
*/
/*
@function str-replace($substr, $newsubstr, $str, $all:false) {
  $pos: str-index($str, $substr);

  @while $pos !=null {
    $strlen: str-length($substr);
    $start: str-slice($str, 0, $pos - 1);
    $end: str-slice($str, $pos + $strlen);
    $str: $start + $newsubstr + $end;

    @if $all==true {
      $pos: str-index($str, $substr);
    }

    @else {
      $pos: null;
    }
  }

  @return $str;
}
*/
/*
【2020/9/12更新】

※pxで記述するものは、pxなしでも動作する。

解説記事
https://kaminarimagazine.com/web/2017/12/12/sass%E3%81%A7%E3%82%88%E3%81%8F%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8Bmixin%E3%82%92%E7%B4%B9%E4%BB%8B%E3%81%97%E3%81%BE%E3%81%99/



==== 文字系 ====

@include font-rem(16px, 32px, 0.1px, true)
  Illustratorで自動生成されるCSSの値を3つ順に入れると rem + em ベースでの文字指定ができる。
  font-size, line-height, letter-spacing を px単位で打ち込む（単位は省略可）
  第4引数は letter-spacing & text-align:center の場合に位置がずれるのを修正するかどうか。

@include fonti(16px, 32px, 0.1px, true)
  font-remとほぼ同様だが、Illustratorでは文字の上に余白がなく位置調整がしづらいため、
  Webでも上に余白をなくしてしまえ！というmixin。ついでに下の余白もなくす。
  （下にはみ出す英字系フォントではズレが出ると思われる）

@include line-truncate
  1行から溢れたら ... と省略する

@include lines-truncate(3)
  指定行数から溢れたら ... と省略する



==== 段落系 ====

@include justify();
  両端揃えの設定がされる。IEも対応。

@include full-width();
  ブロックの幅をウィンドウ幅全体に変更する。
  ただしPCではスクロールバーの幅の関係でややあふれるため、祖先要素に overflow:hidden; が必要。



==== 画像系 ====
@include fix-aspect(300px, 200px, true)
  ブロックの縦横比を指定する処理。
  横幅、縦幅、子要素も同様にするかの順に指定。

@include object-fit(cover, center center);
  JavaScriptライブラリ Object Fit Images を用いて
  IE でも object-fit および object-fit-position が使用できるようになる。
  ただし別途 Object Fit Images を実行する必要があるので注意。
  （既定では class="ofi" を付与していると自動的に対象となる）

@include pseudo-img(30px, 30px, ../../images/item.jpg);
  疑似要素に画像を入れる場合に使う。
  疑似要素系は記述が多くて面倒なため。



==== レイアウト系 ====

@include dl-table($dt-width, $breakpoint: $width-smartphone)
  dl,dt,dd で2列の表を作るのを簡単にする。
  $dt-width を指定すると、残り幅を dd の幅に割り当てる。
  $breakpoint になると、1列の表に戻す。



==== メディアクエリ系 ====

@include on-sp{
  【 CSSを記述 】
}
  $width-smartphone の値を元に @media(max-width:768px) を作成する。
  ただの省略用。

@include max-width(1400px){
  【 CSSを記述 】
}
  任意のmax-widthでメディアクエリを書く省略形。



==== 入力フォーム系 ====

  input要素はtype属性により表示が全く異なるので、それらをまとめて設定するためのmixin。

@include form-text{
  【 CSSを記述 】
}
  text, email, number, password, tel, search, url, date, datetime, datetime-local, month, week

@include form-datetime{
  【 CSSを記述 】
}
  date, datetime, datetime-local, month, week

@include form-button{
  【 CSSを記述 】
}
  button要素と button, image, submit, reset


*/
/**
 * Illustrator の出力するCSSを rem ベース + em ベースに変換する
 * @param int $font-size      px単位での文字サイズ
 * @param int $line-height    px単位での行の高さ ※0にすると無視
 * @param int $letter-spacing px単位での字間 ※0にすると無視
 * @param bool $is_center     中央揃えで使用する際の調整をするか
 * @require $font-size-root
 * @example1 @font-rem(14px, 28px, 0.4px, true);
 * @example2 @font-rem(14, 28, 0.4, true);
 */
/**
 * Illustrator の出力するCSSを rem ベース + em ベースに変換し、
 * さらに line-height により生じる上下の余白を調整する（Illustrator に合わせる）
 *
 * @param int $font-size      px単位での文字サイズ
 * @param int $line-height    px単位での行の高さ ※0にすると無視
 * @param int $letter-spacing px単位での字間 ※0にすると無視
 * @param bool $is_center     中央揃えで使用する際の調整をするか
 * @require $font-size-root
 * @example1 @font-rem(14px, 28px, 0.4px, true);
 * @example2 @font-rem(14, 28, 0.4, true);
 * @see https://coliss.com/articles/build-websites/operation/css/simple-css-remove-top-space.html
 */
/**
 * 溢れたテキストは … にする。
 * 1行限定だが、ブラウザ依存なし。
 */
/**
 * 溢れたテキストを … にする。
 * 任意行指定可能だが、-webkit が使える環境限定。
 * @param int $lines  最大行数
 */
/**
 * 幅をウィンドウ幅すべての幅にする
 * ただしPC版ではスクロールバーも含めたサイズとなるため、親要素を overflow:hidden; にしておくこと。
 */
/**
 * 縦横比を強制する
 * @param int $width        ブロックの幅
 * @param int $height       ブロックの高さ
 * @param bool $isFixChild  子要素にも縦横比を強制するか（既定値は false）
 */
/**
 * 疑似要素に画像をはめ込む
 */
/**
 * スマホ表示時のメディアクエリ
 */
/**
 * max-width のメディアクエリを作成する
 *  @param : $max-width  最大幅  数値に単位がない場合は px を付与。既定値はスマホの幅
 */
/**
 * dl要素を2列の表として表示する際のmixin
 * @param $dt-width: dt要素の幅
 * @param $breakpoint: 1列にする際の幅　既定値はスマホの幅
 */
/**
 * input要素のうちテキストボックス型にCSSをまとめて適用
 */
/**
 * input要素の日付関連のみCSSをまとめて適用
 */
/**
 * input要素およびbutton要素のみCSSをまとめて適用
 */
/*
JavaScriptが無効な場合に適用するCSSを記述する
ex)
  .caution{
    @include no-js(){
      color: red;
    }
  }
*/
/* SASS の function 機能 */
/**
【2020/9/12更新】

※pxで記述するものは、pxなしでも動作する。


strip-unit(30px)
  単位の除去

vh(30px, 1200px)
  第2引数を100vhとして、第1引数が何vh かを返す処理

addpx(30)
  単位なしの数値が入ったら px を付与

vwsp(100px)
  100px を vw に変換して返す（スマホ版デザインで算出）

vwpc(100px)
  100px を vw に変換して返す（パソコン版デザインで算出）

*/
/**
 * 単位なしの値には px を付与する
 */
/**
 * スマートフォン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-sp
 */
/**
 * パソコン用デザイン上でのピクセル数を指定すると、vw換算での値を返す
 * @require $design-width-pc
 */
/*
三角関数
https://codepen.io/NyX/pen/dYvymM
*/
/*
$pi: 3.14159265359;
$_precision: 10;

@function pow($base, $exp) {
  $value: $base;

  @if $exp>1 {
    @for $i from 2 through $exp {
      $value: $value * $base;
    }
  }

  @if $exp < 1 {
    @for $i from 0 through -$exp {
      $value: $value / $base;
    }
  }

  @return $value;
}

@function fact($num) {
  $fact: 1;

  @if $num>0 {
    @for $i from 1 through $num {
      $fact: $fact * $i;
    }
  }

  @return $fact;
}

@function _to_unitless_rad($angle) {
  @if unit($angle)=="deg" {
    $angle: $angle / 180deg * $pi;
  }

  @if unit($angle)=="rad" {
    $angle: $angle / 1rad;
  }

  @return $angle;
}

@function sin($angle) {
  $a: _to_unitless_rad($angle);
  $sin: $a;

  @for $n from 1 through $_precision {
    $sin: $sin + (pow(-1, $n) / fact(2 * $n + 1)) * pow($a, (2 * $n + 1));
  }

  @return $sin;
}

@function cos($angle) {
  $a: _to_unitless_rad($angle);
  $cos: 1;

  @for $n from 1 through $_precision {
    $cos: $cos + (pow(-1, $n) / fact(2*$n)) * pow($a, 2*$n);
  }

  @return $cos;
}

@function tan($angle) {
  @return sin($angle) / cos($angle);
}
*/
/*
_sitefont.scss で使用する、自前フォントを使うための mixin集
*/
/*
@function str-replace($substr, $newsubstr, $str, $all:false) {
  $pos: str-index($str, $substr);

  @while $pos !=null {
    $strlen: str-length($substr);
    $start: str-slice($str, 0, $pos - 1);
    $end: str-slice($str, $pos + $strlen);
    $str: $start + $newsubstr + $end;

    @if $all==true {
      $pos: str-index($str, $substr);
    }

    @else {
      $pos: null;
    }
  }

  @return $str;
}
*/
/* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */
/*
ゴシック体にしたい場合
  @extend %sans-serif;
明朝体にしたい場合
  @extend %serif;

変数指定だととても長くなるため、CSSのサイズ縮小用
*/
/* 各種設定 */ /* 色の変数 */
/**
 * 他で使用する色
 */
/*
 * 優先して読み込まれるCSSに base/__structure.scss を含むかどうか
 * true : atf.scss に import されます
 * false: common.scss に import されます
 * ※ .pc-block, .sp-block 等、レスポンシブ時の表示非表示に関するCSSを含むため、trueにするとリフローが発生しなくなります。
 */
/*
 * Gutenbergエディタで作成されたコンテンツを表示するCSSを常に読み込むか
 * ・minifyしても80kbほどある（gzipで圧縮転送で 11kb程度）
 * ・falseにした場合、"投稿" コンテンツを表示する際のみ読み込まれる @ single-post.scss
 */
/*
 * 属性セレクタの指定
 */
/*
 * スクロールバーの指定
 */
/* 色の変数 */
/**
 * 他で使用する色
 */
/**
 * スマートフォンに切り替わる際の幅を指定します。
 * この幅を元に一部の @mixin が動作します。
 */
/**
 * Illustrator / Photoshop 等での想定された画面幅を指定する箇所です。
 * この幅を元に vw 系のサイズ指定をする @function が存在します。
 */
/* フォントの変数 */ /* ユーザー投稿関連の設定 (.user_contents 内の変数群) */
@-webkit-keyframes animation-wave-switch {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes animation-wave-switch {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.bl-graphic-coding {
  margin: auto;
}
.bl-graphic-coding__title {
  position: relative;
  z-index: 1;
}
.bl-graphic-coding__title img {
  margin-left: auto;
}
.bl-graphic-coding__button {
  margin: auto;
  display: block;
}
.bl-graphic-coding__button img {
  margin: auto;
  display: block;
}
@media print, screen and (min-width: 769px) {
  .bl-graphic-coding {
    margin-top: -80px;
    width: 1080px;
  }
  .bl-graphic-coding__title {
    margin-bottom: -20px;
  }
  .bl-graphic-coding__button {
    margin-top: 46px;
  }
}
@media screen and (max-width: 768px) {
  .bl-graphic-coding {
    width: 83.6vw;
  }
  .bl-graphic-coding__title {
    margin-bottom: -2.8vw;
  }
  .bl-graphic-coding__button {
    margin-top: 11.3333333333vw;
  }
}
/*# sourceMappingURL=page-report2.css.map */