/**
 * Sky theme for reveal.js.
 *
 * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se

**/

/* Webフォント: M PLUS Rounded 1c(丸ゴシック体)
   index.html の <link> でも読み込んでいるが、CSS単体でも動くよう @import も入れておく */
/* M PLUS Rounded 1c は fonts/ に同梱した(Google Fonts をやめた)。
   CDN のままだとオフラインで一部ウェイトだけ欠け、太さが暴れる
   (2026-08-17 に実機で発生)。 */
@import url('../fonts/m-plus-rounded-1c/mplus.css');

/* 等幅フォント: Cica(シカ) — コードブロック用。fonts/ に同梱した woff2 を読み込む。
   PC に Cica がインストール済みならそちらが優先される(local() の指定による) */
@font-face {
  font-family: 'Cica';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Cica'), local('Cica-Regular'), url('../fonts/Cica-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Cica';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Cica Bold'), local('Cica-Bold'), url('../fonts/Cica-Bold.woff2') format('woff2');
}

/* 共通のフォントスタック(丸ゴシック優先 → OS標準の丸ゴシック → 一般的なゴシック) */
:root {
  --font-rounded: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', 'Hiragino Maru Gothic Pro',
    'BIZ UDPGothic', 'Yu Gothic', 'Hiragino Sans', 'Noto Sans JP', sans-serif;
  --font-mono: 'Cica', 'HackGen', 'Ricty Diminished', 'Menlo', 'Osaka-Mono', monospace;
  /* スライドの地色。TikZ 側の \definecolor{bg}{HTML}{F0F1EB} と同じ色にしておく */
  --slide-bg: #F0F1EB;
  /* 本文の基準サイズ。見出しや小見出しはこれに対する em 指定なので、
     ここを変えると全体が比例して変わる。1pt = 4/3 px(18pt = 24px)。 */
  --body-font-size: 19pt;
}

.reveal a {
  line-height: 1.3em; }

/*********************************************
 * GLOBAL STYLES
 *********************************************/
body {
  background: #F0F1EB;
  /*
  background: -moz-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #f7fbfc), color-stop(100%, #add9e4));
  background: -webkit-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
  background: -o-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
  background: -ms-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
  background: radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%);
  */
}

.reveal {
  font-family: var(--font-rounded);
  font-size: var(--body-font-size, 18pt);
  font-weight: 400; /* 2026-08-27: 500 から一段細く(見出し h1/h2 は 700 のまま) */
  color: #000;
  }

::selection {
  color: #fff;
  background: #134674;
  text-shadow: none; }

.reveal .slides > section,
.reveal .slides > section > section {
  line-height: 1.8;
  font-weight: inherit;
  height: 100%;
  }


/*********************************************
 * HEADERS
 *********************************************/
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
  /*margin: 0 0 20px 0;*/
  color: #000;
  font-family: var(--font-rounded);
  font-weight: 400; /* 2026-08-27: 500 から一段細く(h1/h2 は下で 700 に上書き) */
  line-height: 1.5;
  letter-spacing: normal; /*-0.08em;*/
  text-transform: none; /*uppercase;*/
  text-shadow: none;
  word-wrap: break-word;
}

.reveal h1 {
  font-size: 2.77em;
  	text-shadow: none;
	display: block;
	padding: 20px 20px;
	color: black;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 10px;
	/*margin-bottom: 50px;*/
	font-weight:700; /* M PLUS Rounded 1c は 600 が無いので 700 に */
    margin:150px 0px 100px 0px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	line-height:1;
}

.reveal h2 {
  font-size: 1.2em;
  text-align: left;
  font-weight:700; /* M PLUS Rounded 1c は 600 が無いので 700 に */
  width: 100%;
  margin: -1em 0 -0.5em 0;
}

.reveal h3 {
  font-size: 1.0em;
  text-align: left;
  width: 100%;
  margin: 0.1em 0 0.5em 1em;
}
.reveal h4 {
  font-size: 0.8em;
  text-align: left;
  width: 100%;
  margin: 0 0 0 0;
}

.reveal h6 {
  font-weight:200;
	font-size:25px;
  font-size: 1.2em;
}
.reveal h2.border {
  border-bottom: 1px solid;
  margin: -0.8em 0 0.8em 0;
}

