@charset "UTF-8";
/* rs_static.0.8.6.css
** Ideal-space basic style
** build 20200115a, Copyright 2020 H,Hishida.
========================================================= */

/*
inherit --- 親要素の継承（margin, padding, border, background など）
*/

/* bootstrap
========================================================= *
*,*::before,*::after {  margin: 0px; padding: 0px; box-sizing: border-box;}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -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-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;}
hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;}
h1, .h1 {  font-size: 2.5rem;}
h2, .h2 {  font-size: 2rem;}
h3, .h3 {  font-size: 1.75rem;}
h4, .h4 {  font-size: 1.5rem;}
h5, .h5 {  font-size: 1.25rem;}
h6, .h6 {  font-size: 1rem;}

p {
  margin-top: 0;
  margin-bottom: 1rem;}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;}
a:hover {
  color: #0056b3;
  text-decoration: underline;}

img {
  vertical-align: middle;
  border-style: none;}

b,strong {  font-weight: bolder;}

small,.small {
  font-size: 80%;
  font-weight: 400;}

.list-unstyled {
  padding-left: 0;
  list-style: none;}

.bg-white {  background-color: #fff !important;}
.bg-transparent {  background-color: transparent !important;}

.border {  border: 1px solid #dee2e6 !important;}
.border-0 {  border: 0 !important;}

.rounded-sm {  border-radius: 0.2rem !important;}
.rounded {  border-radius: 0.25rem !important;}
.rounded-circle {  border-radius: 50% !important;}
.rounded-pill {  border-radius: 50rem !important;}
.rounded-0 {  border-radius: 0 !important;}

**** Display ユーティリティ ****
.d-none {  display: none !important;}
.d-inline {  display: inline !important;}
.d-inline-block {  display: inline-block !important;}
.d-block {  display: block !important;}

**** Float ユーティリティ ****
.float-left {  float: left !important;}
.float-right {  float: right !important;}
.float-none {  float: none !important;}

**** Clearfix ユーティリティ ****
.clearfix::after {
  display: block;
  clear: both;
  content: "";}

.overflow-auto {  overflow: auto !important;}
.overflow-hidden {  overflow: hidden !important;}

**** Position ユーティリティ ****
.position-static {  position: static !important;}
.position-relative {  position: relative !important;}
.position-absolute {  position: absolute !important;}
.position-fixed {  position: fixed !important;}
.position-sticky {  position: -webkit-sticky !important;  position: sticky !important;}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;}
.shadow-none {
  box-shadow: none !important;}

**** Sizing ユーティリティ ****
.w-100 {  width: 100% !important;}
.w-auto {  width: auto !important;}

.h-100 {  height: 100% !important;}
.h-auto {  height: auto !important;}

.mw-100 {  max-width: 100% !important;}
.mh-100 {  max-height: 100% !important;}

.min-vw-100 {  min-width: 100vw !important;}
.min-vh-100 {  min-height: 100vh !important;}

.vw-100 {  width: 100vw !important;}
.vh-100 {  height: 100vh !important;}

**** Spacing ユーティリティ ****
.m-0 {  margin: 0 !important;}
.m-1 {  margin: 0.25rem !important;}
.m-2 {  margin: 0.5rem !important;}
.m-3 {  margin: 1rem !important;}
.m-4 {  margin: 1.5rem !important;}
.m-5 {  margin: 3rem !important;}
.mt-3 {  margin-top: 1rem !important;}

.p-0 {  padding: 0 !important;}
.p-1 {  padding: 0.25rem !important;}
.p-2 {  padding: 0.5rem !important;}
.p-3 {  padding: 1rem !important;}
.p-4 {  padding: 1.5rem !important;}
.p-5 {  padding: 3rem !important;}
.pt-3 {  padding-top: 1rem !important;}

@media (min-width: 576px) {  .m-sm-0 {    margin: 0 !important;  }}
@media (min-width: 768px) {  .m-md-0 {    margin: 0 !important;  }}
@media (min-width: 992px) {  .m-lg-0 {    margin: 0 !important;  }}
@media (min-width: 1200px) {  .m-xl-0 {    margin: 0 !important;  }}

**** Text ユーティリティ ****
.text-justify {  text-align: justify !important;}
.text-wrap {  white-space: normal !important;}
.text-nowrap {  white-space: nowrap !important;}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.text-left {  text-align: left !important;}
.text-right {  text-align: right !important;}
.text-center {  text-align: center !important;}

.text-lowercase {  text-transform: lowercase !important;}
.text-uppercase {  text-transform: uppercase !important;}
.text-capitalize {  text-transform: capitalize !important;}

.font-weight-normal {  font-weight: 400 !important;}
.font-weight-bold {  font-weight: 700 !important;}

.text-white {  color: #fff !important;}

.text-light {  color: #f8f9fa !important;}
a.text-light:hover, a.text-light:focus {  color: #cbd3da !important;}

.text-dark {  color: #343a40 !important;}
a.text-dark:hover, a.text-dark:focus {  color: #121416 !important;}

.text-body {  color: #212529 !important;}
.text-muted {  color: #6c757d !important;}
.text-black-50 {  color: rgba(0, 0, 0, 0.5) !important;}
.text-white-50 {  color: rgba(255, 255, 255, 0.5) !important;}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;}

.text-decoration-none {  text-decoration: none !important;}

.text-break {
  word-break: break-word !important;
  overflow-wrap: break-word !important;}

.text-reset {  color: inherit !important;}

**** Vertical align ユーティリティ ****
.align-baseline {  vertical-align: baseline;}
.align-middle {  vertical-align: middle;}

**** Visibility ユーティリティ ****
.visible {  visibility: visible !important;}
.invisible {  visibility: hidden !important;}

--------------------------------------------- //bootstrap */

