@charset "utf-8";
body {
	margin: 0;
	scroll-padding-top:70px; /* 固定ヘッダの高さ分 */
	font-family: "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo, Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
	}
/*------------　目次　----------*/
#mokuji {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 1px #333333;
}
#mokuji .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #333333;
    color: #ffffff;
    font-weight: bold;
}
#mokuji p {
    margin: 0; 
    padding: 0;
}
#mokuji li{
	list-style:none;
	margin-left: 2.0em;
}
#mokuji li a {
	color: #333333;
	line-height: 2.0em;
}
/*------------　目次　----------*/
/* CSS Document */
#kajo1 ul, #kajo1 ol {
  background: #dadada;/*灰色に*/
  border-radius :8px;
  box-shadow :0px 0px 5px silver;
  padding: 0.5em 0.5em 0.5em 2em;
  list-style-type:none;
}
#kajo1 ul li, #kajo1 ol li {
  line-height: 1.5;
}
#kajo2 ul {
	line-height:2.5em;
}
#kajo2 ul li {
	font-size: 1.2em;
	font-weight: bold;
}
.kajo {
	margin-top: 1.0em;
	padding: 5px 15px 5px 40px;
}
.kajo p {
	line-height: 1.5em;
}
.kosiki{
	font-size: 1.5em;
}
.no-wrap {
    display: inline-block; /* インラインブロック化 */
}
.sample{
	padding: 0.5em 2em;
}
.flame02 {
margin: 2em auto;
padding: 1em;
width: 100%;
color: #000;
background-color: #f5f5f5;
border: 1px solid #ccc;
}
.source{
	font-size: 0.8em;
	text-align:right;
}
.sourcel{
    margin: 0 auto;
    padding-bottom: 1.0em;
    width: 95%;
	font-size: 0.8em;
	text-align:left;
}
table.ttype2 td.tb_bottom_b{
  border-bottom: 2px solid #999999;
}
table.ttype2 th.tb_bottom_b{
  border-bottom: 2px solid #999999;
}
/*------------------------------*/
.toc-001 {
    margin-bottom: 30px;
    padding: 1em 1em 1em 2em;
    border: 1px solid #999;
    background-color: #f7f7f7;
    color: #333333;
}

.toc-001 div {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 5px 0;
}

.toc-001 label::after {
    margin-left: 5px;
    font-size: .8em;
    color: #166c9d;
    content: "[開く]";
    cursor: pointer;
}

.toc-001:has(:checked) label::after {
    content: "[閉じる]";
}

.toc-001 input {
    display: none;
}

.toc-001 ul {
    list-style-type: none;
    margin: 0;
    padding: 0 1.2em;
    overflow: hidden;
}

.toc-001 > ul {
    height: 0;
}

.toc-001:has(:checked) > ul {
    height: auto;
}

.toc-001 ul ul {
    margin-top: 5px;
}

.toc-001 li {
    padding: 5px 0;
}

.toc-001 a {
    color: #166c9d;
}
/*-- ttype1  --*/
table.ttype1 {
	margin-bottom: 3.0em;
    width: 100%;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
	font-size:1.0em;
	line-height: 1.5em;
}
table.ttype1 tr:nth-child(1) {
	background-color:darkkhaki;
	font-size: 1.4em;
	font-weight: bold;
}
table.ttype1 th {
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
}
table.ttype1 td {
    padding: 15px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
}
/*-- ttype2  --*/
table.ttype2 {
    width: 100%;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
	font-size:1.0em;
	line-height: 1.5em;
}

table.ttype2 th {
    padding: 10px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 1.5em;
    text-align:center;
}
table.ttype2 td {
    padding: 15px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
}
/*-- ttype3  --*/
table.ttype3 {
    width: 100%;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
	font-size:1.0em;
	line-height: 1.5em;
}