.reveal h3.border {
  border-bottom: 1px solid;
  margin: -0.8em 0 0.8em 0;
}

hr.solid{
  border: 0;
  height: 1px;
  margin: 0.3em 0 0.7em 0;
  background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
  background-image: -moz-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
  background-image: -ms-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
  background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
}

hr {
    background-color: #F0F1EB;
    border-top: 2px dashed #8c8b8b;
}

hr.cut:before {
  background-color: #fff;
  border-top: 2px dashed #8c8b8b;
  content: '';
}
hr.cut:after {
  content: attr(data-content);
  /*content: '✄';*/
  display: inline-block;
  position: absolute;
  margin-top:-30px;
  left: 45%;
  background: none;
  color: #8c8b8b;
  font-size: 40px;
}

    /* Ref https://stackoverflow.com/questions/33328330/how-can-i-make-the-first-fragment-highlighted-automatically-visible-in-reveal */
.reveal .slides section .fragment.gray2black {
    opacity: 1;
    visibility: visible;
}
.reveal .slides section .fragment.gray2black.visible,
.reveal .slides section .fragment.gray2black.visible:not(.current-fragment) {
    color: #000;
}
.reveal .slides section .fragment.gray2black,
.reveal .slides section fragment.gray2black.visible:not(.current-fragment) {
    color: lightgray;
}

.reveal .slides section .fragment.black2gray {
    opacity: 1;
    visibility: visible;
}
.reveal .slides section .fragment.black2gray.visible,
.reveal .slides section .fragment.black2gray.visible:not(.current-fragment) {
    color: gray;
}
.reveal .slides section .fragment.black2gray,
.reveal .slides section fragment.black2gray.visible:not(.current-fragment) {
    color: #000;
}

.reveal .slides section .fragment.highlight-gray {
    opacity: 1;
    visibility: visible;
}
.reveal .slides section .fragment.highlight-gray.visible,
.reveal .slides section .fragment.highlight-grayvisible:not(.current-fragment) {
    color: #000;
}
.reveal .slides section .fragment.highlight-gray,
.reveal .slides section .fragment.highlight-gray.visible:not(.current-fragment) {
    color: gray;
}

/* lightgray → black
   最初から薄いグレーで見えていて、送ると黒くなるフラグメント。
   薄さを変えたいときは --fragment-dim を上書きする:
     <span class="fragment lightgray2black" style="--fragment-dim:#ddd">…</span> */
.reveal .slides section .fragment.lightgray2black {
    opacity: 1;
    visibility: visible;
    color: var(--fragment-dim, lightgray);
}
.reveal .slides section .fragment.lightgray2black > *,
.reveal .slides section .fragment.lightgray2black .fragment.lightgray2black {
    color: inherit;
}
.reveal .slides section .fragment.lightgray2black.visible,
.reveal .slides section .fragment.lightgray2black.visible:not(.current-fragment) {
    color: #000;
}






/*********************************************
 * OTHER
 *********************************************/
/* .reveal p はここに書かない。
   このファイルの後方(user define の節)に同じセレクタの定義があり、
   同じ詳細度なら「後に書いた方」が勝つため、ここに書いても全て上書きされる。
   行間・段落間を変えるときは後方の .reveal p (line-height / --p-gap) を編集する。 */

/* Ensure certain elements are never larger than the slide itself */
.reveal img{
	max-width:100%;
	max-height:100%;
}

.reveal video,
.reveal iframe {
  max-width: 95%;
  max-height: 95%;
}

/*********************************************
 * TikZ / pgfplots (TikZJax)
 *********************************************/
/* TikZ の出力は pt 実寸なのでスライドには小さすぎる。既定で 1.8 倍に拡大する。
   個別に大きさを変えたいときは、markdown 側で図を div で囲む:
     <div class="tikz-lg"><script type="text/tikz"> ... </script></div>
     <div style="--tikz-zoom:2.2"><script type="text/tikz"> ... </script></div> */
.reveal .tikzjax-wrapper {
  display: inline-block;
  zoom: var(--tikz-zoom, 1.8);
}
.reveal .tikz-sm { --tikz-zoom: 1.2; }
.reveal .tikz-md { --tikz-zoom: 1.8; }
.reveal .tikz-lg { --tikz-zoom: 2.5; }
.reveal .tikz-xl { --tikz-zoom: 3.2; }