/* Snippets
========================================================= *
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  outline: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html { height: 101%; }
body { font-size: 62.5%; line-height: 1; font-family: Arial, Tahoma, sans-serif; }
 
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
 
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
strong { font-weight: bold; } 
 
table { border-collapse: collapse; border-spacing: 0; }
img { border: 0; max-width: 100%; }
 
p { font-size: 1.2em; line-height: 1.0em; color: #333; }

---------------------------------------------- //Snippets */

/* Site style
========================================================= */
/* font-family, svg setting
------------------------------------- */
html, body {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
    font-feature-settings: "pkna" 1;
}

/* font, text, list control
------------------------------------- */
body {
  /* font-size: 1.6rem; 16px*/
  color: rgba(0,0,0,0.8); /* #333333、rgba(0,0,0,0.8)。Google:#1111cc、Youtube:#0033cc、Wikipedia:#0645ad */
  line-height: 1.75; /* 行間 */
  letter-spacing: 0.2em; /* 文字間 */
  /*
    OpenType フォントのプロポーショナルメトリクスの機能の有効化
    font-feature-settings:[機能名] [有効可否]
    機能名：
      palt (プロポーショナルメトリクス)
      pkna (プロポーショナルかな)
      etc https://helpx.adobe.com/jp/typekit/using/open-type-syntax.html
    有効可否：
      1：有効 (初期値)
      0：無効
  */
  font-feature-settings: "palt" 1;
  
  /*
    OpenTypeフォントのメトリクスカーニング機能の有効化
    normal：メトリクスカーニングの実施
    none：カーニングを行わない
    auto：用字系にあわせてユーザエージェントが判断 (初期値)
  */
  font-kerning: auto;
}

a, a:hover{
	text-decoration: none; /* リンクの下線を表示しない */
}

ul {
/*
  list-style-type: none;
  list-style-position: outside;
*/
	list-style: none; /* リストスタイルのクリア */
}
ul, ol {
  padding-right: 1em;
}
li {
  padding-left:0.2em;
}

/* レイアウト
-------------------------------------- */
#section2, #section3, #section4, #section5, #section6, #section7, #section8 {
  position: relative !important;}