table.ttype3 th {
    padding: 15px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
	font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5em;
    text-align:center;
}
table.ttype3 td {
    padding: 15px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
}
/*-- ttype4  --*/
table.ttype4 {
	margin-bottom: 3.0em;
    width: 100%;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
	font-size:1.0em;
	line-height: 1.5em;
}
table.ttype4 tr:nth-child(1) {
	background-color:darkkhaki;
	font-size: 1.0em;
	font-weight: bold;
}
table.ttype4 th {
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 1.5em;
    text-align:center;
}
table.ttype4 td {
    padding: 15px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align:right;
}
/* 1列目のスタイル */
table.ttype4 td:nth-of-type(1){
	text-align: right;
	font-weight: bold;
}
/*-- ttype5  --*/
table.ttype5 {
	margin-bottom: 3.0em;
    width: 100%;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
	font-size:1.0em;
	line-height: 1.5em;
}
table.ttype5 th {
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
}
table.ttype5 td {
    padding: 15px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
}
/*-- box --*/
.box0 {
    padding: 0.5em 1em;
    margin: 1em 0;
    font-weight:100;
}
.box0 p {
    margin: 0; 
    padding: 0;
	line-height: 2em;
}
.box1 {
    padding: 0.5em;
    margin: 1.5em 1em;
    border: solid 1.2px #000000;
}
.box1 p {
    margin: 5px 0; 
    padding: 0;
}
.box1 li {
    margin: 5px 0; 
}
@media screen and (max-width: 640px) {
    .box1 li{
        margin: 5px 0; 
    }
}
.box2s {
    padding: 0.3em 1em;
    margin: 2em 0;
	font-size: 1.2em;
    font-weight:normal;
    color: 000000;/*文字色*/
    background:#D2D2D2;
    border: solid 3px #D2D2D2;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.box2s p {
    margin: 0; 
    padding: 0;
}
.box2 {
    padding: .8em 1em;
    margin: 1em 1em;
	font-size: 1.1em;
    font-weight:normal;
    color: #000000;/*文字色*/
    background: #FFF;
    border: solid 2px #000000;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.box2 p {
    margin: 5px 0; 
    padding: 0;
}
/*-----box2skyb-----*/
.box2skyb {
    padding: 1em 0.5em;
    margin: 1.5em 1em;
	font-size: 1.2em;
    font-weight:bold;
	line-height: 2em;
    color: #000000;/*文字色*/
    background: #E9F0F7;
    border: solid 3px #6495ED;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.box2skyb p {
    margin: 0.2em 1.0em; 
    padding: 0;
}
.box2skyb li{
	margin: 0; 
    padding: 0;
}
/*----------*/
.titleblock {
    padding: 0.5em 1em;
    margin: 2em 1em;
	font-size: 1.2em;
    font-weight:bold;
	line-height: 2.0em;
    color: #000000;/*文字色*/
    background: #FFF2BF;
    border: solid 2px #000000;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.titleblock p {
    margin: 0; 
    padding: 0;
	text-decoration: underline;
}
.listblock {
	padding: 0.3em 0.8em;
    margin: 1.5em 1em;
	font-size: 1.1em;
    font-weight:bold;
    background: #cde4ff;/*背景色*/
}
.listblock li{
	margin: 0;
}
.box3 {
    padding: 0.5em 1em;
    margin: 2em 1em;
    color: #000000;
    background: #BFFFC2;/*背景色*/
}
.box3 p {
    margin: 0; 
    padding: 0;
	line-height: 2em;
}
.box3 li{
	line-height: 2.0em;
	list-style: disc;
	list-style-position:inside; 
}
.box3red {
    padding: 0.5em 1em;
    margin: 2em 1em;
    color: #000000;
    background: #FFD1D1;/*背景色*/
}
.box3red p {
    margin: 0; 
    padding: 0;
	line-height: 2em;
}
.box3red li{
	line-height: 2.0em;
	list-style: disc;
	list-style-position:inside; 
}
.boxbgc-skyblue{
	margin: 2em 1em;
	color: #000000;
    background:#BBD1FF;/*背景色*/
}
.boxbase {
    padding: 0.5em 1em;
}
.boxbase p {
    margin: 0; 
    padding: 0;
	line-height: 2em;
}
.boxbase li{
	line-height: 2.0em;
	list-style: disc;
	list-style-position:inside; 
}
.box5 {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: double 5px #4ec4d3;
}
.box5 p {
    margin: 0; 
    padding: 0;
}
.box5 li{
	line-height: 2.0em;
	list-style: disc;
	list-style-position:inside; 
}
.box24 {
    position: relative;
    padding: 0.5em 0.7em;
    margin: 2em 0;
    background: #CFE0FF;
    color: #000000;
}
.box24:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #CFE0FF;
    width: 0;
    height: 0;
}
.box24 p {
    margin: 0; 
    padding: 0;
}
.box26 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px crimson;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 1.1em;
    background: #FFF;
    color:crimson;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
	color:crimson;
}