/* div で囲んだ図は中央寄せに */
.reveal .tikz-sm,
.reveal .tikz-md,
.reveal .tikz-lg,
.reveal .tikz-xl {
  text-align: center;
}

.reveal svg.tikzjax {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* 図はスライド中央に置く(左寄せの p の中に入るため)。
   図を包む p と、重ね合わせのレイヤー内の p には段落の余白を付けない。
   付けると重ねた図どうしの位置がずれる。 */
.reveal p:has(> .tikzjax-wrapper),
.reveal .tikz-stack p,
.reveal .tikz-layer p,
.reveal .tikz-overlay p {
  margin-bottom: 0;
}
.reveal p:has(> .tikzjax-wrapper) {
  text-align: center;
}

/* --- 図のすぐ下に本文を続ける ------------------------------------------
   TikZJax は図を包む span(.tikzjax-wrapper)に上下 18px の margin を付ける。
   さらにその span は inline-block なので、親の行の高さ(line-height)ぶんの
   余白も下に付く。この2つで図と次の要素の間に 45px ほどの隙間ができる。

   隙間を消したいときは、図と本文を囲む要素に tikz-tight を足す:
     <div class="right tikz-tight"> …図… <p>…本文…</p> </div>

   なお図の中に空白があるように見える場合は CSS ではなく TikZ 側の問題。
   pgfplots の after end axis で \path を置いていると、その矩形のぶんだけ
   図の枠が広がる。y の範囲を軸に合わせること。              */
.reveal .tikz-tight {
  line-height: 0;
}
.reveal .tikz-tight .tikzjax-wrapper {
  margin: 0;
  vertical-align: bottom;
}

/* コンパイル中に出るプレースホルダを目立たせない */
.reveal .tikzjax-wrapper img {
  opacity: 0.35;
}

/* --- TikZ の図を fragment で1本ずつ出す --------------------------------
   1つの <script type="text/tikz"> は1枚の SVG にしかならないので、
   曲線ごとに script を分けて重ね、それぞれを fragment にする。
   軸の設定を全レイヤーで揃えておけば SVG の大きさが一致し、ぴったり重なる。

     <div class="tikz-stack">
       <div class="tikz-layer fragment fade-in"><script type="text/tikz">…</script></div>
       <div class="tikz-layer fragment fade-in"><script type="text/tikz">…</script></div>
     </div>
                                                                          */
.reveal .tikz-stack {
  position: relative;
  display: inline-block;
  text-align: center;
}
.reveal .tikz-stack > .tikz-layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;   /* 幅を stack いっぱいに広げ、中身は text-align:center で中央に置く。
                 left だけだと div.right などで stack が広いときに1枚目とズレる */
  margin-left: auto;    /* style="width:70%" のように幅を狭めたとき、左に寄らず */
  margin-right: auto;   /* 中央に来るようにする(幅を指定しなければ効果なし)     */
  text-align: center;
}
/* 1枚目だけは通常フローに置いて、重ね全体の高さを確保する */
.reveal .tikz-stack > .tikz-layer:first-child {
  position: relative;
}

/* --- 図を親要素(カラム)の幅いっぱいに広げる ---------------------------
     <div class="right-l1 tikz-stack tikz-fit"> … </div>
   このクラスを付けると --tikz-zoom は使われず、常にカラムの幅に合わせて
   拡大縮小される。TikZ 側の width=12cm などは縦横比を決めるだけになる。
   縦が伸びすぎるときは上限を指定する:
     style="--tikz-max-height:62vh"
   ※ .tikz-stack の display を上書きするため、必ずその後ろに置くこと     */
.reveal .tikz-fit {
  display: block;
  width: 100%;
}
.reveal .tikz-fit .tikzjax-wrapper {
  zoom: 1;
  display: block;
  width: 100%;
}
.reveal .tikz-fit svg.tikzjax {
  width: 100%;
  height: auto;
  max-width: none;
  max-height: var(--tikz-max-height, none);
}