/* 半透明化 (クロスブラウザ対応)
-------------------------------------- */
.transparent80 {
  filter: alpha(opacity=80);
  -khtml-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.transparent75 {
  filter: alpha(opacity=75);
  -khtml-opacity: 0.75;
  -moz-opacity: 0.75;
  opacity: 0.75;
}
.transparent67 {
  filter: alpha(opacity=67);
  -khtml-opacity: 0.67;
  -moz-opacity: 0.67;
  opacity: 0.67;
}
.transparent50 {
  filter: alpha(opacity=50);
  -khtml-opacity: 0.5;
  -moz-opacity: 0.5;
  opacity: 0.5;
}
.transparent33 {
  filter: alpha(opacity=33);
  -khtml-opacity: 0.33;
  -moz-opacity: 0.33;
  opacity: 0.33;
}
.transparent25 {
  filter: alpha(opacity=25);
  -khtml-opacity: 0.25;
  -moz-opacity: 0.25;
  opacity: 0.25;
}
.transparent20 {
  filter: alpha(opacity=20);
  -khtml-opacity: 0.2;
  -moz-opacity: 0.2;
  opacity: 0.2;
}
.transparent, .transparent0, .transparent00 {
  filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
}

/* H1タグのロゴ化
-------------------------------------- */
h1 {
}

/* フルスクリーン背景
-------------------------------------- */
html { 
  background: url("img/bg.png") no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

/* 垂直中央配置
-------------------------------------- */
.vertically-centered {
  min-height: 6.5em;
  display: table-cell;
  vertical-align: middle;
}

/* テーブルのゼブラストライプ化
-------------------------------------- */
tbody tr:nth-child(odd) {
  background-color: #ddd;
}

/* センターレイアウト
-------------------------------------- */
#wrap {
  width: 800px;
  margin: 0 auto;
}

/* CSS3カラム（要素を横並び）
-------------------------------------- */
#columns-3 {
  text-align: justify;
  -moz-column-count: 3;
  -moz-column-gap: 12px;
  -moz-column-rule: 1px solid #c4c8cc;
  -webkit-column-count: 3;
  -webkit-column-gap: 12px;
  -webkit-column-rule: 1px solid #c4c8cc;
}

/* min-height (クロスブラウザ対応)
-------------------------------------- */
#content {
  min-height: 300px;
  height: auto !important;
  height: 550px;
}

/* リストの連続ナンバリング
-------------------------------------- */
ol.chapters {
  list-style: none;
  margin-left: 0;
}
ol.chapters > li:before {
  content: counter(chapter) ". ";
  counter-increment: chapter;
  font-weight: bold;
  float: left;
  width: 40px;
}
ol.chapters li {
  clear: left;
}
ol.start {
  counter-reset: chapter;
}
ol.continue {
  counter-reset: chapter 11;
}

/* リストの最初の仕切り線を消去
-------------------------------------- */
.list-border li {
  padding: 5px;
  border-top: 1px dotted #999;
  list-style: none;
}
.list-border ul li:first-child {
  border: none;
}

/* 注釈２行目以降の頭にスペースを
-------------------------------------- */
.annotation p { 
  padding-left: 1em;
  text-indent: -1em;
}

/* Sspacing
-------------------------------------- */
.spacing-0, .spacing-1, .spacing-2, .spacing-3, .spacing-4, .spacing-5 {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}
.spacing-0 {height: 0rem;}
.spacing-1 {height: 0.25rem;}
.spacing-2 {height: 0.5rem;}
.spacing-3 {height: 1rem;}
.spacing-4 {height: 1.5rem;}
.spacing-5 {height: 3rem;}

/* content before, after
-------------------------------------- */
.before-new::before {
  content: "New";
  color: red;
  /*font-size: x-small;*/
  /*vertical-align: text-top;*/
  font-weight: bold;
  margin-right: 5px;
}
.before-checkmark::before {
  content: "\02714";
  font-weight: bold;
  margin-right: 5px;
}
.before-komemark::before {
  content: "\0274b";
  font-weight: bold;
  margin-right: 5px;
}
.before-bull::before {
  content: "&bull"; /* 「?」\02022 */
  font-weight: bold;
  margin-right: 5px;
}
/* <sup>&lowast;</sup>としてもよい */
.after-new::after { /* lowast, asterisk */
  content: "&lowast";
  /*color: red;*/
  /*font-size: x-small;*/
  vertical-align: text-top;
  font-weight: bold;
  margin-left: 3px;
}

/* ページTopへ
-------------------------------------- */
.page-top {
	position: fixed;
	bottom: 60px;
	right: 20px;
	padding: 10px;
	-ms-filter: "alpha(opacity=25)";
	-moz-opacity: 0.25;
	-khtml-opacity: 0.25;
	opacity: 0.25;
}


/* 
-------------------------------------- */