.box30 {
    margin: 2em 0;
    background: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box30 .box-title {
    font-size: 1.2em;
    background: #5fc2f5;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box30 p {
    padding: 15px 20px;
    margin: 0;
}
.box27 {
    position: relative;
    margin: 3em 0;
    padding: 0.5em 1em;
    border: solid 3px #003779;
}
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 1.1em;
    background:#003779;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box27 p {
    margin: 0; 
    padding: 0;
	color:#003779;
	font-weight:normal;
}
.box29 {
    margin: 2em 0;
    background: #F6E1FF;
}
.box29 .box-title {
    font-size: 1.1em;
    background:#62006B;
    padding: 4px;
    text-align:left;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box29 p {
    padding: 15px 20px;
    margin: 0;
}
.box29dai {
    margin: 2em 0;
    background:#DFFFD7;
}
.box29dai .box-title {
    font-size: 1.1em;
    background:#4D7400;
    padding: 4px;
    text-align:left;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box29dai p {
    padding: 15px 20px;
    margin: 0;
}
.box29red {
    margin: 2em 0;
    background:#FFE0E0;
}
.box29red .box-title {
    font-size: 1.1em;
    background:#930057;
    padding: 4px;
    text-align:left;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box29red p {
    padding: 15px 20px;
    margin: 0;
}
.txt-centering{text-align: center}
/*-- btn --*/
a.btn{
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
a.btn-border {
  border: 2px solid #000;
  border-radius: 0;
  background: #fff;
}

a.btn-border:hover {
  color: #fff;
  background: #000;
}
/*-- btn --*/
a.btn_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  position: relative;
  background: #228bc8;
  border: 1px solid #228bc8;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn_03:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.btn_03:hover {
  background: #fff;
  color: #228bc8;
}
a.btn_03:hover:before {
  border-top: 2px solid #228bc8;
  border-right: 2px solid #228bc8;
}
.related-article {
    padding: 1em 1em;
    margin: 2em 1em;
    background: #f0f7ff;
    border: dashed 2px #5b8bd0;/*点線*/
}
.related-article p {
    margin: 0; 
    padding: 0;
}
/* 箇条書き　*/
ul.kajo {
    line-height: 2.0em;
}
ul.kajono li {
    margin-left: 2em;
    padding-left: 0;
	list-style-type:decimal;
    line-height: 1.5em;
}
ul.kajono p {
    margin-left: 1.5em;
    margin-right: 1.0em;
}
ul.kajoroman li {
    margin-left: 3.0em;
	list-style-type:lower-roman;
}
ul.kajodisc li {
    margin-left: 2em;
    padding-left: 0em;
	list-style-type:disc;
    line-height: 1.5em;
}
ul.kajodisc p {
    margin-left: 1.8em;
    margin-right: 0.5em;
}
ul.kajonone {
    padding-left: 2em;
    list-style-type:none!important;
    line-height: 2.0em;
}
ul.kajoiroha li {
    margin-left: 3em;
    padding-left: 0em;
	list-style-type: katakana-iroha;
    line-height: 1.5em;
}
ul.kajolroman li {
    margin-left: 4em;
    padding-left: 0em;
	list-style-type: lower-roman;
    line-height: 1.5em;
}
@media screen and (max-width: 640px) {
    ul.kajodisc li {
        margin-left:1em;
    }
    ul.kajodisc p {
        margin-left: 1.5em;
        margin-right: 1.0em;
    }
    ul.kajono li {
        margin-left: 1.5em;
    }
    ul.kajono p {
        margin-left: 1.5em;
    }
    ul.kajoiroha li {
        margin-left: 2.8em;
    }
}