/* --- 図の上に日本語ラベルを重ねる --------------------------------------
   TikZJax の TeX は欧文フォントしか持たないので、図の中に日本語を書くと
   コンパイルが失敗する。代わりに HTML の文字を図の上に重ねる。
   位置は図の左上を (0%,0%) とした割合で指定する。

     <div class="tikz-stack" style="--tikz-zoom:1.3">
       <div class="tikz-layer"> …tikz… </div>
       <div class="tikz-overlay">
         <span class="tikz-label" style="left:62%; top:20%">法線</span>
         <span class="tikz-label fragment" style="left:30%; top:70%">鏡</span>
       </div>
     </div>
                                                                          */
.reveal .tikz-stack > .tikz-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.reveal .tikz-overlay .tikz-label {
  position: absolute;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  line-height: 1;
  font-size: var(--tikz-label-size, 0.62em);
}

/* 下の線や塗りを隠したいときは boxed を足す。
   色を変えたい場合は style="--tikz-label-bg:white" のように上書きする。
     <span class="tikz-label boxed" style="left:28%; top:22%">法線</span>  */
.reveal .tikz-overlay .tikz-label.boxed {
  background: var(--tikz-label-bg, var(--slide-bg));
  padding: 0.15em 0.4em;
  border-radius: 4px;
}

/*********************************************
 * Safari で文字がぼやける問題への対処
 *********************************************/
/* reveal.css には次の指定がある:
     .reveal .fragment:not(.custom){ opacity:0; visibility:hidden; will-change:opacity }
   この will-change があると要素が個別の合成レイヤーに昇格する。
   reveal 本体はスライド全体を transform:scale() で拡大しているので、
   Safari では「拡大前の解像度でラスタライズしてから引き伸ばす」動きになり、
   fragment を含むスライドの文字全体がぼやけて見える(Chrome は再ラスタライズ
   するので問題が出ない)。スライド用途では will-change の恩恵はほぼ無いので外す。 */
.reveal .fragment:not(.custom) {
  will-change: auto;
}

/*********************************************
 * 数式 (KaTeX / MathJax)
 *********************************************/
/* KaTeX は既定で本文の 1.21 倍にする。それだと大きいので少し下げる。
   1.09em ≒ 既定の 90%。もっと小さくしたいときは --math-scale を変える:
     :root { --math-scale: 1.0em; }          全体を変える
     <section style="--math-scale:1.0em">    そのスライドだけ変える            */
.reveal .katex {
  font-size: var(--math-scale, 1.09em);
}

/* 別行立ての数式は上下の余白も詰める。
   あわせて中央寄せをやめて左寄せにする(LaTeX の fleqn 相当)。
   字下げの量は --math-indent で調整する。中央寄せに戻したいときは
   text-align の2行を消す。 */
.reveal .katex-display {
  margin: 0.5em 0;
  text-align: left;
  padding-left: var(--math-indent, 3em);
}
.reveal .katex-display > .katex {
  text-align: left;
}

/* 式番号 \tag{1} を右端ではなく左端に置く(LaTeX の leqno 相当)。
   KaTeX のバージョンによって class 名が .katex-tag / .tag と異なるので両方指定。
   KaTeX の CSS が後から読み込まれて勝つため !important が要る。
   数式は上で --math-indent だけ字下げしてあるので、番号はその字下げ分だけ
   左に戻して「余白の中」に置く。こうしないと数式と重なる。
   右に戻したいときはこのブロックを消す。 */
.reveal .katex-display .katex-tag,
.reveal .katex-display > .katex > .katex-html > .tag {
  left: calc(-1 * var(--math-indent, 3em)) !important;
  right: auto !important;
  text-align: left;
}

/* MathJax を使う場合(要素に直接 font-size が入るので !important が要る) */
.reveal mjx-container {
  font-size: var(--math-scale, 1.09em) !important;
}

.reveal strong,
.reveal b {
  font-weight: bold; }

.reveal em {
  font-style: italic; }

.reveal ol,
.reveal dl,
.reveal ul {
  display: inline-block;
  text-align: left;
  float:left;
  width:100%;
  margin: 0 2em 1em 2em; }

.reveal ol {
  list-style-type: decimal; }

.reveal ul {
  list-style-type: disc; }

.reveal ul ul {
  list-style-type: square; }