/* テキストを選択不可に
-------------------------------------- */
body {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Original
====================================== */
/*** color ***
-------------------------------------- *
* transparent * rgba(0,0,0,0.5);
* 0.black	#000000 0,0,0
* f.white	#ffffff 255,255,255
* 1.red		#e60012 230,0,18
* 2.orange	#f39800 243,152,0
* 3.yellow	#fff100 255,241,0
* 4.lightgreen	#8fc31f 143,195,31
* 5.green	#009944 0,153,68
* 6.tealgreen	#009e96 0,158,150
* 7.skyblue	#00a0e9 0,160,233
* 8.blue	#0068b7 0,104,183
* 9.navy	#1d2088 29,32,136
* a.purple	#920783 146,7,131
* b.deeppink	#e4007f 228,0,127
* c.violet	#e5004f 229,0,79

* s0.black	#000000 0,0,0
* sf.white	#ffffff 255,255,255
* s1.red		#ff0000 255,0,0
* s2.orange	#ffa500 250,165,0
* s3.yellow	#ffff00 255,255,0
* s4.lightgreen	#90ee90 144,238,144
* s5.green	#008000 0,128,0
* s6.teal	#008080 0,128,128
* s7.skyblue	#87ceeb 135,206,235
* s8.blue	#0000ff 0,0,255
* s9.navy	#000080 0,0,128
* sa.purple	#800080 128,0,128
* sb.deeppink	#ff1493 255,20,147
* sc.violet	#ee82ee 238,130,238
* sg.gray  #808080 
* sh.silver #c0c0c0 
* si.maroon  #800000 128,0,0
* sj.fuchsia #ff00ff 
* sk.lime  #00ff00 
* sl.olive #808000
* sm.teal  #008080 0,128,128
* sn.aqua  #00ffff 0,255,255

/*  
-------------------------------------- */
.none {display: none !important;}
.hidden {visibility: hidden !important;}

.static   {position: static;}   /* 初期値 */
.relative {position: relative;} /* 現在位置を基準に相対的な位置を決める */
.absolute {position: absolute;} /* 親要素を基準に絶対的な位置を決める */
.fixed    {position: fixed;}    /* 画面のきまった位置に固定する */

.right {right: 0px;}
.top   {top: 0px;}
.left  {left: 0px;}
.bottom {bottom: 0px;}

.p15px {padding: 15px;}
.p025rem {padding: 0.25rem;}
.m15px {margin: 15px;}
.m025rem {margin: 0.25rem;}

/* Text spacing
 ------------------------------ */
.line-spacing--1em {line-height: 0em;} /* 行が重なる */
.line-spacing-0em {line-height: 1em;} /* 行間:0  */
.line-spacing-01em {line-height: 1.1em;}
.line-spacing-012em {line-height: 1.12em;}
.line-spacing-025em {line-height: 1.25em;} /* 行間:1/4行  */
.line-spacing-05em {line-height: 1.5em;}
.line-spacing-1em {line-height: 2em;} /* 行間:1行分  */

.letter-spacing--1em {letter-spacing: -1em;} /* 文字が重なる */
.letter-spacing-0em {letter-spacing: 0em;} /* 文字間:0  */
.letter-spacing-01em {letter-spacing: 0.1em;}
.letter-spacing-012em {letter-spacing: 0.12em;}
.letter-spacing-025em {letter-spacing: 0.25em;} /* 文字:1/4行  */
.letter-spacing-05em {letter-spacing: 0.5em;}
.letter-spacing-1em {letter-spacing: 1em;} /* 文字間:1文字分  */


/* Priority 0>1>2>･･･>9>99
 ------------------------------ */
.z-0 {z-index: 999;}
.z-1 {z-index: 90;}
.z-2 {z-index: 80;}
.z-3 {z-index: 70;}
.z-4 {z-index: 60;}
.z-5 {z-index: 50;}
.z-6 {z-index: 40;}
.z-7 {z-index: 30;}
.z-8 {z-index: 20;}
.z-9 {z-index: 10;}
.z-99 {z-index: 0;}

/* text color
 ------------------------------ */
.text-{color: ;}
.text-black{color: black;}   /* #000000 */
.text-gray{color: gray;}     /* #808080 */
.text-silver{color: silver;} /* #c0c0c0 */
.text-white{color: white;}   /* #ffffff */

.text-red{color: red;}       /* #ff0000 */
.text-green{color: green;}   /* #008000 */
.text-blue{color: blue;}     /* #0000ff */
.text-yellow{color: yellow;} /* #ffff00 */

.text-fuchsia{color: fuchsia;} /* #ff00ff */
.text-purple{color: purple;} /* #800080 */
.text-lime{color: lime;}     /* #00ff00 */
.text-navy{color: navy;}     /* #000080 */
.text-aqua{color: aqua;}     /* #00ffff */

.text-olive{color: olive;}   /* #808000 */
.text-teal{color: teal;}     /* #008080 */

/* http://www.tohoho-web.com/wwwcolor.htm */

/* background-color
 ------------------------------ */
.bg-transparent{background-color: transparent;}

.bg-black{background-color: black;}
.bg-gray{background-color: gray;}
.bg-silver{background-color: silver;}
.bg-white{background-color: white;}

.bg-red{background-color: red;}
.bg-orange{background-color: orange;}
.bg-yellow{background-color: yellow;}
.bg-lightgreen{background-color: lightgreen;}
.bg-green{background-color: green;}
.bg-teal{background-color: teal;}
.bg-skyblue{background-color: skyblue;}
.bg-blue{background-color: blue;}
.bg-navy{background-color: navy;}
.bg-purple{background-color: purple;}
.bg-deeppink{background-color: deeppink;}
.bg-violet{background-color: violet;}

/* box size
 ------------------------------ */
.box-{width: ;height:;}
.box-s100{width: 100px;height: 100px;}
.box-s120{width: 120px;height: 120px;}
.box-s150{width: 150px;height: 150px;}
.box-s200{width: 200px;height: 200px;}
.box-s300{width: 300px;height: 300px;}
.box-s400{width: 400px;height: 400px;}
.box-200x100{width: 200px;height: 100px;}
.box-400x100{width: 400px;height: 100px;}
.box-400x200{width: 400px;height: 200px;}
.box-auto100{width: auto;height: 100px;}
.box-auto120{width: auto;height: 120px;}
.box-auto150{width: auto;height: 150px;}
.box-auto200{width: auto;height: 200px;}
.box-auto300{width: auto;height: 300px;}
.box-auto400{width: auto;height: 400px;}

/* etc.
 ------------------------------ */


/* メディアクエリ-1  bootstrap4
====================================== */
/* 極小デバイス（縦向きモバイル, 576px 未満） */
/* Bootstrapではデフォルトで 'xs' のメディアクエリは存在しない */

/* 小デバイス（横向きモバイル, 576px 以上） */
@media (min-width: 576px) {
}

/* 中デバイス（タブレット, 768px 以上） */
@media (min-width: 768px) {
}

/* 大デバイス（デスクトップ, 992px 以上） */
@media (min-width: 992px) {
}

/* 特大デバイス（ワイド・デスクトップ, 1200px 以上） */
@media (min-width: 1200px) {
}

/* メディアクエリ-2  bootstrap4 逆方向（指定の画面サイズ以下）に進む
====================================== */
/* 極小デバイス（縦向きモバイル, 576px 未満） */
@media (max-width: 575.98px) {
}

/* 小デバイス（横向きモバイル, 768px 未満） */
@media (max-width: 767.98px) {
}

/* 中デバイス（タブレット, 992px 未満） */
@media (max-width: 991.98px) {
}

/* 大デバイス（デスクトップ, 1200px 未満） */
@media (max-width: 1199.98px) {
}

/* 特大デバイス（ワイド・デスクトップ） */
/* 特大のブレークポイントには上限がないので、メディアクエリはなし */

/* メディアクエリ-3  bootstrap4 セグメント単位
====================================== */
/* 極小デバイス（縦向きモバイル, 576px 未満） */
@media (max-width: 575.98px) {
}

/* 小デバイス（横向きモバイル, 576px 以上） */
@media (min-width: 576px) and (max-width: 767.98px) {
}

/* 中デバイス（タブレット, 768px 以上） */
@media (min-width: 768px) and (max-width: 991.98px) {
}

/* 大デバイス（デスクトップ, 992px 以上） */
@media (min-width: 992px) and (max-width: 1199.98px) {
}

/* 特大デバイス（ワイド・デスクトップ, 1200px 以上） */
@media (min-width: 1200px) {
}

/* メディアクエリ-4  bootstrap4 セグメントをまたがる
====================================== */
/* 例 */
/* 中型デバイスから大型デバイスまでのスタイルの適用 */
@media (min-width: 768px) and (max-width: 1199.98px) {
}