.reveal ul ul ul {
  list-style-type: circle; }

.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
  display: block;
  margin-left: 40px; }

.reveal dt {
  font-weight: bold; }

.reveal dd {
  margin-left: 40px; }

.reveal q,
.reveal blockquote {
  quotes: none; }

.reveal blockquote {
  display: block;
  position: relative;
  width: 70%;
  margin: 20px auto;
  padding: 5px;
  font-style: italic;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }

.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
  display: inline-block; }

.reveal q {
  font-style: italic; }

.reveal pre {
  display: block;
  position: relative;
  width: var(--code-width, 90%);
  margin: 20px auto;
  text-align: left;
  font-size: var(--code-font-size, 0.55em);
  font-family: var(--font-mono);
  line-height: 1.2em;
  word-wrap: break-word;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }

/* --- コードブロックを半分の幅にする ------------------------------------
     <pre class="half"><code …></code></pre>          左半分に置く
     <pre class="half right-side">…</pre>             右半分に置く
   幅・高さ・文字の大きさはその場で変えられる:
     <pre class="half" style="--code-width:40%; --code-height:300px">
     <pre class="half" style="--code-font-size:0.45em">
   行は折り返さないので、横に長い行は左右にスクロールして読む。
   隣に div.right などを並べるとき、幅と余白の合計が 100% を超えると
   float が下に落ちて「消えた」ように見える。そうならないよう、
   余白のぶんを幅から引いてある(calc の部分)。                        */
.reveal pre.half {
  --code-gap: 1.2em;
  --code-width: calc(49.7% - var(--code-gap));
  margin: 0 var(--code-gap) var(--p-gap, 1em) 0;   /* 右の要素との間を空ける */
  float: left;
}
.reveal pre.half.right-side {
  float: right;
  margin: 0 0 var(--p-gap, 1em) var(--code-gap);
}

/* code-include.js が data-label で入れるファイル名の見出し。
   暗いコード領域の外(すぐ上)に1行として出る。 */
.reveal pre .code-name {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.9em;
  line-height: 1.4;
  color: #6b6257;
  text-align: left;
  padding: 0 0 2px 2px;
}

/* float の後で本文を下に戻したいときに挟む: <div class="clear"></div> */
.reveal .clear {
  clear: both;
}



.reveal code,
.reveal kbd,
.reveal samp {
  font-family: var(--font-mono); }

/* highlight.js が付与する span にも確実に効かせる */
.reveal pre code,
.reveal pre code span {
  font-family: var(--font-mono); }

/* スクロールするのはこの code のほう。
   white-space: pre で行を折り返さないので、はみ出した分は横スクロールになる。
   縦の高さは --code-height で変える。 */
.reveal pre code {
  display: block;
  padding: 5px;
  overflow: auto;
  max-height: var(--code-height, 400px);
  white-space: pre;
  word-wrap: normal; }

/* 行番号を付けたとき(data-line-numbers)は中身が table になるので、
   table が縮まないようにしておかないと横スクロールが効かない */
.reveal pre code table.hljs-ln {
  width: max-content;
  min-width: 100%;
}

.reveal table {
  margin: auto;
  border-collapse: collapse;
  border-spacing: 0; }

.reveal table th {
  font-weight: bold; }

.reveal table th,
.reveal table td {
  text-align: left;
  padding: 0.2em 0.5em 0.2em 0.5em;
  border-bottom: 1px solid; }

.reveal table th[align="center"],
.reveal table td[align="center"] {
  text-align: center; }

.reveal table th[align="right"],
.reveal table td[align="right"] {
  text-align: right; }

.reveal table tbody tr:last-child th,
.reveal table tbody tr:last-child td {
  border-bottom: none; }

.reveal sup {
  vertical-align: super; }

.reveal sub {
  vertical-align: sub; }

.reveal small {
  display: inline-block;
  font-size: 0.6em;
  line-height: 1.2em;
  vertical-align: top; }

.reveal small * {
  vertical-align: top; }

/*********************************************
 * LINKS
 *********************************************/
.reveal a {
  color: #3b759e;
  text-decoration: none;
  -webkit-transition: color .15s ease;
  -moz-transition: color .15s ease;
  transition: color .15s ease; }

.reveal a:hover {
  color: #74a7cb;
  text-shadow: none;
  border: none; }

.reveal .roll span:after {
  color: #fff;
  background: #264c66; }

/*********************************************
 * IMAGES
 *********************************************/
.reveal section img {
  /*margin: 15px 0px;
  background: rgba(255, 255, 255, 0.12);
  border: 0px solid #333;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);*/
  }

.reveal section img.plain {
  border: 0;
  box-shadow: none; }

.reveal a img {
  -webkit-transition: all .15s linear;
  -moz-transition: all .15s linear;
  transition: all .15s linear; }

.reveal a:hover img {
  background: rgba(255, 255, 255, 0.2);
  border-color: #3b759e;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }

/*********************************************
 * NAVIGATION CONTROLS
 *********************************************/
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
  border-right-color: #3b759e; }

.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
  border-left-color: #3b759e; }

.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
  border-bottom-color: #3b759e; }

.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
  border-top-color: #3b759e; }

.reveal .controls .navigate-left.enabled:hover {
  border-right-color: #74a7cb; }

.reveal .controls .navigate-right.enabled:hover {
  border-left-color: #74a7cb; }

.reveal .controls .navigate-up.enabled:hover {
  border-bottom-color: #74a7cb; }

.reveal .controls .navigate-down.enabled:hover {
  border-top-color: #74a7cb; }

/*********************************************
 * PROGRESS BAR
 *********************************************/
/* 太さは reveal 既定の clamp(3px, .75vmin, 10px) だと画面によって 6〜8px。
   変えたいときは変数だけ書き換える:  :root { --progress-height: 6px; }   */
.reveal .progress {
  background: rgba(0, 0, 0, 0.2);
  height: var(--progress-height, 15px); }

/* reveal 6 はバーの伸縮を width ではなく transform: scaleX() で行う。
   ここを width のままにしていると transition が効かず、バーが瞬間移動する
   (reveal 4 時代の記述の残り。2026-08-11 に transform へ修正)。         */
.reveal .progress span {
  background: #3b759e;
  transition: transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }

/* ページ番号を、右下の矢印(controls)のかたまりの**中心**に置く。背景は透過。

   位置の根拠(reveal.css を Chromium で実測):
     矢印は 36px 四方。上下の矢印の横位置 = 画面右から 58px が「中心の列」、
     左右の矢印の縦位置 = 画面下から 40px が「中心の行」。
   right/bottom だけだと要素の *端* がその点に合ってしまうので、
   transform: translate(50%, 50%) で *中心* を合わせている。

   注意: --r-controls-spacing を calc() で使ってはいけない。
   この変数の値は `.8em` などの相対値で、em は参照する側(ここでは
   font-size:20px の .slide-number)の基準で解釈されるため 2 倍にずれる。

   微調整は変数で:
     :root { --slide-number-right: 58px; --slide-number-bottom: 40px; }
   既定(右下すみ)に戻すなら right/bottom/transform の3行を消す。        */
.reveal .slide-number {
  color: #51483D;
  background-color: transparent;
  font-size: 20px;
  right: var(--slide-number-right, 58px);
  bottom: var(--slide-number-bottom, 58px);
  transform: translate(50%, 50%);
  pointer-events: none;   /* 矢印のクリックを邪魔しない */
  }

/* user define*/

/* 段落の下に少し余白を空ける。
   <br> 1つぶんの高さは line-height と同じ 2em なので、その半分の 1em を入れる。
   広げたい/詰めたいときは --p-gap を変える(0 にすると以前と同じ隙間なし):
     :root { --p-gap: 0.5em; }             全体
     <section style="--p-gap:0">           そのスライドだけ                     */
.reveal p {
  margin: 0 0 var(--p-gap, 0.5em);
  line-height: 1.75em;
  text-align:left;
}

.reveal p.left {
  text-align:left;
}
.reveal p.right {
  text-align:right;
}
.reveal p.center {
  text-align:center;
}

.reveal p.small {
  font-size: 0.9em;
}
.reveal p.tiny {
  /* margin: 0px 0; */
  font-size: 0.8em;
}

.reveal p.body{
  line-height: 2em;
}

.reveal p.body1{
  line-height: 1.6em;
}

.reveal div.positionfix{
	position:absolute;
}
.reveal figure.positionfix{
	position:absolute;
}
.reveal figure.trimming{
	overflow: hidden;
}



.reveal figcaption {
  font-size:18px;
}

.reveal p.ref{
  font-family: 'Helvetica', sans-serif;
  font-size: 13px;
  text-align:right;
}
.reveal p.ref-left{
  font-family: 'Helvetica', sans-serif;
  font-size: 13px;
  text-align:left;
  padding:20px;
}

.reveal p.ref-right{
  font-family: 'Helvetica', sans-serif;
  font-size: 13px;
  text-align:right;
  padding:20px;
}


.reveal div.right{
  float:right;
  width:49.7%;
}
.reveal div.left{
  float:left;
  width:49.7%;
}
.reveal div.center{
  float:cener;
  width:99%;
}
.reveal div.middle{
  float:left;
  width:99%;
}

.reveal div.three-col{
  float:left;
  width:33%;
}


.reveal div.right-r1{
  float:right;
  width:59.7%;
}
.reveal div.left-r1{
  float:left;
  width:39.7%;
}
.reveal div.right-l1{
  float:right;
  width:39.7%;
}
.reveal div.left-l1{
  float:left;
  width:59.7%;
}

/*********************************************
 * 図に本文を回り込ませる(LaTeX の wrapfig 相当)
 *********************************************/
/* 使い方:
     <div class="wrapfig"> …図… </div>
     <p>本文…</p>

   - 図は本文より「前」に置く。
   - 本文は left-l1 などのカラム div に入れない(入れると回り込まない)。
   - 幅の既定は 38%。変えるときは style="--wrap-width:45%"。
   - 左に回り込ませたいときは wrapfig-left を使う。                     */
.reveal div.wrapfig,
.reveal div.wrapfig-left {
  width: var(--wrap-width, 38%);
}
.reveal div.wrapfig {
  float: right;
  margin: 0 0 0.6em 1.2em;
}
.reveal div.wrapfig-left {
  float: left;
  margin: 0 1.2em 0.6em 0;
}

/* 中の TikZ 図を枠の幅いっぱいに広げる */
.reveal .wrapfig .tikzjax-wrapper,
.reveal .wrapfig-left .tikzjax-wrapper {
  zoom: 1;
  display: block;
  width: 100%;
}
.reveal .wrapfig svg.tikzjax,
.reveal .wrapfig-left svg.tikzjax {
  width: 100%;
  height: auto;
  max-width: none;
}
/* 画像を入れる場合も同じように広げる。
   ただし直下の <img> だけを対象にする。中に入れ子で置いた画像
   (tikz-overlay のラベルなど)まで広げてしまうと、
   その画像の width / height 属性が効かなくなるため。 */
.reveal .wrapfig > img,
.reveal .wrapfig-left > img {
  width: 100%;
  height: auto;
  max-width: none;
}

/* 図の上に重ねるラベルの中の画像は、書いたとおりの大きさで表示する
   (<img height="30px"> や style="width:4em" をそのまま効かせる) */
.reveal .tikz-label img {
  max-width: none;
  max-height: none;
  vertical-align: middle;
}



.reveal div.list{
  width:80%;
  margin: 0 auto;
  text-align:left;
}

.reveal div.c90{
  width:90%;
  margin: 0 auto;
  text-align:left;
}

.reveal div.c80{
  width:80%;
  margin: 0 auto;
  text-align:left;
}


.reveal div.circle{
  border: solid 0px black;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  background-color:#999;
}
.reveal div.footer{
  float:left;
  bottom:2em;
  /*margin-top:2em;*/
  position:absolute;
}

.reveal section.scrollable {
  overflow-y: scroll;
  overflow-x: hidden;
}
.reveal span.menu-title{
	display:none;
}



/*--------------*/

/* iPad などタッチ端末ではナビゲーション矢印(右下の < >)を小さくする。
   矢印一式は .controls の font-size(既定 10px)を基準に em で組まれて
   いるので、ここを変えるだけで全体が同じ形のまま縮む。
   マウスのある PC は (hover: none) に当たらないので従来どおり。 */
@media (hover: none) and (pointer: coarse) {
  .reveal .controls {
    font-size: 6px;
  }
}
